Microsoft Windows Registry Tutorial

By Xah Lee. Date: . Last updated: .

The registry is a database that stores settings and options.

WARNING: some mistakes in editing registry can make part of your Windows not work properly. Be careful.

Launching Registry Editor

To look at registry, launch the Registry Editor. Type ❖ Window+r to launch the run dialog, then type “regedit”.

Windows 10 Registry Editor 2020-03-26 xf6zf
Windows 10 Registry Editor 2020-03-26 xf6zf

Backup

Before you do anything, do a backup.

In Registry Editor, use the menu 〖File ▸ Export〗 to make a backup.

Save the backup as registry_backup.reg. This might take 2 minutes. On my machine, the saved file size is 458 megabytes.

Data Structure

Registry data are called key and value pairs. The “key” is like folders. Key can contain other keys. The “value” is like files. A key can contain many other keys and values.

At the root level, there are the following keys. (Note: the “Computer” shown in Registry Edit root is not a key.)

NameAbbreviation
HKEY_CLASSES_ROOTHKCR
HKEY_CURRENT_USERHKCU
HKEY_LOCAL_MACHINEHKLM
HKEY_USERSHKU
HKEY_CURRENT_CONFIG

Each of the above is called a “hive”.

A “value” has several possible types. Here is a list of possible types:

Possible Types for Registry Value
Type NameExplanation
REG_NONENo type
REG_SZstring
REG_EXPAND_SZexpandable string. Values between % char are expanded as environment variables
REG_BINARYBinary data
REG_DWORD/REG_DWORD_LITTLE_ENDIANA integer, ranging from 0 to 2^32-1, with byte order being little-endian.
REG_DWORD_BIG_ENDIANA integer, ranging from 0 to 2^32-1, with byte order being big-endian
REG_LINKsymbolic link (char set in UNICODE)
REG_MULTI_SZA is a array of strings
REG_RESOURCE_LISTResource list
REG_FULL_RESOURCE_DESCRIPTORResource descriptor
REG_RESOURCE_REQUIREMENTS_LISTResource Requirements List
REG_QWORD/REG_QWORD_LITTLE_ENDIANA QWORD value, a 64-bit integer (either big- or little-endian, or unspecified) (Introduced in Windows 2000)

Microsoft Windows Tutorial

If you have a question, put $5 at patreon and message me.