Registry Structure: Hives, Keys, and Values
The Registry is organized in a hierarchical, tree-like structure, conceptually similar to folders and files in the file system.
Hives: These are the top-level containers, analogous to the root directories of the Registry. Each hive represents a major section of configuration data. The main hives are:
HKEY_LOCAL_MACHINE
(HKLM): Stores system-wide settings related to hardware, operating system configuration, and installed software that applies to all users. These settings are physically stored in several files (without extensions) located in theC:\Windows\System32\config
directory, such asSAM
,SECURITY
,SOFTWARE
, andSYSTEM
.HKEY_CURRENT_USER
(HKCU): Contains settings specific to the currently logged-in user. This includes user preferences, application settings for that user, desktop configuration, environment variables, etc. This hive is physically stored in the user's profile directory, typically atC:\Users\{username}\NTUSER.DAT
.HKEY_USERS
(HKU): Contains theHKEY_CURRENT_USER
hive for the currently logged-on user, as well as hives for other user profiles loaded on the system (including default and system profiles identified by their SIDs).HKEY_CLASSES_ROOT
(HKCR): Primarily deals with file associations, COM object registrations, and UI-related information. It's largely a merged view derived from specific keys within HKLM\Software\Classes and HKCU\Software\Classes.HKEY_CURRENT_CONFIG
(HKCC): Holds information about the hardware profile currently being used by the system, generally derived from keys within HKLM.
Keys / Subkeys: Within each hive, information is organized into Keys and Subkeys. These function like folders and subfolders, providing a logical structure for related settings. For example,
HKCU\Software\Microsoft\Windows
contains numerous subkeys related to the Windows settings for the current user.Values: These are the actual data entries stored within keys. Each value consists of three parts:
Name: An identifier for the specific setting (e.g.,
EnablePrefetcher
). A key can have a "(Default)" value which may or may not contain data.Data Type: Defines the format of the data being stored (see below).
Data: The actual configuration setting or information itself (e.g.,
3
,C:\Program Files\MyApp
,0x00000001
).
Last updated