Windows NT注册表的组成与分析.docx
- 文档编号:30559671
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:11
- 大小:319.25KB
Windows NT注册表的组成与分析.docx
《Windows NT注册表的组成与分析.docx》由会员分享,可在线阅读,更多相关《Windows NT注册表的组成与分析.docx(11页珍藏版)》请在冰豆网上搜索。
WindowsNT注册表的组成与分析
WindowsNT注册表的组成与分析
和Windows9x一样,WindowsNT也有注册表。
注册表是保存系统配置的重要数据库,不过,与Windows9x相比,它只包含五个部分:
(1)HKEY-LOCAL-MACHINE:
用于保存本机系统的信息,包含硬件与操作系统的数据,如驱动程序、系统配置信息等;
(2)HKEY-CLASS-ROOT:
用于保存与关联有关的信息;
(3)HKEY-CURRENT-CONFIG:
保存与当前的硬件配置文件有关的数据;
(4)HKEY-CURRENT-USER:
保存与当前登录的用户有关的环境设置的数据,包含桌面设置、网络连接等;
(5)HKEY-USERS:
保存当用户登录时,所有必须载入的用户配置文件数据,包含缺省的配置文件和登录者的环境配置文件。
另外,在WINNT中启动注册表编辑器,应该执行"开始/运行"命令,在"运行"对话框中输入REGEDIT32.EXE(而不是Windows9x的REDEDIT.exe),并确定。
WindowsMe注册表的组成与分析
与Win98不同,WinMe的注册表是由Windows目录下的Classes.dat、User.dat(用户配置信息)和System.dat(系统配置信息)三个二进制文件组成的,其"项值"与Win98一样有字串值(REG_SZ)、二进制值(REG_BINARY)、双字节值(REG_DWORD)三种类型。
与Win98相同,WinMe也有个注册表编辑器Windows\Regedit.exe(见图1),用来搜索或修改注册表。
WinMe注册表编辑器左边窗口中,最上面一层是"我的电脑",下面有6个分支:
HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG、HKEY_DYN_DATA,各分支的功能简要描述见表1。
分支名
功能
hkey_classes_root
所有用户都要使用该分支,存放可打开文件的类型、扩展名以及与应用程序的关联等
hkey_current_user
保存当前登录用户的系统设置、控制面板选项、映射的网络驱动器等?
hkey_local_machine
保存机器上的所有硬件信息、本机上安装的应用软件信息
hkey_users
保存所有用户的信息,例如安装的应用软件、自定义桌面等
hkey_current_config
计算机上连接的硬件(例如显示器、打印机等)配置数据
hkey_dyn_data
保存系统性能和即插即用状态的动态信息
WinMe注册表六大根键的功能简要描述表
与Win98的Regedit相比,WinMe的注册表编辑器功能有所增加,表现在:
1.具有记忆功能,每次打开它时,左边窗口中的树形主键分支会自动展开,将焦点定位在最近一次修改过的位置上;
2.选单栏中新增类似IE的收藏选单,提供收藏夹功能(添加、删除收藏夹),可让您快速定位到需要修改的主键位置。
假如需要经常检查系统启动时自动调入了哪些程序,可以打开HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run和
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,用Win98的注册表编辑器找这两个项,需要多次双击分支,打开一级又一级的注册表项,在WinMe中,这种操作就要轻松多了,只要将以上两项添加到注册表编辑器的收藏夹中,使用时如同用IE那样,打开收藏项即可。
添加到收藏夹的方法是:
找到要收藏的注册表项,执行选单上的"收藏/添加到收藏夹",弹出对话框,给该收藏项命名,按"确定"。
认识Windows2000注册表
Windows2000将它的配置信息存储在名为注册表的数据库中,其中包含了每个计算机用户的配置文件,以及有关系统硬件、已安装的程序和属性设置等信息,Windows2000在运行过程中要一直引用这些信息。
注册表是以二进制形式存储在硬盘上,错误地编辑注册表可能会严重损坏系统。
所以,在更改注册表之前,强烈建议备份注册表信息。
为了防止在修改注册表的时候发生致命错误,有必要了解一下注册表文件的备份和恢复方法。
除此之外,为了研究注册表的结构,还可以将注册表中的某一主键或子键保存为文本文件,或者打印出来,这项工作同样需要了解注册表文件的导入与导出方法。
一、Windows2000与Windows98的注册表的比较
大家也许对Windows98的注册表很熟悉,但是Windows2000毕竟和Windows98不同。
本文将以Windows2000Professional版本为例,向大家介绍一下Winsows2000的注册表。
首先要运行注册表编辑器。
你可以选择菜单"开始/运行",在弹出的运行对话框中输入"regedit",再单击"确定"按钮来启动类似于Windows9X的注册表编辑器(如图1)。
可以看到,它的内容和Win98相比,去掉了HKEY_DYN_DATA根键。
只有KEY_LOCAL_MACHINE、HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG、HKEY_USERS、HKEY_CURRENT_USER五个根键。
它比Windows9X下的注册表编辑器增加了许多功能。
首先,在右边窗口的键值详细列表中增加了类型列,使我们可以很直观地了解键值的类型,如:
如REG_SZ为字符串值,REG_DWORD为DWORD值,REG_BINARY为二进制值等;其次,在菜单栏中增加了类似IE的收藏菜单,提供了收藏夹功能,它可以方便你快速定位到需要经常修改的主键位置;第三,它还提供了记忆功能,即每次当你打开它时,左边窗口中的树形主键分支会自动展开,把焦点定位到你最近一次修改过的位置。
除了上述类似于Windows9X的注册表编辑器外,Windows2000还提供了一个新版的注册表编辑器(注意:
下面我们介绍的注册表修改都是在其中进行),位置在D:
\WINNT\system32\regedt32.exe(假设D为Windows2000的安装盘符),运行它,主界面如图2所示。
这个新版注册表编辑器除了具备原来Windows9X注册表编辑器全部功能外,最重要的是增加了"安全"菜单,也就是说,管理员可以给注册表项指派"权限",这一功能在NT中早就采用了,但在面向单机的操作系统中还是首次提供。
这使得注册表的安全性大大提高。
下面以允许用户访问"控制面板"注册表项但不保存对它的任何修改为例,介绍一下如何指派"权限"。
首先在[HKEY_CURRENT_USER]窗口单击"ControlPanel"主键,然后选择"安全"菜单中的"权限",在"ControlPanel的权限"对话框中选择用户,再选中"读取"右边的"允许"复选框,最后单击"确定"即可(如图3)。
该注册表编辑器拥有多个子窗口(如图4),每个子窗口代表本地计算机上的一个预定义项(即五大根键)。
这个注册表编辑器不仅可以显示编辑本地计算机的注册表项,还可以访问远程计算机的注册表,当访问远程计算机的注册表时,只可使用两个预定义项[HKEY_USERS]和[HKEY_LOCAL_MACHINE]。
下面简要说明一下这些预定义项的含义:
(一)、KEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE根键中存放的是用来控制系统和软件的设置。
由于这些设置是针对那些使用Windows系统的用户而设置的,是一个公共配置信息,所以它与具体用户无关。
该根键下面包含了五个子键:
1.HARDWARE子键
该子键包含了系统使用的浮点处理器、串口等有关信息。
在它下面存放一些有关超文本终端、数字协处理器和串口等信息。
HARDWARE子键又包括三个子键:
★DESCRIPTION:
用于存放有关系统信息;
★DEVICEMAP:
用于存放设备映像;
★RESOURCEMAP;
2.SAM子键
该子键已经被系统保护起来,我们不可能看到里面的内容。
3.SECURITY子键
该子键位于HKEY_LOCAL_MACHINE\Security分支上,该分支只是为将来的高级功能而预留的。
4.SOFTWARE子键
该子键中保留的是所有已安装的32位应用程序的信息。
各个程序的控制信息分别安装在相应的子键中。
由于不同的机器安装的应用程序互不相同,因此这个子键下面的子键信息会有很大的差异。
5.SYSTEM子键
该子键存放的是启动时所使用的信息和修复系统时所需的信息,其中包括各个驱动程序的描述信息和配置信息等。
System子键下面有一个CurrentControlSet子键,系统在这个子键下保存了当前的驱动程序控制集的信息。
(二)、HKEY_CLASSES_ROOT根键
在Windows2000中对HKEY_CLASSES_ROOT主键做了改进。
HKEY_CLASSES_ROOT主键与当前注册使用的用户有关,它实际上是HKEY_CURRENT_USER\SOFTWARE\Classes和HKEY_LOCAL_MACHINE\SOFTWARE\Classes的交集。
如果两者的内容有冲突,则HKEY_CURRENT_USER\SOFTWARE\Classes优先。
这个新特性在Windows2000中叫做“单用户类注册”(per-userclassregistration)。
单用户类注册有如下好处:
1.同一台计算机上的不同用户可以分别定制不同的Windows2000
例如,用户甲安装了ACDSee图形软件,将BMP文件与ACDSee图形软件建立关联。
而用户乙安装了PhotoShop图形软件,将BMP文件与PhotoShop图形软件建立关联,当用户乙双击BMP文件时,会自动调用PhotoShop图形软件,而不会调用用户甲安装的ACDSee图形软件。
2.提高了注册表的安全性
使用单用户类注册,各个用户有自己的HKEY_CLASSES_ROOT,不再需要通过修改HKEY_LOCAL_MACGINE/SOFTWARE/classes来满足自己的需求,这样系统管理员可以提高HKEY_LOCAL_MACGINE/SOFTWARE/classes的权限,禁止普通用户修改它,而各个用户之间更是不能修改对方的HKEY_CLASSES_ROOT。
3.支持漫游类注册
在Windows2000中,提供了一个叫做IntelliMirror的功能。
通过在服务器和客户端同时使用IntelliMirror,用户的数据、应用程序和设置在所有的环境中都可以跟随用户漫游,这当然包括了用户的配置文件。
当用户登录到域中任意一台运行Windows2000的计算机时,首先要通过目录服务中的身份验证,身份验证通过后,保存在服务器上的用户配置文件(包括注册表中的HKEY_CLASSES_ROOT)将复制到该计算机上,好像用户在本地计算机登录一样。
HKEY_CLASSES_ROOT根键中记录的是Windows操作系统中所有数据文件的信息,主要记录不同文件的文件名后缀和与之对应的应用程序。
当用户双击一个文档时,系统可以通过这些信息启动相应的应用程序。
HKEY_CLASSES_ROOT根键中存放的信息与HKEY_LOCAL_MACHINE\Software\Classes分支中存放的信息是一致的。
HKEY_CLASSES_ROOT根键由多个子键组成,具体可分为两种:
一种是已经注册的各类文件的扩展名,一种是各种文件类型的有关信息。
(三)、HKEY_CURRENT_CONFIG根键
如果你在Windows中设置了两套或者两套以上的硬件配置文件(HardwareConfigurationfile),则在系统启动时将会让用户选择使用哪套配置文件。
而HKEY_CURRENT_CONFIG根键中存放的正是当前配置文件的所有信息。
(四)、HKEY_USERS根键
HKEY_USERS根键中保存的是默认用户(.DEFAULT)、当前登录用户与软件(Software)的信息。
它的下面有三个子键:
.DEFAULT子键、S-1-5-21-1229272821-436374067-1060284298-1000和S-1-5-21-1229272821-436374069-1060284298-1000_Classes三个子键,其中最重要的是.DEFAULT子键。
.DEFAULT子键的配置是针对未来将会被创建的新用户的。
新用户根据默认用户的配置信息来生成自己的配置文件,该配置文件包括环境、屏幕、声音等多种信息。
(五)、HKEY_CURRENT_USER根键
HKEY_CURRENT_USER根键中保存的信息(当前用户的子键信息)与HKEY_USERS\.Default分支中所保存的信息是相同的。
任何对HKEY_CURRENT_USER根键中的信息的修改都会导致对HKEY_USERS\.Default中子键信息的修改,反之也是如此。
二、Windows2000的用户配置文件
默认情况下,大多数配置单元文件(DEFAULT、SAM、SECURITY、SOFTWARE和SYSTEM)均存储在%SystemRoot%\System32\Config文件夹中。
而每个计算机用户的用户配置文件信息(包括Ntuser.dat和Ntuser.dat.log)的位置,取决于Windows2000是全新安装还是从Windows95/98或WindowsNT升级安装。
在全新安装以及从Windows95/98升级安装的情况下,Ntuser.dat和Ntuser.dat.log文件存储在%SystemDrive%\DocumentsandSettings\username文件夹中。
在从WindowsNT升级的安装中,Ntuser.dat和Ntuser.dat.log文件存储在%SystemRroot%\Profiles\username文件夹中。
Windows2000注册表中的每个配置单元均与一组标准文件相关联。
如图5显示运行Windows2000的计算机的标准配置单元和文件。
由于注册表是树形结构的,所以可以将注册表里的内容形象地描述为树枝和树叶。
树枝下可以有多个树枝,也可以有多个树叶。
这个树枝,我们把它叫做“项”,树叶呢,叫做“值项”。
值项包括三部分:
值的名称、值的数据类型以及值本身。
如图6列出系统定义和使用的值项的数据类型。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows NT注册表的组成与分析 NT 注册表 组成 分析