登记项(Registry)是Windows NT配置数据库结构化的记录集,它类似于Windows中的.INI文件。登记项提供了一个安全而统一的数据库,在其中以分层格式存储配置,而不像Windows那样用大量的.INI文件。这样,有助于简化管理,使管理员易于在Windows NT中使用管理工具提供本地或远程服务。[1]
中文名
源计算机登记项
外文名
Source computer registration items
定 义
配置数据库结构化的记录集作 用
有助于简化管理
系 统
计算机
应用学科
计算机原理
源计算机登记项登记项的使用
编辑
语音
Windows NT组件以下述方法使用登记项。
硬件数据(NTDETECT)启动Windows NT时,登记项接收易失硬件配置数据——计算机中检测到的硬件信息。在基于X86的计算机上,NTDE-TECT. COM程序做这些事情。在基于RISC的计算机上,此信息从固件中抽取。
Windows NT内核(NTOSKRNL)启动期间,Windows NT内核从登记项选取信息,包括要装入什么设备驱动程序,以及用什么次序装人,内核传送回它自身的信息,例如版权号等。
设备驱动程序设备驱动程序也向登记项传送数据,并从登记项接收装入和配置参数。性能良好的设备驱动程序告诉登记项它在使用什么系统资源,例如,硬件中断或DMA通道。设备驱动程序还报告所发现的配置数据。
管理/配置工具Windows NT还提供大量其它接口,允许管理员修改系统配置数据,例如Control Panel,User Manager和Windows NT Setup。
Setup程序为应用程序或硬件运行Windows NT Setup程序或其它设置程序时,程序可以对登记项增加新的配置数据。
Win16应用程序Windows NT为了与一些应用程序和相关工具(如setup程序)兼容也支持.INI文件。因为,一些应用程序(特别是16位Windows应用程序)现阶段将继续使用.INI文件。AUTOEXEC.BAT和CONFIG. SYS文件也将存在,以提供对MS-DOS和Windows 3. 1应用的兼容。当安装一个基于Windows 3. 1的应用时,应用的setup程序像在Windows中一样创建它自己的.INI文件或在WIN. INI或SYSTEM. INI文件中创建入口。
但是,这些入口不能在登记项中升级,因为这些应用不知道如何访问登记项。因此,基本的SYS-TEM.INI, WIN.INI和WINFILE. INI文件在Windows NT中放于根目录下。
源计算机登记项层次结构
编辑
语音
登记项以类似磁盘上的目录和文件那样的层次结构进行组织。层次说明
子树子树或子树关键字,类似于磁盘的目录。登记项有4个预定义的子树:
HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_USER和HKEY_CLASSES_R00T
配置元一个配置元是关键字、次关键字和值的分离体。每个配置元具有一个相应的文件和LOG文件。LOG文件用于保证自动发生关键字值的改变。这些文件在目录\winnt—root\SYSTEM32\CONFIG.中
关键字和次关键字关键字和次关键字类似于File Manager中的目录结构,每个配置元都可以包括关键字和次关键字,就像目录可以包含子目录一样
值项值类似于层次末端的文件,关键字和次关键字可以包括一个或多个值。一个值项有三部分:名称,数据类型和值本身。
值数据类型REG_DWORD:只允许一个值,它必须是1—8个16进制数字的字串。
REG_SZ:只允许一个值,并且它为要存储的串作解释。
REG_EXPAND_SZ:类似于REG—SZ,只是文本可包含可替换的变量。例如在串%SystemRoot%\NTVDM.EXE中,%SystemRoot%可用Windows NT Sys.tem32子目录的路经替换。
REG_BINARY:只允许一个值,是16进制数字串,每对作为一个字节值解释。
REG_MULTI_SZ:允许多个值,每个值作为Multi_SZ的成份解释,值间用NULL字符分隔。
[1]
源计算机登记项登记项子树
编辑
语音
登记项结构化为4个关键字子树的集合。这些关键字包括每个计算机和每个用户的配置信息。每个计算机信息包括安装的软硬件信息,以及特定计算机上的网络设置。每个用户信息包括桌面设置、软件选择和打印机设置。访问任何关键字都要通过以下4个子树。
(1)HKEY_LOCAL_MACHINE
包括有关本地机器的所有配置信息。这个子树不管哪个用户登录以及使用什么软件而保留相同。在这个子树中的信息由应用程序、设备驱动程序和Windows NT操作系统使用,以确定本地机器的配置数据。其中部分信息用于引导Windows NT。
HKEY_LOCAL_MACHINE关键字有5个次关键字—Hardware, Security Account Manager(SAM ) , Security, Software和System。其中后4个次关键字都看作是配置元,因为,它们在\winnt_root\SYSTEM 32\CONFIG目录中有相应的文件。应用程序可以查询所有5个关键字,但只可以对Software和System关键字增加信息。
( 2 ) KKEY_ USERS
容纳了当前登录用户的配置设置和缺省的用户配置文件。因此,HKEY_USERS关键字包括DEFAULT次关键字和一个或多个以用户的SIDS(Windows NT用以识别用户的安全身份号)为名称的次关键字。DEFAULT关键字分配信息给本地机器上的新用户,它对应的文件为\winnt _ root \SYS-TEM32\CONFIG目录下的USERDEF文件。登记项中每个用户的信息分别保存在\winnt一root \SYSTEM32 \ CONFIG目录下的USERxxx和USERxxx. LOG文件中。当一个用户登录时,用户的配置信息拷贝到HKEY_CURRENT_USER中,直到用户退出登录。在这期间,用户改变的任何设置都记录在HKEY_CURRENT_USER和HKEY_USERS的相应入口中。
缺省情况下,用户的配置文件保存在\winnt_root \SYSTEM 32 \CONFIG目录中,但对于Win-doves NT Advanced Server的域管理,它们可以放在本地机器上或存储在远程主机上。
(3)HKEY_CURRENT_USER
当前登录到机器上用户的有关信息。这些信息以前是存储在WIN. INI初始化文件中。这个子树有一份拷贝作为单个文件或配置元存储在机器上。
当一个用户登录时,用户的安全身份号(SID)与登记项中的已知的SIDS进行比较,如果系统识别了用户登录的SID,系统就装载这个用户的配置设置;否则,系统使用保存在HKEY_USERS\. DEFAULT中的配置信息。
HKEY_ CURRENT_'USER关键字由以下次关键字组成:Console、Control Panel、Environment、Keyboard Layout、Network、Printers、ProgramGroups、Software和Windiws 3. 1 Migration。
(4) HKEY_CLASSES_ROOT
这个子树提供入口来定义资源的类以及与这些类相关的特性。包括软件配置信息,特别是对象链接与嵌入(OLE)和Windows外壳应用程序使用的信息。每项扩展名与能使用这种类型文件的应用相联系,例如,HKEY_ CLASSES_ ROOT关键字中包括.avi,.bmp和.DOC等许多次关键字。这个子树的目的是提供与Windows 3. 1登记数据库的兼容性。[1]
源计算机登记项登记项的编辑
编辑
语音
(1)Registry Editor
Registry Editor程序(REGEDT32. EXE)是一种工具,允许管理员查看和操作登记项的配置,它位于\winnt_ root\SYSTEM32目录中。缺省情况下,在Program Manager的任何程序组中都不出现。管理员可以完全控制登记项,并根据需要进行改变,而其他用户只可以对这个登记项进行读访问。管理员可以通过Security菜单,在Registry关键字上改变权限。
Registry Editor主要用于帮助查找故障和解决问题。可以存储登记项的段落到磁盘上,并将其传送到另一台计算机上,以进行分析。还可以通过网络中的RPC服务,远程查看登记项。
(2) Win MSD
Registry Editor还可以从WinMSD程序启动,从Tools菜单选择Registry Editor项。WinMSD是Windows NT的诊断工具,用于查看存放在登记项中的系统配置信息,它位于\winnt_ root \SYS-TEM32目录中。
(3) Find Key命令
从Registry Editor的View菜单中选择Find Key命令,可以查看登记项的特定关键字(但不能查看值项)。关键字出现在Registry Editor窗口的左边格中。查找从当前选择的关键字开始,向下(或向上)开始搜索所有预定义关键字及其所有的子关键字。查找过程局限在子树范围内,也就是说,在HKEY_ LOCAL_ MACHINE窗口中查找,则不会查找HKEY_CURRENT_USER下的关键字。[1]
源计算机登记项登记项的完整性
编辑
语音
Windows NT通过配置设置来维护登记项的完整性。
配置设置可简单认为是一组系统参数。Windown NT工作站有两套配置设置—CurrentCon_trolSet和LastRnownGood (LKG)。好比有两个CONFIG. SYS文件。
CurrentControlSet是HKEY_LOCAL_MACHINE子树中SYSTEM配置元下的一个关键字,链接启动系统的配置设置。这些设置反映当前控制状态。
LastKnownGood是HKEY_ LOCAL_MACHINE子树中SYSTEM配置元下Select关键字中的一个值项,反映最后一次成功启动期间使用的配置设置。它起备份作用,用于当前配置不能启动系统时。当完成登录后才认为是成功启动,这时创建LastKnowGood配置。
有两种途径使用LKG:自动转换和手工执行。当启动期间,任何服务遇到问题时,它将自动地告诉系统转换用LKG系统参数。如果在启动菜单选择Windows NT后,迅速按空格键,一个新菜单又出现,可以从这个菜单中选择一种启动数据,用当前配置设置还是用LKG来启动系统。
在\winnt_ root\SYSTEM32\CONFIG目录中还有一个文件—SYSTEM.ALT对登记项起维护作品。SYSTEM.ALT是SYSTEM配置元(SYS-TEM文件)的备份文件,以防SYSTEM这个文件存储在坏扇区上。如果Windows NT在启动时不能顺利获得系统配置元,它将自动转去读SYS-TEM.ALT文件。[1]
词条图册
更多图册
参考资料
1.
胡兵. Windows NT中的登记项及其完整性[J]. 计算机世界月刊, 1995(12):67-69.