Featured image of post Windows 注册表使用指南

Windows 注册表使用指南

Guide to windows registry

简介

注册表是Windows系统的管理机制,集中存储管理系统和应用软件的配置。 甚至对于Linux的兼容环境Wine的使用而言,甚至有人说用好注册表比懂Linux更有效。

结构

数据类型

注册表的数据类型主要有以下五种:

显示类型 数据类型 说明
REG_SZ 字符串 文本字串
REG_BINARY 二进制数 不定长度的二进制值,以十六进制显示
REG_DWORD 双字 一个 32 位的二进制值,显示为 8 位的十六进制值
REG_MULTI_SZ 多字符串 含有多个文本值的字符串,此名来源于字符串间用 nul 分隔、结尾两个 nul
REG_EXPAND_SZ 可擴充字符串 含有环境变量的字符串

注册表还有其他的数据类型,但是均不常用:

  • REG_DWORD_BIG_ENDIAN - DWORD 的大头版本
  • REG_DWORD_LITTLE_ENDIAN
  • REG_FULL_RESOURCE_DESCRIPTOR
  • REG_QWORD - DWORD 的四字(64 位)版本
  • REG_FILE_NAME

分支

注册表有五个一级分支:

  • HKEY_CLASSES_ROOT 存储Windows可识别的文件类型的详细列表,以及相关联的程序。
  • HKEY_CURRENT_USER 存储当前用户设置的信息。
  • HKEY_LOCAL_MACHINE 包括安装在计算机上的硬件和软件的信息。
  • HKEY_USERS 包含使用计算机的用户的信息。
  • HKEY_CURRENT_CONFIG 这个分支包含计算机当前的硬件配置信息。

存储

XP及以后注册表配置文件存放在 C:\WINDOWS\SYSTEM32\CONFIG

名称 注册表分支 作用
DEFAULT HKEY_USERS.DEFAULT 缺省启动用户的信息
NTUSER.DAT HKEY_CURRENT_USER 存储用户参数选择的信息(此文件放置于用户个人目录,和其他注册表文件是分开的)
SAM HKEY_LOCAL_MACHINE\SAM 用户及密码的数据库
SECURITY HKEY_LOCAL_MACHINE\SECURITY 安全性设置信息
SOFTWARE HKEY_LOCAL_MACHINE\SOFTWARE 安装的软件信息
SYSTEM HKEY_LOCAL_MACHINE\SYSTEM 存储计算机硬件和系统的信息
USERDIFF HKEY_USERS 管理员对用户强行进行的设置

操作

通常由系统自带的注册表编辑器操作注册表。

.reg文件编辑

注册表可以通过.reg的文件来实现批量导入修改。 .reg文件通常为如下格式,首先声明版本并空一行,其中@可指定默认值," \需要转义。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Windows Registry Editor Version 5.00

[KEY1]
"ValueName1"={Value Type}:{data}
"ValueName2"={Value Type}:{data}
[KEY2]
"ValueName1"={Value Type}:{data}
[KEY3]
@ = "default value name"
[HKEY_LOCAL_MACHINE\key4\key5]
"slashes\\in\\the\\name" = "slashes\\in\\the\\data"
"quotes\"in\"the\"name" = "quotes\"in\"the\"data"

不同数据类型的书写格式

Value type Format
REG_SZ “my string”
REG_DWORD dword: NNNNN (hex number)
REG_MULTI_SZ multi_sz: “my string”, “my string”
REG_BINARY hex: xx,xx,xx,xx …
HEX hex(xxxxxxxx): xx,xx,xx,xx The hex(xx) types should correspond to the remaining Microsoft® Win32® registry types.

甚至还可以使用条件语句

1
2
3
4
5
;分号后面的是注释
IF environment variable [= value] [!]
[KEY1]
"ValueName1"={Value Type}:{data}
ENDIF

可以用分号;为reg文件做注释,减号-表示删除操作。

1
2
3
4
[-KEY1]	;删去一个键

[KEy2]
"ValueName1"=-	删去键中的一个值

常用配置reg文件参考

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\这里根据DriverDesc确定编号\NDI\params\NetworkAddress]
"LimitText"="12"
"optional"="1"
"ParamDesc"="NetworkAddress"
"type"="edit"
"UpperCase"="1"
;无线网卡可手动指定地址,第二位只能是2,6,A,E之一

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations]
".bmp"="PhotoViewer.FileAssoc.Tiff"
".ico"="PhotoViewer.FileAssoc.Tiff"
".jpeg"="PhotoViewer.FileAssoc.Tiff"
".jpg"="PhotoViewer.FileAssoc.Tiff"
".png"="PhotoViewer.FileAssoc.Tiff"
;LTSC将图片关联到自带的图片查看器打开

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig]
"BypassTPMCheck"=dword:00000001
"BypassRAMCheck"=dword:00000001
"BypassSecureBootCheck"=dword:00000001
;win11跳过硬件安装检测

技巧

在其他系统中直接进入目标系统盘运行注册表编辑器修改的仍然是运行的系统的注册表,应该运行当前系统的注册表编辑器,然后任意选择一项,然后点击文件-加载配置单元-浏览目标盘C:\Windows\System32\Config选择SYSTEM文件用别名挂载然后修改其中的内容。完成后再卸载配置单元。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy