Skip to content

Glossary

ControlSet and CurrentControlSet

The numbered configuration sets in the SYSTEM hive; CurrentControlSet is a runtime link that does not exist in an offline hive file.

The SYSTEM registry hive stores the machine's boot configuration — services, drivers, device enumeration, time zone, computer name — inside numbered subkeys called control sets: ControlSet001, and sometimes ControlSet002 or more. Each is a complete copy of that configuration.

HKLM\SYSTEM\CurrentControlSet is not a real key on disk. It is a link that Windows creates at boot and points to whichever control set is in use. When you load a SYSTEM hive offline in a forensic tool, CurrentControlSet therefore does not exist, and you must work out which numbered set was active yourself.

The answer is in the HKLM\SYSTEM\Select key. Its Current value holds the number of the control set in use (1 means ControlSet001), while LastKnownGood, Default and Failed record the other roles. Always read Select\Current before interpreting paths such as Services, Enum\USBSTOR or Control\Session Manager\AppCompatCache; an older, non-current set may hold stale data that looks like live configuration.

Most tools resolve this automatically, but when a write-up or cheat sheet quotes a CurrentControlSet path, remember to translate it for offline analysis. This applies to Services, ShimCache and USB device history, all of which live under a control set. Comparing sets can also be useful: differences between them sometimes reveal recent configuration changes, and the key's LastWrite time helps date them.

Related artifacts