0x00 起因

事情的起因是这样的:

​ 前两天,在使用丝滑的Microsoft Office后。我把目光投向了电脑中的WPS,不由得怒从心头起,恶向胆边生,没错!我决定将WPS换成Microsoft Office。虽然WPS苦苦挽留我(指无法卸载干净),但我岂是那种与前任藕断丝连的人?于是直接网上寻找如何干净利落的卸载WPS,然后照着点赞最多的答案开始操作。

​ 按照点赞最多的回答,需要删除WPS留存在电脑中的注册表,即删除注册表的office文件夹。我啪的一下,直接删除,很快啊,心想着就能美滋滋用上Microsoft Office了。但是,当我打开[开始菜单],发现我的快捷方式一多半都没了,立刻意识刚刚删的注册表中的office文件夹还有其他东西,我大意了啊。

​ 但是注册表又不能Ctrl+Z撤销,所以我只能再次查查有没有什么方法恢复注册表,很快啊,我又再次发现注册表是会自动备份的,所以可以将注册表的备份恢复回去(我感觉我又可以了)

image-20201223201721686

​ 我打开备份文件夹一看,空的?!我想起前两天C盘空间紧张,我就把一些系统备份文件删掉了,我他喵怎么就这么手欠呢?所以最终的解决办法:按住回去给那个解决方案点踩的冲动,重新把快捷方式一个一个粘回去。

​ 因此,本着”人不能在同一地方跌倒两次”的想法,我怀着悲伤的心情学习了注册表。

(Q:下次还敢吗?A:我错了QAQ,下次备好份再干,欸嘿~)

image-20201223202835836

0x01 注册表概述

注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施、软件配置等信息,从而方便了管理,增强了系统的稳定性。

也就是说:注册表是Windows操作系统的一个管理程序信息的数据库

0x02 注册表里的数据表示什么

当我们打开注册表,首先可以看见:这5个文件夹成为根键

image-20201223203654899

含义是这样的:

HKEY_CLASSES_ROOT:启动应用程序所需的全部信息,包括扩展名,应用程序与文档之间的关系,驱动程序名,DDE和OLE信息,类ID编号和应用程序与文档的图标等。
HKEY_CURRENT_USER:当前登录用户的配置信息,包括环境变量,个人程序以及桌面设置等
HKEY_LOCAL_MACHINE:该根键包括本地计算机的系统信息,包括硬件和操作系统信息,安全数据和计算机专用的各类软件设置信息
HKEY_USERS:该根键包括计算机的所有用户使用的配置数据,这些数据只有在用户登录系统时才能访问。这些信息告诉系统当前用户使用的图标,激活的程序组,开始菜单的内容以及颜色,字体
HKEY_CURRENT_CONFIG:常被用户改变的部分硬件软件配置,其中的信息是从HKEY_LOCAL_MACHINE中映射出来的

0x03 注册表里的子项表示什么

在根键下面有一堆的文件夹,称为子项,接下来是各种子项的含义:

HKEY_CLASSES_ROOT子项:
打开时会发现一长串子项
分为两种:已注册的各类文件拓展名、各种文件类型的有关信息

HKEY_CURRENT_USER子项:
此根键中保存的信息(当前用户的子项信息)与HKEY_USERS_DEFAULT下面的一模一样的。任何对 HKEY_CURRENT_USER根键中的信息的修改都会导致对HKEY_USERS_DEFAULT中子项的修改

HKEY_LOCAL_MACHINE子项:
存放的是用来控制系统和软件的设置。包含的子项有:
HARDWARE:系统使用的浮点处理器、串口等信息
SECURITY:为将来的高级功能而预留
SOFTWARE:所有已安装的应用程序的信息,各个程序的控制信息分别安装在相应的子项中(刚刚大意删除的office子项就在里面)
SYSTEM:该子项是启动时所需的信息和修复系统时所需要的信息

HKEY_USERS子项:
存放默认用户、当前登录用户和软件的信息,其中DEFAULT子项是其中最重要的,它的配置是针对未来将会被创建的新用户的。新用户根据默认用户的配置信息来生成自己的配置文件,该配置文件包括环境、屏幕和声音等多种信息

HKEY_CURRENT_CONFIG子项:
常被用户改变的部分硬件软件配置

0x04 总结

​ 经过一通对注册表的学习之后,我发现一件很严肃的事情:

​ 我删除的应该是HKEY_LOCAL_MACHINE\SOFTWARE\kingsoft下的office文件夹,而开始屏幕中的内容应该会属于HKEY_USERS,这俩应该八竿子打不着才对,难道是因为某些别的误操作才导致我的开始屏幕的快捷方式谜之消失的?

0x05 参考

[1] Windows注册表内容详解 https://www.jianshu.com/p/0cfcbba813ac

[2] Windows注册表超级详解 http://pc.kutx.cn/pc/pc11637.htm

[3] windows注册表详解 https://blog.csdn.net/dpsying/article/details/46907891