电脑中注册表被称为Windows操作系统的核心,它的工作原理实质是一个庞大的数据库,存放了关于计算机硬件的配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备的说明以及各种状态信息和数据,包括Windows操作时不断引用的信息。例如:系统中的硬件资源、硬件信息、分配正在使用的端口、每个用户的配置文件、计算机上安装的应用程序以及每个应用程序可以创建的文件类型等。
主要作用:
1、记录安装信息
2、设置硬件
3、设置软件
4、定制Windows
5、系统安全管理
6、自动运行程序
7、网络设置
注册表的相关文件都是哪些?
注册表有五个一级分支,下面是这五个分支的名称及作用:
名称 | 作用 |
---|---|
HKEY_CLASSES_ROOT | 存储Windows可识别的文件类型的详细列表,以及相关联的程序。 |
HKEY_CURRENT_USER | 存储当前用户设置的信息。 |
HKEY_LOCAL_MACHINE | 包括安装在计算机上的硬件和软件的信息。 |
HKEY_USERS | 包含使用计算机的用户的信息。 |
HKEY_CURRENT_CONFIG | 这个分支包含计算机当前的硬件配置信息。 |
注册表的存储位置随着Windows的版本变化而不同。尤其是Windows NT系列操作系统和Windows 95系列的存储方式有很大区别。注册表被分成多个文件存储,称为Registry Hives,每一个文件被称为一个配置单元。
在早期的Windows 3.x系列中,注册表仅包含一个reg.dat文件,所存放的内容后来演变为HKEY_CLASSES_ROOT分支。
Windows NT家族的配置单元文件:
名称 | 注册表分支 | 作用 |
---|---|---|
SYSTEM | HKEY_LOCAL_MACHINE\SYSTEM | 存储计算机硬件和系统的信息 |
NTUSER.DAT | HKEY_CURRENT_USER | 存储用户参数选择的信息(此文件放置于用户个人目录,和其他注册表文件是分开的) |
SAM | HKEY_LOCAL_MACHINE\SAM | 用户及密码的数据库 |
SECURITY | HKEY_LOCAL_MACHINE\SECURITY | 安全性设置信息 |
SOFTWARE | HKEY_LOCAL_MACHINE\SOFTWARE | 安装的软件信息 |
DEFAULT | HKEY_USERS\DEFAULT | 缺省启动用户的信息 |
USERDIFF | HKEY_USERS | 管理员对用户强行进行的设置 |
Windos95家族的配置文件
名称 | 注册表分支 | 作用 |
---|---|---|
CLASSES | HKEY_CLASSES_ROOT | 存储软件组件库有关信息 |
USER.DAT | HKEY_USERS | 存储用户参数选择的信息 |
SYSTEM.DAT | HKEY_LOCAL_MACHINE | 系统信息 |
Windows文件夹中有system.dat和user.dat这样两个隐藏文件,其中保存了至关重要的注册表信息。
注册表是Windows程序员建造的一个复杂的信息数据库,它是多层次式的。在不同系统上注册表的基本结构相同。其中的复杂数据会在不同方式上结合,从而产生出一个绝对唯一的注册表。
在WIN95系列(例如Windows XP)操作系统下,
Win95中所有系统注册信息保存在windows目录下的SYSTEM.DAT文件里。所有硬件设置和软件信息也保存在这个文件。它要比NT注册表文件简单的多,因为这里并不需要更多的控制。Win95被设计为一个网络的客户或者单独工作的系统,所以用户控制或者安全级别和NT不一样。这使得Win95注册表工作比NT更容易,所以这个文件也比较小。
Win95用户的注册数据一般被保存在windows目录下的user.dat里。如果你在控制面板|密码|用户配置文件中创建并使用多于一个用户的配置文件,每个用户就会有在\WINDOWS\Profiles\username\USER.DAT下它自己的user.dat文件。在启动时,系统将记录你的登陆,从你目录中的配置文件(USER.DAT信息)将被装入,以用来保持你自己的桌面和图标。
在WIN NT系列操作系统下,
计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中:
DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。
Winnt和Win95的注册表并不兼容。从Win95向Winnt升级需要你重新安装32位应用程序,重新在桌面上创建图标,并重新建立用户环境。
与INI文件不同的是:
1.注册表采用了二进制形式登录数据;
2.注册表支持子键,各级子关键字都有自己的“键值”;
3.注册表中的键值项可以包含可执行代码,而不是简单的字串;
4.在同一台计算机上,注册表可以存储多个用户的特性。
注册表的特点有:
1.注册表允许对硬件、系统参数、应用程序和设备驱动程序进行跟踪配置,这使得修改某些设置后不用重新启动成为可能。
2.注册表中登录的硬件部分数据可以支持高版本Windows的即插即用特性。当Windows检测到机器上的新设备时,就把有关数据保存到注册表中,另外,还可以避免新设备与原有设备之间的资源冲突。
3.管理人员和用户通过注册表可以在网络上检查系统的配置和设置,使得远程管理得以实现。
注册表的数据结构
注册表的组织方式跟文件目录比较相似,主要分为根键、子键和键值项三部分,与文件目录对应的话就是根目录、子目录和文件。分别介绍一下这三部分:
(1)根键。分为5个,分别为HKEY_CLASSES_ROOT, HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS和HKEY_CURRENT_CONFIG,把它们理解成磁盘的五个分区可以了。(3)键值项。可以理解为文件,它由三部分组成,分别为 :名称、类型、数据。
注释:
注册表中键相当于文件系统中目录这个概念。根键,对应即根目录。根键,主键(父键),子键,本质都是键。
主键(父键)和子键是一个相对的概念,不是绝对概念,即键A在某一情况时称为子键,另一情况时称为主键,而不是固定什么情况都是称为子键或是父键。例如,键C下一级里有键B,键B下一级里有键A,则键B对键C来说是键C的子键,而键B对键A来说是键A的主键。
参见:
http://baike.baidu.com/view/979.htm#5_13