Windows 2000 將它的配置信息存儲在名為注冊表的數據庫中,其中包含了每個計算機用戶的配置文件,以及有關系統硬件、已安裝的程序和屬性設置等信息,Windows 2000 在運行過程中要一直引用這些信息。注冊表是以二進制形式存儲在硬盤上,錯誤地編輯注冊表可能會嚴重損壞系統。所以,在更改注冊表之前,強烈建議備份注冊表信息。為了防止在修改注冊表的時候發生致命錯誤,有必要了解一下注冊表文件的備份和恢復方法。除此之外,為了研究注冊表的結構,還可以將注冊表中的某一主鍵或子鍵保存為文本文件,或者打印出來,這項工作同樣需要了解注冊表文件的導入與導出方法。
一、完全備份/恢復注冊表
如果要完全備份注冊表,可以在注冊表編輯器Regedit.exe中單擊“注冊表”菜單下的“導出注冊表文件”命令,並選擇導出范圍為“全部”,將注冊表文件(*.reg)保存在硬盤上即可。要完全還原注冊表的方法同上,只需要單擊“注冊表”菜單下的“導入注冊表文件”命令,然後選擇硬盤上相應的備份注冊表文件即可。順便提一下,Regedit.exe(16位的注冊表編輯器)包含在 Windows 2000 中的主要原因是其搜索功能比較強,用戶同樣可以使用 Regedit.exe 更改注冊表,但其功能不夠全面(如無法設置注冊表項的權限),可能無法正確查看或編輯個別數據類型。因此,建議只將 Regedit.exe 用於搜索及注冊表的完全備份,在需要編輯注冊表時,使用system32目錄下的 Regedt32.exe(它是32位注冊表編輯器,提供了一些高級功能,采用多窗口格式顯示各預定義項,查看起來比較方便)。
二、部分備份注冊表
如果只需要保存一個根鍵或者一個主鍵(子鍵)等一般的備份,在Regedt32中就可以比較方便地完成。首先選擇要保存的主鍵或子鍵,然後再單擊“注冊表”菜單下“保存項”命令,在彈出的“保存項”對話框中輸入要保存的注冊表文件的文件名,擴展名建議使用“reg”,便於今後查找。
在保存某些主鍵或子鍵時,因為其使用的用戶不同,或者是該主鍵或子鍵正在被系統使用,會出現禁止訪問的警告:“權限不足,無法保存項”。這時系統管理員可以使用“安全”菜單下的“權限”命令,對這些主鍵或子鍵的用戶賦予“完全控制”的權限(具體操作參見第15期《電腦報》軟件世界中“Windows 2000 注冊表直通車(上)”一文),然後就可以保存該項了。
將注冊表主鍵或子鍵保存為“項”文件,無法直? 文本編輯器打開查看,所以想研究注冊表的結構的話,可以將注冊表文件導出為文本文件,操作的方法是選擇“注冊表”菜單下“將子目錄樹另存為”命令,將其命名為擴展名為TXT的文件後,再單擊“保存”按鈕即可。以後我們就可以使用Windows的寫字板或記事本來查看這個文本文件了。如果需要,也可以使用同一菜單下的“打印子目錄樹”命令來打印。
三、部分恢復/導入注冊表
部分恢復/導入注冊表有兩種方法,第一種是還原“項”,即使用以前備份的注冊表文件或其它注冊表文件來覆蓋現有的主鍵。首先在Regedt32注冊表編輯器中,將光標移至要還原的主鍵上,再選擇“注冊表”菜單下的“還原”命令,並在“還原項”窗口中選擇要還原的注冊表文件,單擊“打開”按鈕,確認覆蓋現有主鍵後,即可還原該項到當前選定的項上。注意:被選擇還原的文件必須與注冊表編輯器中所選擇的主鍵內容吻合,即原先保存的注冊表“項”只能還原到原先的位置。
另外一種方法是加載配置單元。“加載配置單元”和“卸載配置單元”。這兩個命令只有在[HKEY_USERS]或[HKEY_LOCAL_MACHINE]這兩個預定義項窗口中才有效,將配置單元加載到注冊表中後,配置單元成為其中一個項的子項。具體做法是在Regedt32注冊表編輯器中,先用鼠標選擇上述兩個預定義項中的一個主鍵,再選擇“注冊表”菜單下的“加載配置單元”命令,接著在“加載配置單元”對話框內選擇要加載的注冊表文件,單擊“打開”按鈕後出現“加載配置單元”對話框,在對話框的“項名稱”文本框內輸入新主鍵的名稱,如“.ChenNai”,再單擊“確定”按鈕,這樣你就發現在當前主鍵的下面出現了一個新的主鍵(.ChenNai)。如果要卸載該配置單元,也很簡單,選中該主鍵後,選擇“注冊表”菜單下“卸載配置單元”命令即可。
上述兩種方法的不同之處在於“加載配置單元”引入的主鍵可以是注冊表內原先沒有的內容。
最後說一下,Windows 2000中注冊表文件的位置,同Windows 9X一樣,Windows 2000的注冊表也分為兩個部分,但包括多個文件,其中用戶配置文件保存在根目錄“Documents and Settings”下用戶名的目錄中,包括兩個隱藏文件:NTUSER.DAT、NTUSER.INI及ntuser.dat.LOG日志文件。系統配置文件位於Windows 2000系統目錄下的“SYSTEM32CONFIG”中,包括DEFAULT、SOFTWARE、SYSTEM、AppEvent.Evt、SecEvent.Evt、SysEvent.Evt等多個隱藏文件及其相應的.LOG(日志)文件和.SAV文件。這些注冊表文件在Windows 2000運行時無法使用其它工具打開,這一點與Windows 9X下的system.dat及user.dat不同。