Windows 系统可自定义的功能非常丰富,因此也提供了非常多 UI 不统一的 设置界面,当你搜索 Windows 系统的某项设置时,多半会看到一篇文章教你如何通过「注册表」达到想要的效果。
右键菜单、界面UI、硬件信息、默认安装路径…不管是公开的还是未公开的,「注册表」几乎掌管着一切 Windows 设置!
也正是因为「注册表」内容繁多,常常有人在修改注册表时出现误操作,导致无法挽回的后果,所以今天就来详细介绍一下「注册表」和修改「注册表」的正确方式。
01—什么是 注册表
早期的 Windows 版本是没有注册表的,每个程序的设置都以 .ini 文件的形式存储,因为每个程序都有自己的 .ini 文件,里面的内容和编码都没有规范,而且在系统有多个账户时,一些账户无法访问特定的文件,就会导致程序无法运行。
于是为了解决这个问题,从 Windows 系统从 95 版开始引入了注册表这个是数据库,它将所有配置信息集中起来统一管理,从此功能复杂又开放的 Windows 才有了稳定有序的运行模式。
简单来说注册表相较于 ini 文件有一下几个优点:
1、更方便管理和修改,用户可以直接通过 「注册表编辑器」修改注册表中的内容。
2、使用一个「注册表」存储所有账户的配置信息,是多账户真正能用;
3、使用二进制格式,有更高效的文件解析能力,读写更快;
4、注册表支持子键,各级子关键字都有自己的“键值”;
5、注册表中的键值项可以包含可执行代码,而不是简单的字串。
所以说,Windows 注册表是一个存储各种配置设置的数据库,几乎所有包含在 Windows 中的设置都存储在这里。
第三方程序的配置文件通常会存储在特定的文件夹中,但是添加到右键菜单中的快捷入口,这种系统层面的配置就需要存储在注册表中。
02—注册表的结构
注册表的难点只在于数据多、全英文,实际上结构非常简单,就是由键和值组成。
键又分为「根键」、「主键」和「子键」,其实「根键」就相当于磁盘根目录(HKEY_开头);「主键」就相当于磁盘里分门别类的文件夹,就像 Windows 文件夹装系统,Program Filse 装软件;「子健」相当于文件夹里的文件夹。「值」就是保存配置信息的文件。
通常有 5 个预设的主键:
1、HKEY_CLASSES_ROOT 用于管理文件系统,记录 Windows 中所有数据文件的信息,主要是不同文件的文件名后缀和与之关联的应用程序。当用户双击一个文档时,系统可以通过这些信息启动相应的应用程序;
2、HKEY_CURRENT_USER 用于管理当前用户的配置情况。在这个主键中我们可以查阅计算机中登录的用户信息、密码等相关信息;
3、HKEY_LOCAL_MACHINE 用于管理系统中的所有硬件设备的配置情况,在该主键中存放的是用来控制系统和软件的设置。由于这些设置是针对那些使用系统的账户而设置的,是一个公共配置信息,所以它与具体账户无关;
4、HKEY_USERS 用于管理系统中所有用户的配置信息,电脑系统中每个用户的信息都保存在该文件夹中,如用户在该系统中的一些口令、标识等;
5、HKEY_CURRENT_CONFIG 用于管理当前系统用户的系统配置情况,如该用户自定义的桌面管理、需要启动的程序列表等信息。
03—正确修改电脑注册表的方法
对注册表进行操作应该格外谨慎,因为所有重要的不重要的配置都放在一起,如果误操作了重要的系统配置可能导致各种问题。
但是就经常修改注册表的经验来说,只要遵循以下 3 个规则,可以最大限度规避这些问题,即便误操作也可以轻松还原:
1、 每次操作注册表前都先备份注册表。注册表没有撤销功能,但却自带了备份功能,多花几秒钟给自己留条后路何乐而不为呢?
只需要在「注册表编辑器」 - 文件 – 导出 即可备份整个注册表:
导出整个注册表可能会消耗一些时间,你也可以只导出将要修改的部分,右键:
需要还原的时候双击备份文件即可:
电脑另外如果你有「系统还原点」的话,也可以通过还原系统来还原注册表。
2、 一次只修改一个注册表,有时修改注册表是一系列的操作,这种情况应该坚持一次只修个一个注册表原则,确定没问题再进行接下来的操作,这样有意外发生才知道是那步出错了,另外有些有些注册表内容修改后要重启才能生效。
3、 千万记住规则 1。
04—注册表的小兄弟
注册表很专业,通常软件开发人员才去深入研究,所幸 Windows 还提供了另一个带图形界面的注册表 —— 「组策略」。
「组策略」其实和「控制面板」一样,都是「注册表」的图形界面版,它们提供部分「注册表」的配置内容,大多数内容都是安全的。
不过「组策略」只提供给非家庭版的 Windows 电脑,如果你的系统是家庭版,可以在桌面新建一个 文本文档.txt,在其中输入。
@echo offpushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txtdir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txtfor /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"pause
然后保存为 .cmd 格式,右键以管理员身份运行,这样系统会自动安装组策略,安装完成后记得重启电脑才能生效。
按 Win + R 运行 gpedit.msc 即可打开「组策略」,「组策略」包含两个部分「计算机配置」和「用户配置」,虽然没有「注册表」那么强大,但也包含了大量非公开的配置选项,每个配置项都有详细的说明,普通用户也完全能够操作,而且不需要代码,大多数配置项都是「选择题」。
电脑