Microsoft Windows Registry Guide, Second Edition

SYSTEM

The subkeys in HKLM\SYSTEM are ControlSetN, where N is a number beginning with 001. These are control sets, and they describe the computer's configuration. Of all the configuration data stored in the registry, this is by far the most important. Windows maintains at least two control sets to make sure that the operating system can always start. If the first fails, you can start with the second by choosing Last Known Good Configuration from the boot options menu.

The subkey CurrentControlSet is a link to the current control set ControlSetN. Windows identifies the current control set using the key HKLM\SYSTEM\Select. The REG_DWORD value Current contains the number of the current control set. The REG_DWORD value LastKnownGood contains the number of the last control set that worked properly. This is the control set that Windows loads when users choose Last Known Good Configuration.

All the control sets have a similar organization and similar contents. The sections following this one describe the contents of CurrentControlSet, which is a link to one of the numbered control sets.

NOTE

The following sections provide an overview of the contents of control sets. The Windows Resource Kit Registry Reference, available at http://go.microsoft.com/fwlink/?linkid=4543, provides detailed descriptions of the many settings contained in them.

CurrentControlSet\Control

The subkey CurrentControlSet\Control contains values that control how Windows starts. It defines the components to load and their configurations. The following list describes many of the interesting subkeys of Control:

CurrentControlSet\Enum

The subkey CurrentControlSet\Enum is a database of all the computer's devices that Windows recognized. This database stores configuration data for hardware devices separately from the device drivers they use. This database is an important part of Plug and Play in Windows.

TIP

The most common reason to hack CurrentControlSet\Enum is to remove devices that don't appear in Device Manager. Windows provides a better, safer alternative. In Device Manager, click View, Show Hidden Devices; and then remove the devices you want to remove from the Enum subkey.

CurrentControlSet\Hardware Profiles

The subkey CurrentControlSet\Hardware Profiles stores hardware profiles, which are usually created for laptop computers that have configurations for their docked and undocked states. A hardware profile contains changes to the original hardware profile configured in HKLM\SOFTWARE and HKLM\SYSTEM keys. Windows doesn't change the original value, so it can change hardware profiles easily. You use the Hardware Profiles dialog box to create and choose hardware profiles. Also, Windows automatically creates hardware profiles when it finds scenarios that require them.

Each hardware profile is in the subkey Hardware Profiles\N, where N is an incremental number beginning with 0000. These subkeys look like stripped-down versions of HKLM\SOFTWARE and HKLM\SYSTEM keys. They contain only those values that the hardware profile changes, though. In other words, when Windows uses a hardware profile, the settings in the profile overwrite the settings in SOFTWARE and SYSTEM. They represent a powerful way to customize the operating system for different hardware scenarios, which is particularly important to laptop users.

The subkey HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current is a link to the current hardware profile. HKCC is also a link to the current hardware profile (which explains why you don't find a separate section for HKCC in this appendix). Changing a value in any of these three locations changes the same value in the remaining two locations.

Windows maintains information about all its hardware profiles in the key HKLM \SYSTEM\CurrentControlSet\Control\IDConfigDB. This key contains the REG_DWORD value CurrentConfig, which indicates the number of the current hardware profile. The subkey Hardware Profiles in IDConfigDB defines each hardware profile in further detail. For example, each subkey in Hardware Profiles defines the friendly name of the hardware profile.

CurrentControlSet\Services

The subkey CurrentControlSet\Services defines services, such as device drivers, file system drivers, and Win32 services. The settings differ for each service. Each subkey in the Services key has the name of the service that uses it. This is frequently the name of the file from which Windows loads the service. Some of the subkeys in Services represent devices and services that are actually installed and running on the computer. Others aren't installed or aren't enabled. While different services might have unique values and subkeys, they all have the following values and subkeys in common:

Категории