62

In the Windows registry, how does CurrentControlSet differ from ControlSet001 and ControlSet002? Which should be set when installing for all users?

We are trying to add an environment variable for all users. Is this correct?

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Envinronment
riQQ
  • 9,878
  • 7
  • 49
  • 66
Dan Hewett
  • 2,200
  • 1
  • 14
  • 18

5 Answers5

56

Yes, you only need to update the CurrentControlSet key...

ControlSet001 and ControlSet002 are alternating backups of CurrentControlSet, you don't need to update them.

Edit: As K noted, CurrentControlSet is an alternating symbolic link to either ControlSet001 or ControlSet002. The other key is kept as a backup for the Load Last Known Good Configuration boot option.

Edit 2: See Microsoft KB Article 100010: What are Control Sets? What is CurrentControlSet?
Original page link broken, see archive.org backup page instead.

Agostino
  • 2,723
  • 9
  • 48
  • 65
Gordon Bell
  • 13,337
  • 3
  • 45
  • 64
  • 2
    As the KB article points out, the current ControlSet number is set by the `Select` DWORD in `HKLM\System` – mwfearnley Oct 23 '17 at 14:26
  • 5
    My mistake - `HKLM\System\Select` is a key, and in there is a `Current` DWORD that sets the current ControlSet. – mwfearnley Oct 25 '17 at 07:42
15

CurrentControlSet is technically not a "backup" as Gordon states.
It is a symbolic link to one of the ControlSets on the computer. It always points to the ControlSet that is currently loaded.

Zombo
  • 1
  • 62
  • 391
  • 407
Khb
  • 1,423
  • 9
  • 9
5

Actual symbolic link match is in: HKEY_LOCAL_MACHINE\SYSTEM\Select\.

Jeremy Caney
  • 7,102
  • 69
  • 48
  • 77
mike
  • 51
  • 1
  • 1
2

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

0

The CurrentControlSet subkey is really a pointer to one of the ControlSetXXX keys.

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.

Zombo
  • 1
  • 62
  • 391
  • 407