Windows NT中的登記項及其完整性

學識都 人氣:2.6W
Windows NT中的登記項及其完整性
摘要: 該文結合Windows中的.INI文件,較全面、深入地介紹了Windows NT中的配置數據庫——登記項,最後就Windows NT如何維護登記項的完整性加以討論。
目前,許多Windows用戶升級到Windows NT。Windows通過.INI文件來記錄系統運行參數,那麼,對於Windows NT,它又是如何保證系統協調一致工作的呢?
登記項(Registry)是Windows NT配置數據庫——結構化的記錄集,它類似於Windows中的.INI文件。登記項提供了一個安全而統一的數據庫,在其中以分層格式存儲配置,而不像Windows那樣用大量的.INI文件。這樣,有助於簡化管理,使管理員易於在Windows NT中使用管理工具提供本地或遠程服務。
1.登記項的使用
@@12A06700.GIF;圖1@@
Windows NT組件以下述方法使用登記項。
硬件數據(NTDETECT) 啓動Windows NT時,登記項接收易失硬件配置數據——計算機中檢測到的硬件信息。在基於X86的計算機上,NTDETECT.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應用的兼容。當安裝一個基於Windows3.1的應用時,應用的setup程序像在Windows中一樣創建它自己的.INI文件或在WIN.INI或SYSTEM.INI文件中創建入口。但是,這些入口不能在登記項中升級,因爲這些應用不知道如何訪問登記項。因此,基本的`SYSTEM.INI、WIN.INI和WINFILE.INI文件在Windows NT中放於根目錄下。
2.登記項的層次結構
@@12A06701.GIF;圖2@@
登記項以類似磁盤上的目錄和文件那樣的層次結構進行組織。
@@12A06702.GIF;表1@@
登記項與Windows中的.INI文件有許多相似之處。關鍵字類似於.INI文件中的小節,一個值項對應於.INI文件中小節裏的一條設置項。然而,登記項可以包含次關鍵字,而.INI文件不支持小節的嵌套;登記項中的值項還可以包含可執行代碼,而在.INI文件中設置項只是簡單的串。同一臺計算機上有多個用戶,登記項可以存儲每個用戶的特性,而.INI文件中卻不可能。
3.登記項子樹
登記項結構化爲4個關鍵字子樹的集合。這些關鍵字包括每個計算機和每個用戶的配置信息。每個計算機信息包括安裝的軟硬件信息,以及特定計算機上的網絡設置。每個用戶信息包括桌面設置、軟件選擇和打印機設置。訪問任何關鍵字都要通過以下4個子樹。
(1)HKEY-LOCAL-MACHINE
包括有關本地機器的所有配置信息。這個子樹不管哪個用戶登錄以及使用什麼軟件而保留相同。在這個子樹中的信息由應用程序、設備驅動程序和Windows NT操作系統使用,以確定本地機器的配置數據。其中部分信息用於引導Windows NT。
HKEY-LOCAL-MACHINE關鍵字有5個次關鍵字——Hardware、Security Account Manager (SAM)、Security、Software和System。其中後4個次關鍵字都看作是配置元,因爲,它們在winnt-rootSYSTEM 32CONFIG目錄中有相應的文件。應用程序可以查詢所有5個關鍵字,但只可以對Software和System關鍵字增加信息。
(2)KKEY-USERS
容納了當前登錄用戶的配置設置和缺省的用戶配置文件。因此,HKEY-USERS關鍵字包括DEFAULT次關鍵字和一個或多個以用戶的SIDs (Windows NT用以識別用戶的安全身份號)爲名稱的次關鍵字。DEFAULT關鍵字分配信息給本地機器上的新用戶,它對應的文件爲winnt-rootSYSTEM32CONFIG目錄下的USERDEF文件。登記項中每個用戶的信息分別保存在winnt-rootSYSTEM32CONFIG目錄下的USERxxx和USERxxx.LOG文件中。當一個用戶登錄時,用戶的配置信息拷貝到HKEY-CURRENT-USER中,直到用戶退出登錄。在這期間,用戶改變的任何設置都記錄在HKEY-CURRENT-USER和HKEY-USERS的相應入口中。
缺省情況下,用戶的配置文件保存在winnt-rootSYSTEM32CONFIG目錄中,但對於Windows 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、Program Groups、Software和Windiws 3.
1 Migration。
(4)HKEY-CLASSES-ROOT
這個子樹提供入口來定義資源的類以及與這些類相關的特性。包括軟件配置信息,特別是對象鏈接與嵌入(OLE)和Windows外殼應用程序使用的信息。每項擴展名與能使用這種類型文件的應用相聯繫,例如,HKEY-CLASSES-ROOT關鍵字中包括.avi、.bmp和等許多次關鍵字。這個子樹的目的是提供與Windows 3.1登記數據庫的兼容性。
4.登記項的編輯
(1)Registry Editor
Registry Editor程序()是一種工具,允許管理員查看和操作登記項的配置,它位於winnt-rootSYSTEM32目錄中。缺省情況下,在Program Manager的任何程序組中都不出現。管理員可以完全控制登記項,並根據需要進行改變,而其他用戶只可以對這個登記項進行讀訪問。管理員可以通過Security菜單,在Registry關鍵字上改變權限。Registry Editor主要用於幫助查找故障和解決問題。可以存儲登記項的段落到磁盤上,並將其傳送到另一臺計算機上,以進行分析。還可以通過網絡中的RPC服務,遠程查看登記項。
(2)WinMSD
Registry Editor還可以從WinMSD程序啓動,從Tools菜單選擇Registry Editor項。WinMSD 是Windows NT的診斷工具,用於查看存放在登記項中的系統配置信息,它位於winnt-rootSYSTEM32目錄中。
(3)Find Key命令
從Registry Editor的View菜單中選擇Find Key命令,可以查看登記項的特定關鍵字(但不能查看值項)。關鍵字出現在Registry Editor窗口的左邊格中。查找從當前選擇的關鍵字開始,向下(或向上)開始搜索所有預定義關鍵字及其所有的子關鍵字。查找過程侷限在子樹範圍內,也就是說,在HKEY-LOCAL-MACHINE窗口中查找,則不會查找HKEY-CURRENT-USER下的關鍵字。
錯誤使用Registry Editor會引起嚴重的、系統範圍的問題,導致需要重新安裝Windows NT。使用此工具一定要當心。一般用戶可以通過Control Panel和Windows NT Setup程序來改變登記項中的內容。
5.登記項的完整性
Windows NT通過配置設置來維護登記項的完整性。
配置設置可簡單認爲是一組系統參數。Windows NT工作站有兩套配置設置——CurrentControlSet和LastKnownGood(LKG)。好比有兩個文件。
CurrentControlSet是HKEY-LOCAL-MACHINE子樹中SYSTEM配置元下的一個關鍵字,鏈接啓動系統的配置設置。這些設置反映當前控制狀態。
LastKnownGood是HKEY-LOCAL-MACHINE子樹中SYSTEM配置元下Select關鍵字中的一個值項,反映最後一次成功啓動期間使用的配置設置。它起備份作用,用於當前配置不能啓動系統時。當完成登錄後才認爲是成功啓動,這時創建LastKnowGood配置。
有兩種途徑使用LKG——自動轉換和手工執行。當啓動期間,任何服務遇到問題時,它將自動地告訴系統轉換用LKG系統參數。如果在啓動菜單選擇Windows NT後,迅速按空格鍵,一個新菜單又出現,可以從這個菜單中選擇一種啓動數據,用當前配置設置還是用LKG來啓動系統。
在winnt-rootSYSTEM32CONFIG目錄中還有一個文件——對登記項起維護作品。是SYSTEM配置元(SYSTEM文件)的備份文件,以防SYSTEM這個文件存儲在壞扇區上。如果Windows NT在啓動時不能順利獲得系統配置元,它將自動轉去讀文件。 

作者:不詳 
TAGS:Windows Nt 登記