Windows注册表手记

xeonds

2023-12-09 20:08:46

Windows注册表系统简介

一、注册表存在的原因,以及历史原因,以及它的功能

注册表是Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。注册表的出现是为了解决Windows 3.0时代的配置文件(如INI文件)的问题,如:

注册表的功能是:

二、注册表的大致结构,以及工作机制

注册表的结构是一个分层的树形结构,树中的每个节点称为键,每个键可以包含子项和值。值是键的属性,包含一个值名称和一个数据项。数据项可以是不同的数据类型,如字符串、整数、二进制等。[2][2]

注册表的根节点有五个,分别是:

注册表的工作机制是:

三、一般Windows系统的注册表结构以及注册表内容

一般Windows系统的注册表结构可以用注册表编辑器(regedit.exe)来查看和编辑。注册表编辑器是一个图形化的工具,可以显示注册表的树形结构,以及每个键和值的名称和数据。注册表编辑器也可以用来导入和导出注册表文件,以及搜索和替换注册表数据。[4][4]

注册表的内容是根据不同的Windows版本和用户需求而变化的,不可能一一列举出来。不过,一般来说,注册表的内容可以分为以下几类:

四、参考文献

[1][1]: 注册表 - Win32 apps | Microsoft Learn [1] [2][2]: 注册表的结构 - Win32 apps | Microsoft Learn [2] [3][3]: 注册表的工作原理 - Windows Server | Microsoft Learn [4] [4][4]: 使用注册表编辑器 - Windows Server | Microsoft Learn [6] [5][5]: 注册表内容 - Windows Server | Microsoft Learn [7]


注册表系统的分层结构可以分为逻辑层和物理层两个部分。逻辑层是注册表的树形结构,由键、子键和值组成,可以通过注册表编辑器或注册表API来访问和操作。物理层是注册表的文件存储,由一组称为储巢(hive)的二进制文件组成,存放在磁盘上的不同位置,可以通过配置管理器来加载和卸载。12

注册表的逻辑层由五个根键组成,分别是:

这五个根键实际上是指向储巢文件中的某些子键的别名,也称为预定义句柄。3 例如,HKEY_CLASSES_ROOT实际上是指向HKEY_LOCAL_MACHINE,HKEY_CURRENT_USER实际上是指向HKEY_USERS的别名,其中是当前用户的安全标识符。4

注册表的物理层由以下几个储巢文件组成,分别存放在不同的位置:

这些储巢文件的内部结构是由配置管理器维护的,一般不需要用户直接访问或修改。配置管理器会在系统启动时加载这些储巢文件到内存中,并在系统关闭时将内存中的修改同步到磁盘上的文件中。配置管理器还会在系统运行时定期将修改写入到一个事务日志文件中,以保证数据的一致性和完整性。7

注册表的出现是为了解决Windows 3.0时代的配置文件(如INI文件)的问题,如:

注册表的优点是:

注册表的缺点是:

综上所述,注册表的出现是为了解决一些实际的问题,也带来了一些新的问题。它的好坏是相对的,没有绝对的标准。不同的人可能有不同的看法和评价。

1: 2: 3: 注册表的根键 - Win32 apps | Microsoft Learn 4: 注册表的别名 - Win32 apps | Microsoft Learn 5: 注册表的物理结构 - Win32 apps | Microsoft Learn 6: 注册表的文件 - Win32 apps | Microsoft Learn 7: : : :