Where is the Registry stored in Windows? I want to find the files shown when running regedit.exe (Windows Registry Editor).


If I think I understand what you are saying, the registry is kept in %SystemRoot%\System32\config whilst individual users settings are located at %UserProfile%\Ntuser.dat.

If I have got the wrong end of the stick here, please rephrase your question and I will be happy to help.

| improve this answer | |
  • 13
    Don't forget %UserProfile%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat for per-user file associations (HKCR\Software\Classes). – user1686 Feb 20 '10 at 20:32
  • 3
    A great resource for additional info and to support William Hilsum and grawity answers see below link: msdn.microsoft.com/en-us/library/ms724877%28v=vs.85%29.aspx – Tek'eek Apr 15 '13 at 4:23

On disk, the Windows Registry isn’t simply one large file but a set of discrete files called hives. Each hive contains a Registry tree, which has a key that serves as the root (i.e., starting point) of the tree. Subkeys and their values reside beneath the root.

Location of Windows registry files The location of these registry hives are as follows:

HKEY_LOCAL_MACHINE \SYSTEM : \system32\config\system

HKEY_LOCAL_MACHINE \SAM : \system32\config\sam

HKEY_LOCAL_MACHINE \SECURITY : \system32\config\security

HKEY_LOCAL_MACHINE \SOFTWARE : \system32\config\software

HKEY_USERS \UserProfile : \winnt\profiles\username

HKEY_USERS.DEFAULT : \system32\config\default

enter image description here

Some hives are volatile and don’t have associated files. The system creates and manages these hives entirely in memory; the hives are therefore temporary in nature. The system creates volatile hives every time the system boots. Examples are:


These files are database files, and only RegEdit, Regedit32 and the Kernel32 can read them. The primary tool in Windows 10/8/7 for working directly with the registry is Registry Editor. To access it, simply type Regedit in Start Menu Search Bar and hit Enter !

If you need to read more on this, head over to TechNet!

UPDATE: AccidentalADMIN has made a useful comment. He says:

Every Windows got a registry Key which lists every hive in system. Open Regedit and navigate to the following key to get a complete list:



| improve this answer | |

I think the quickest and nicest way to achieve this is using PowerShell.

$ Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\hivelist\

PS: You can navigate through the Registry as if it was a file system. In PowerShell use:

$ cd HKLM: 


$ cd HKCU: 
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.