HKLM\HARDWARE

HKLM\HARDWARE is the odd man out in the Registry for two reasons. First of all, all its keys are volatile, meaning they’re never stored on disk. This is because when Windows 2000 or NT 4.0 boots, they can interrogate the system to find out what hardware’s present, but they need to keep track of that information before any device drivers have actually been loaded. Since there’s no requirement that Registry hives actually be stored in a hive file[58] (instead of in RAM), loading HARDWARE into RAM as a volatile hive makes it accessible to boot-time components and the driver loading phase. Because its contents are volatile, changes you make to this hive won’t be stored on disk.

The second odd thing about this subkey is that almost all its values are stored as REG_BINARY values. This makes it difficult to edit values in this tree. That’s actually a good thing, because doing so can suddenly render your machine inoperable. Since the system creates this tree from scratch each time it boots, there won’t be any permanent damage, but you should still treat this tree as read-only.

HARDWARE\DESCRIPTION

The DESCRIPTION subkey stores data to represent what actual physical hardware is present when the system first starts up. This list may have items on it that don’t appear in the DEVICEMAP or RESOURCEMAP subkeys; for example, a SCSI adapter that fails to initialize will be in DESCRIPTION but may not appear in either of the others.

The data in DESCRIPTION comes from the hardware ...

Get Managing The Windows 2000 Registry now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.