Loading the Kernel

When you press ENTER on the Hardware Profile/Configuration Recovery menu or the boot loader automatically makes the selection for you, the computer is in the Kernel load phase of Windows NT startup. You see several dots as the boot loader loads the Windows NT Kernel (Ntoskrnl.exe) and the hardware adaption layer (Hal.dll) into memory. It does not initialize these programs yet. Next, the boot loader loads the Registry key HKEY_LOCAL_MACHINE\SYSTEM from %systemroot%\System32\Config\System.

At this point, the boot loader creates the control set it will use to initialize the computer. The value in the HKEY_LOCAL_MACHINE\SYSTEM\Select subkey determines which control set in HKEY_LOCAL_MACHINE\SYSTEM to use. The loader uses the control set identified by the Default value, unless you are starting by using the Last Known Good Configuration. In this case, the value under LastKnownGood specifies the control set. Based on your selection and the value of the corresponding Select subkey, the loader determines which ControlSet00x to use. It sets the value of Current in the Select subkey to the number of the control set it will use.

See "Control Sets in the Registry," presented later in this chapter, for more information about the Select subkey and control sets.

At this time, the boot loader scans all of the services in the Registry subkey HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services for device drivers with a Start value of 0x0, which indicates that they should be loaded but not initialized. Device drivers with these values are typically low-level hardware device drivers, such as hard disk device drivers. The Group value for each device driver determines the order in which the boot loader loads them. The Registry subkey HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ ServiceGroupOrder defines the loading order.

On x86-based computers, the loading of these device drivers into memory is done using BIOS INT 13 calls in real mode (or by Ntbootdd.sys).

On RISC-based computers, OSLOADER calls firmware primitives to find and load the critical files into memory.

The Windows NT Workstation Resource Kit CD contains more information about the Registry in the Help file Regentry.hlp. When you install the Resource Kit, double-clicking the Registry Help File icon opens the Regentry.hlp.