注:本文和今后的系列文章中均以Windows XP的注冊表為例(與Windows.NET Server注冊表相同)來作介紹。
1.1 注冊表的概念
Windows的注冊表實質上是一個龐大的數據庫,用來存儲計算機軟硬件的各種配置信息其內容有幾下幾個方面:
1.2 注冊表與早期ini文件的區別
在早期的Windows操作系統中(如Windows 3.x)中是通過兩個擴展名為ini的文件(system.ini和win.ini)來完成對軟硬件工作環境的配置的。其中,system.ini控制軟件,而win.ini控制桌面和應用程序。ini文件的缺點是大小被限制在64KB以內,但是隨著操作系統的功能日益強大,應用程序不斷增加,不得不增加新的ini文件來對應用程序進行控制。這使ini文件體積龐大,操作系統運行速度降低,管理和維護也不盡方便。而且,ini文件容易被文本編輯器編輯,編輯過程易出錯從而造成系統比較脆弱。另外,ini文件只存儲在本機上,想通過網絡進行遠程訪問幾乎是不可能的。
為了改進以上不足,在Win 95 及其后的版本中,就采用注冊表管理配置信息的方法,它與ini文件的主要區別如下:
1.3 注冊表的功能
在Windows XP 操作系統中,注冊表作為一個保存驅動程序所有設置及存放位置的數據庫,與Windows XP系統及驅動程序間有著密切關系,扮演著操作系統與驅動程序連接者的角色。
當操作系統訪問硬件設備時,針對BIOS設置程序報告給Windows XP的設備,Windows XP會將適當的驅動程序裝在到系統中。這些驅動程序獨立于操作系統,操作系統只需要它們的位置、文件名和版本號等,而這些信息全都存儲在注冊表的HEKY_LOCAL_MACHINEHARDWARE中。
同時,注冊表也承當著操作系統與應用軟件的連接者。在應用程序安裝時,安裝程序會向注冊表中寫入相關的運行設置。在應用軟件運行時,就從注冊表里讀取所需要的設置數據,以便找到所需程序或動態連接庫。
我們可以通過修改注冊表訂制個性化桌面;手動對某些軟硬件參數進行修改而無需重啟系統;通過刪除注冊表中的垃圾信息,可以提高計算機運行速度;恢復受損的注冊表可解決系統故障和錯誤;由注冊表可在網上檢查系統的配置和設置,實現遠程管理系統。
1.4Windows XP注冊表文件位置及組成
Winndows XP注冊表的數據文件放在C:\Windows\System32\config文件夾內分別是DEFAULT、SAM、SECURITY、SYSTEM、SOFTWARE和userdiff。如圖所示:
打開注冊表編輯器的方法是單擊[開始]|[運行],在命令行中輸入“regedit”或“regedt32”,點[確定]或回車即可。
注冊表的結構組成由根鍵、主鍵、子鍵和鍵值項等組成。如圖所示,根鍵(root key)是指在注冊表編輯器左邊窗口中以“HKEY”作為前綴開頭的字符串,因其處于注冊表的最頂層而被稱為根鍵,Windows XP注冊表中包括五大根鍵,都存于根目錄“我的電腦”下,分別為HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS和HKEY_CURRENT_CONFIG。
主鍵(main key)是指根鍵下面與根鍵最近的鍵,主鍵通常包括一個或多個子鍵或值項。如圖中HKEY_CURRENT_USER中包括14個主鍵。
子鍵(sub key)是指包含在主鍵下面的鍵,其名稱是相對于主鍵而言的。每個主鍵下面通常包含若干子鍵,如主鍵AppEvents下面包含兩個子鍵。
鍵值項(value entry)是指顯示在注冊表編輯器右邊的各種信息,如圖所示,每個鍵值項包括名稱、類型和數據三部分。鍵值項的名稱可以由任意字符、數字、代表符合空格組成,但不能使用反斜杠。不同根鍵、主鍵和子鍵的鍵值項可以同名,但同一鍵中的鍵值項不能同名。鍵值項所定義的內容就是該鍵值項的值,其數據最大可以占用64KB的空間。值的數據類型可以是字符串、二進制值、DWORD(雙字節)值等。
新聞熱點
疑難解答