How to manage Windows startup?

Introduction

It's a good practice to frequently inspect the startup entries for security.
The System Configuration Utility will not list applications loaded in all possible startup locations.
Most other entry points are hidden and unknown to the end-user.
This article will provide a clear picture about the start locations of applications and drivers.
Some of the locations mentioned in this article may not apply to Windows 95/98/ME systems.

Startup locations

HKCU refers to HKEY_CURRENT_USER
HKLM refers to HKEY_LOCAL_MACHINE

Note Items marked in blue are those which MSCONFIG can manage.

Using Windows Defender to manage Windows Startup

Windows Defender (included by default in Windows Vista) helps you inspect/manage your startup programs.

Advanced stuff - additional Windows Startup launch-points

Silentrunners.org covers many more startup launch-points.
It is possible that a malware is present in any of the locations described.
Additionally, it's worth verifying the contents of ShellExecuteHooks key here:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ShellExecuteHooks

Excellent utility to manage Windows startup

Inspecting all the keys manually may be a tiring task. Your best bet is to use a third-party software to inspect the startup. Though there are many freeware utilities which can track/log the startup entries, the following tool is very impressive.

Autoruns - This utility covers most of the start locations. It allows you to edit the startup for other user profiles (Windows 2000/XP/Vista) as well. This tool is my personal favorite.

Additionally, you can enable or disable certain shell extensions, Browser Helper Objects, other Internet Explorer add-ons, drivers, Winsock providers etc.

Caution: Do NOT delete or disable the entry named Userinit. Doing so will result in your inability to logon to any user account in the system.