The device load process
All the devices that are to be loaded during the system startup are listed in the Registry. The Registry includes information about each device in:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<device>
In this location, you will find several values that describe how the device will start up. These values are listed in Table below.
Device and Service Settings in the RegistryValue | Description |
---|---|
Display Name | This string is used to display the name in areas of Windows XP, such as Device Manager or the Services administrative tool. |
Error Control | This value configures how errors will be reported back to the OS. A value of 0 does not report any errors with the device back to the OS. A value of 1 reports
errors normally. A value of 2 makes errors severe and will cause an automatic reboot of the computer to the "Last Known Good Configuration." A value of 3 makes errors critical and will also cause an automatic reboot of the computer to the "Last Known Good Configuration." If the "Last Known Good Configuration" is already being used, then severe errors will enable the computer to continue to boot, but critical errors will start the bug-check routine. |
Group | Devices can be grouped together. This is done mostly for dependencies. If any device in a group fails, then dependent devices will not start up. |
Image Path | This is the path and name of the actual driver file that is used for the device or service. |
Start | This identifies when the device will start up. There are 5 start types: boot (0), system (1), automatic (2), manual (3), and disabled (4). Most devices have boot or system for a start value, but you may find a few that are set to automatic. Most services are set for either automatic or manual. |
Tag | A Tag ID is assigned to the service when it is installed, but is not actually used by the OS. |
Type | Identifies that type of service or device. All devices should have a value of 1. Service types should be; 1 for Kernel device drivers, 2 for File System drivers, 4 for arguments for an adapter, 10 for single process Win32 applications that follow the Service Control Protocol, and 20 for Win32 Services that can share their process with other Win32 Services. |
The service load process
All the services that are to be loaded during the system startup are listed in the Registry. The Registry includes information about each device in the following location:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service>
This is the same location that's used for devices. The biggest difference between devices and services is that devices map out to a physical piece of hardware, while services are only software. The values for services are listed in Table in the previous section.
In this tutorial:
- System Files and the Boot Process
- Power-On Self-Test (POST) Process
- Standard Boot Process for Windows XP
- ntbootdd.sys
- ARC pathnames
- ntdetect.com
- The device load process
- Loading the shell
- Understanding the Boot Process for MS-DOS and Windows 9x
- msdos.sys
- config.sys
- command.com
- autoexec.bat
- win.com and vmm32
- Managing Memory
- Expanded memory
- Upper memory
- himem.sys
- Examining Other Boot Process Files
- system.ini
- win.ini