What are Control Sets? What is CurrentControlSet?

Last reviewed: May 5, 1997
Article ID: Q100010
The information in this article applies to:

- Microsoft Windows NT operating system version 3.1 - Microsoft Windows NT operating system version 3.1 - Microsoft Windows NT operating system version 3.1

WARNING: Using Registry Editor incorrectly can cause

    serious, system-wide problems that may require you to
    reinstall Windows NT to correct them. Microsoft cannot
    guarantee that any problems resulting from the use of
    Registry Editor can be solved. Use this tool at your own
    risk.

A control set contains system configuration information such as device drivers and services. You may notice several instances of control sets when viewing the Registry. Some are duplicates or mirror images of others and some are unique. This article describes how to find control sets, which ones are important, and why.

Control sets are stored in the HKEY_LOCAL_MACHINE subtree, under the SYSTEM key. There may be several control sets depending on how often you change system settings or have problems with the settings you choose. A typical installation of Windows NT will contain four:

   \ControlSet001
   \ControlSet002
   \CurrentControlSet
   \Clone

ControlSet001 may be the last control set you booted with, while ControlSet002 could be what is known as the last known good control set, or the control set that last successfully booted Windows NT. The CurrentControlSet subkey is really a pointer to one of the ControlSetXXX keys. Clone is a clone of CurrentControlSet, and is created each time you boot your computer by the kernel initialization process. In order to better understand how these control sets are used, you need to be aware of another subkey, Select.

Select is also under the SYSTEM key. Select contains the following values:

   Current
   Default
   Failed
   LastKnownGood

Each of these values contain a REG_DWORD data type and refer to specifically to a control set. For example, if the Current value is set to 0x1, then CurrentControlSet is pointing to ControlSet001. Similarly, if LastKnownGood is set to 0x2, then the last known good control set is ControlSet002. The Default value usually agrees with Current, and Failed refers to a control set that was unable to boot Windows NT successfully.

The most valuable and reliable control set is CurrentControlSet. If you need to modify system settings in the Registry, CurrentControlSet is the best subkey to choose because you know that it is the correct control set. You also know that if your modifications harm your system configuration, you will still be able to boot using the last known good control set.

If you are not sure where to look under the control set for a particular parameter, you can use the Find Key option under the View menu of Registry Editor. Each control set contains two subkeys: Control and Services. Control contains miscellaneous system information such as the size and location of the paging file. Services contains device driver information such as file system drivers, kernel drives, and status information for each.


Additional query words: prodnt
Keywords : kbother ntdriver
Version : 3.1
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: May 5, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.