A control set contains configuration data used to control the system, such as a list of which device drivers and services to load and start. Control sets are modified whenever you change the configuration of your computer. However, old versions of the control sets are not deleted. This lesson discusses the Windows 2000 control sets and how they are used with the Last Known Good Process when you have problems restarting your computer due to inappropriate changes in your configuration.
After this lesson, you will be able to
Estimated lesson time: 15 minutes
Control sets are stored as subkeys of the registry key HKEY_LOCAL_MACHINE\ SYSTEM. The registry might contain several control sets depending on how often you change or have problems with system settings. A typical Windows 2000 installation contains the following control set subkeys: Clone, ControlSet001, ControlSet002, and CurrentControlSet.
The CurrentControlSet subkey is a pointer to one of the ControlSet00x keys. The Clone control set is a clone of the control set used to initialize the computer (either Default or LastKnownGood), and is created by the kernel initialization process each time you start your computer. The Clone control set isn't available after you log on.
To better understand control sets, you should know about the registry subkey HKEY_LOCAL_MACHINE\ SYSTEM\Select. The entries contained in this subkey include Current, Default, Failed, and LastKnownGood.
Each of these entries in HKEY_LOCAL_MACHINE\SYSTEM\Select takes a REG_DWORD data type, and the value for each entry refers to a specific control set. For example, if the value for the Current entry is set to 0x1, the CurrentControlSet points to ControlSet001. Similarly, if the value for the LastKnownGood entry is set to 0x2, the LastKnownGood control set points to ControlSet002.
If you change the Windows 2000 configuration to load a driver and have problems rebooting, you can use the last known good process to recover your working configuration. The last known good process uses the LastKnownGood control set, stored in the registry, to boot Windows 2000.
Windows 2000 provides two configurations for starting a computer, Default and LastKnownGood. The upper portion of Figure 6.10 shows the events that occur when you make configuration changes to your system. Any configuration changes (for example, adding or removing drivers) are saved in the Current control set.
Figure 6.10 Using the Default and LastKnownGood configurations
After you reboot the computer, the kernel copies the information in the Current control set to the Clone control set during the kernel initialization phase. When you successfully log on to Windows 2000, the information in the Clone control set is copied to the LastKnownGood control set, as shown in the lower part of Figure 6.10.
If you experience startup problems that you think might relate to Windows 2000 configuration changes, shut down the computer without logging on, and then restart it. When you are prompted to select the operating system to start from a list of the operating systems specified in the Boot.ini file, press F8 to open the Windows 2000 Advanced Options Menu screen. Then select the Last Known Good Configuration option, or after you select Windows 2000 on the Please Select The Operating System To Start screen, you can press Spacebar to open the Hardware Profile/Configuration Recovery Menu screen, and then press L to select Last Known Good Configuration.
The next time you log on, the Current configuration is copied to the Default configuration. If your configuration changes work correctly, the next time you log on, the Current configuration is copied to the Default configuration. If your configuration changes don't work, you can restart and use the Last Known Good Configuration option to log on.
Table 6.7 describes the purposes of the Default and LastKnownGood configuration control sets.
Table 6.7 Default and LastKnownGood Configurations Control Sets
|Default||Contains information that the system saves when a computer shuts down. To start a computer using the default configuration, select Windows 2000 on the Please Select The Operating System To Start menu that the Boot.ini file presents.|
|LastKnownGood||Contains information that the system saves after a successful logon. The LastKnownGood control set loads only if the system is recovering from a severe or critical device driver loading error or if it is selected during the boot process.|
Table 6.8 lists problems and their solutions provided in the Last Known Good Configuration option.
Table 6.8 Situations for Using the Last Known Good Configuration Option
|After a new device driver is installed, Windows 2000 restarts, but the system stops responding.||Use the Last Known Good Configuration option to start Windows 2000 because the LastKnownGood control set doesn't contain any reference to the new, and possibly faulty, driver.|
|You accidentally disable a critical device driver (such as the ScsiPort driver).||Some critical drivers are written to keep users from making the mistake of disabling them. With these drivers, the system automatically reverts to the LastKnownGood control set if a user disables the driver. If the driver doesn't automatically cause the system to revert to the LastKnownGood control set, you must manually select the Last Known Good Configuration option.|
Using the LastKnownGood control set does not help in the following situations:
Starting Windows 2000 using the LastKnownGood control set overwrites any changes made since the last successful boot of Windows 2000.
In this lesson, you learned that a control set contains configuration data used to control the system, such as a list of which device drivers and services to load and which to start. Control sets are stored as subkeys of the registry key HKEY_LOCAL_MACHINE\SYSTEM, and a typical Windows 2000 installation contains the following control sets: Clone, ControlSet001, ControlSet002, and CurrentControlSet. The registry might contain several other control sets, depending on how often you have changed or had problems with system settings.
You also learned that if you make incorrect changes to a computer's configuration, you might have problems restarting your computer. If you can't restart your computer because of a configuration change, Windows 2000 provides the Last Known Good Process so that you don't have to reinstall your Windows 2000 software to restart your computer. You can boot your computer using the LastKnownGood control set. The LastKnownGood control set contains the configuration settings from the last successful restart and logon to your computer. After restarting your computer using the LastKnownGood control set, you can reconfigure the computer. The last known good process uses the LastKnownGood control set, which is stored in the registry, to restart Windows 2000.