Windows2000注册表
Windows 2000 将它的配置信息存储在名为注册表的数据库中,其中包含了每个计算机用户的配置文件,以及有关系统硬件、已安装的程序和属性设置等信息,Windows 2000 在运行过程中要一直引用这些信息。
一、Windows 2000 与Windows98的注册表的比较 1.启动
(1)开始→运行→输入regedit→确定;(2)C:\WINNT\system32\regedt32.exe(假设C盘为Windows 2000的安装盘符),运行它。
2.内容
内容和Win98相比,去掉了HKEY_DYN_DATA根键。只有KEY_LOCAL_MACHINE、HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG、HKEY_USERS、HKEY_CURRENT_USER五个根键。
3. 功能
它比Windows 9X下的注册表编辑器增加了许多功能。
首先,在右边窗口的键值详细列表中增加了类型列,使我们可以很直观地了解键值的类型,如:如REG_SZ为字符串值,REG_DWORD为DWORD值,REG_BINARY为二进制值等;
其次,在菜单栏中增加了类似IE的收藏菜单,提供了收藏夹功能,它可以方便你快速定位到需要经常修改的主键位置(同win me,XP);
假如需要经常检查系统启动时自动调入了哪些程序,可以打开HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
和HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,两项添加到注册表编辑器的收藏夹中,使用时如同用IE那样,打开收藏项即可。添加到收藏夹的方法是:找到要收藏的注册表项,执行选单上的"收藏/添加到收藏夹",弹出对话框,给该收藏项命名,按“确定”。
第三,它还提供了记忆功能,即每次当你打开它时,左边窗口中的树形主键分支会自动展开,把焦点定位到你最近一次修改过的位置(同win me,XP)。 第四,增加了“安全”菜单,管理员可以给注册表项指派“权限”,使得注册表的安全性大大提高。
如:允许用户访问“控制面板”注册表项但不保存对它的任何修改 首先在[HKEY_CURRENT_USER]窗口单击“Control Panel”主键,然后选择“安全”菜单中的“权限”,在“ Control Panel的权限”对话框中选择用户,再选中“读取”右边的“允许”复选框,最后单击"确定"即可。
该注册表编辑器拥有多个子窗口,每个子窗口代表本地计算机上的一个预定义项(即五大根键)。这个注册表编辑器不仅可以显示编辑本地计算机的注册表项,还可以访问远程计算机的注册表,当访问远程计算机的注册表时,只可使用两个预定义项[HKEY_USERS]和[HKEY_LOCAL_MACHINE]。
二、预定义项的含义 (一) KEY_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根键 当前注册使用的用户有关,它实际上是HKEY_CURRENT_USER\SOFTWARE\Classes和HKEY_LOCAL_MACHINE\SOFTWARE\ Classes的交集。如果两者的内容有冲突,则HKEY_CURRENT_USER\SOFTWARE\Classes优先。这个新特性在Windows 2000中叫做“单用户类注册”(per-user class registration)。单用户类注册有如下好处: 1.同一台计算机上的不同用户可以分别定制不同的Windows 2000 例如,用户甲安装了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.支持漫游类注册 在Windows 2000中,提供了一个叫做IntelliMirror的功能。通过在服务器和客户端同时使用IntelliMirror,用户的数据、应用程序和设置在所有的环境中都可以跟随用户漫游,这当然包括了用户的配置文件。当用户登录到域中任意一台运行Windows 2000的计算机时,首先要通过目录服务中的身份验证,身份验证通过后,保存在服务器上的用户配置文件(包括注册表中的HKEY_CLASSES_ROOT)将复制到该计算机上,好像用户在本地计算机登录一样。
HKEY_CLASSES_ROOT根键中记录的是Windows操作系统中所有数据文件的信息,主要记录不同文件的文件名后缀和与之对应的应用程序。当用户双击一个文档时,系统可以通过这些信息启动相应的应用程序。HKEY_CLASSES_ROOT根键中存放的信息与HKEY_LOCAL_MACHINE\Software\Classes分支中存放的信息是一致的。
HKEY_CLASSES_ROOT根键由多个子键组成,具体可分为两种:一种是已经注册的各类文件的扩展名,一种是各种文件类型的有关信息。
(三)HKEY_CURRENT_CONFIG根键 如果你在Windows中设置了两套或者两套以上的硬件配置文件(Hardware Configuration file),则在系统启动时将会让用户选择使用哪套配置文件。而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中子键信息的修改,反之也是如此。
三、Windows 2000的用户配置文件 默认情况下,大多数配置单元文件(DEFAULT、SAM、SECURITY、SOFTWARE 和 SYSTEM)均存储在%SystemRoot%\System32\Config文件夹中。
而每个计算机用户的用户配置文件信息(包括Ntuser.dat 和Ntuser.dat.log)的位置,取决于Windows 2000是全新安装还是从Windows 95/98 或Windows NT升级安装。
在全新安装以及从Windows 95/98升级安装的情况下,Ntuser.dat 和Ntuser.dat.log文件存储在%SystemDrive%\Documents and Settings\username文件夹中。
在从Windows NT升级的安装中,Ntuser.dat 和Ntuser.dat.log文件存储在%SystemRroot%\Profiles\username文件夹中。
Windows 2000注册表中的每个配置单元均与一组标准文件相关联。下图显示运行 Windows 2000 的计算机的标准配置单元和文件。
四、值项的数据类型
由于注册表是树形结构的,所以可以将注册表里的内容形象地描述为树枝和树叶。树枝下可以有多个树枝,也可以有多个树叶。这个树枝,我们把它叫做“项”,树叶呢,叫做“值项”。值项包括三部分:值的名称、值的数据类型以及值本身。
下图列出系统定义和使用的值项的数据类型。
|