注册表的数据结构
注册表是一个分层数据库,其中包含对 Windows 的操作以及 Windows 上运行的应用程序和服务至关重要的数据。 数据以树格式进行结构化。 树中的每个节点称为 键。 每个键可以同时包含 子项 和数据条目(称为 值)。
注册表由键(主键/根键)、子项(子键)和值(键值)构成。
主键:注册表最顶层的分支文件夹。
子项:根键当中的子文件夹,即注册表项。
键值由三部分组成:名称、数据类型、数据。
键值数据类型
|
|
| 字符串值 |
REG_SZ |
| 32位值(4个字节) |
REG_DWORD |
| 64位值(5个字节) |
REG_QWORD |
| 多字符串值 |
REG_MULTI_SZ |
| 可扩充字符串值 |
REG_EXPAND_SZ |
注册表的主键的含义
HKEY_CLASSES_ROOT:包含启动应用程序所需的全部信息,包括扩展名,应用程序与文档之间的关系,驱动程序名,DDE和OLE信息,类ID编号和应用程序与文档的图标等。
HKEY_CURRENT_USER:包含当前用户的配置信息,比如环境变量,桌面设置等
HKEY_LOCAL_MACHINE:包括安装在计算机上的硬件和软件的信息
HKEY_USERS:包含计算机的所有用户配置信息
HKEY_CURRENT_CONFIG:当前硬件的配置信息。
注册表主键简写
| 主键 |
简写 |
| HKEY_CLASSES_ROOT |
HKCR |
| HKEY_CURRENT_USER |
HKCU |
| HKEY_LOCAL_MACHINE |
HKLM |
| HKEY_USERS |
HKU |
| HKEY_CURRENT_CONFIG |
HKCC |
CurrentControlSet、ControlSet001、ControlSet002含义与关联
ControlSet001:系统真实的配置信息
ControlSet002:最后一次成功启动的配置信息
CurrentControlSet:系统运行时的配置信息
一、系统启动时,从 ControlSet001 复制到 CurrentControlSet 中。
二、系统运行时,修改的都是 CurrentControlSet 中的信息。
三、系统重启时,从 CurrentControlSet 复制到 ControlSet001 中。
四、系统正常启动时,从 ControlSet001 和 CurrentControlSet 复制到 ControlSet002 。
五、开机选择“最近一次正确配置”时,从 ControlSet002 复制到 CurrentControlSet 中。
配置单元文件:
SYSTEM:对应的注册表分支为 HKEY_LOCAL_MACHINE\SYSTEM,对应的存储文件是 C:\Windows\System32\config\SYSTEM 文件中,其作用是存储计算机硬件和系统的信息。
SECURITY:对应的注册表分支为 HKEY_LOCAL_MACHINE\SECURITY,对应的存储文件是 C:\Windows\System32\config\SECURITY 文件中,保存了安全性设置信息。
SOFTWARE:对应的注册表分支为 HKEY_LOCAL_MACHINE\SOFTWARE,对应的存储文件是 C:\Windows\System32\config\SOFTWARE 文件中,保存安装软件的信息。
SAM:对应的注册表分支为 HKEY_LOCAL_MACHINE\SAM,对应的存储文件是 C:\Windows\System32\config\SAM 文件中,保存了用户的密码信息,数据保护无法查看。
DEFAULT:对应的注册表分支为 HKEY_USERS\.DEFAULT,对应的存储文件是 C:\Windows\System32\config\DEFAULT 文件中,默认用户的配置信息
注册表文件都是没有扩展名的,其他带.log、.log1、.log2扩展名的都是注册表的日志文件
在 C:\Windows\System32\config\RegBack 目录下的是备份的注册表文件,和XP相比,Win7 开始多了 Components文件。
从 Windows 10 版本 1803 开始,系统注册表不再备份到 RegBack 文件夹
win10 开启自动备份注册表
rem win10 开启自动备份注册表后,注册表恢复文件夹RegBack里的文件大小全是0KB
reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Configuration Manager" /v "EnablePeriodicBackup" /t REG_DWORD /d "1" /f
手动备份注册表
REG SAVE HKLM\SYSTEM SYSTEM
REG SAVE HKLM SECURITY SECURITY
REG SAVE HKLM\SOFTWARE SOFTWARE
REG SAVE HKLM\SAM SAM
REG SAVE HKU\.DEFAULT DEFAULT