注冊表簡介
Windows的注冊表(Registry)實質上是一個龐大的數據庫,它存儲這下面這些內容:軟、硬件的有關配置和狀態信息,應用程序和資源管理器外殼的初始條件、首選項和卸載數據;計算機的整個系統的設置和各種許可,文件擴展名與應用程序的關聯, 硬件的描述、狀態和屬性;計算機性能紀錄和底層的系統狀態信息,以及各類其他數據。
注冊表的結構
在Windows中,注冊表由兩個文件組成:System.dat和User.dat,保存在windows所在的文件夾中。它們是由二進制數據組成。System.dat包含系統硬件和軟件的設置,User.dat保存著與用戶有關的信息,例如資源管理器的設置,顏色方案以及網絡口令等等。
Windows為我們提供了一個注冊表編輯器(Regedit.exe)的工具(圖1),它可以用來查看和維護注冊表。由圖我們可以看到,注冊表編輯器與資源管理器的界面相似。左邊窗格中,由"我的電腦"開始,以下是六個分支,每個分之名都以HKEY開頭,稱為主鍵(KEY),展開後可以看到主鍵還包含次級主鍵(SubKEY)。當單擊某一主鍵或次主鍵時,右邊窗格中顯示的是所選主鍵內包含的一個或多個鍵值(Value)。鍵值由鍵值名稱(Value Name)和數據(Value Data)組成。主鍵中可以包含多級的次級主鍵,注冊表中的信息就是按照多級的層次結構組織的。每個分支中保存計算機軟件或應建設之中某一方面的信息與數據。
注冊表中格分支的功能如下:
HKEY-CLASSES-ROOT 文件擴展名與應用的關聯及OLE信息
HKEY-CURRENT-USER 當前登錄用戶控制面板選項和桌面等的設置,以及映射的網絡驅動器
HKEY-LOCAL-MACHINE 計算機硬件與應用程序信息
HKEY-USERS 所有登錄用戶的信息
HKEY-CURRENT-CONFIG 計算機硬件配置信息
HKEY-DYN-DATA 即插即用和系統性能的動態信息
注冊表中的鍵值項數據
注冊表通過鍵和子鍵來管理各種信息。但是注冊表中的所有信息都是以各種形式的鍵值項數據保存的。在注冊表編輯器右窗格中顯示的都是鍵值項數據。這些鍵值項數據可以分為三種類型:
1.字符串值
在注冊表中,字符串值一般用來表示文件的描述和硬件的標識。通常由字母和數字組成,也可以是漢字,最大長度不能超過255個字符。在本站中以"a"="***"表示。
2.二進制值
在注冊表中二進制值是沒有長度限制的,可以是任意字節長。在注冊表編輯器中,二進制以十六進制的方式表示。在本站中以"a"=hex:01,00,00,00方式表示。
3.DWORD值
DWORD值是一個32位(4個字節)的數值。在注冊表編輯器中也是以十六進制的方式表示。在本站中以"a"=dword:00000001表示。
注冊表的備份與恢復
如果注冊表遭到破壞,Windows將不能正常運行,為了確保Windows系統安全, 我們必須經常的備份注冊表。
Windows每次正常啟動時,都會對注冊表進行備份,System.dat備份為System.da0, User.dat備份為User.da0。它們存放在Windows所在的文件夾中,屬性為系統和隱藏。
以下為2種備份注冊表的方法:
1,利用Windows中的注冊表編輯器(Regedit.exe)進行備份
運行Regedit.exe,單擊“文件“-->“導出注冊表文件“命令,選擇保存的路徑,保存的文件為*.reg, 可以用任何文本編輯器進行編輯。
2,利用Win95光盤上OtherMiscERUERU.EXE緊急事故恢復工具(Emergency Recovery Utility)。利用這個工具不但可以備份和恢復注冊表,還可以備份硬盤中的任何文件。
恢復:
當注冊表損壞時,啟動時Windows會自動用System.dat和User.dat的備份System.da0和User.da0進行恢復工作,如果不能自動恢復,可以運行Regedit.exe(它可以運行在在Windows下或DOS下),導入.reg備份文件。也可以運行ERU.EXE進行恢復。
如果您沒有進行備份或者注冊表損壞的非常嚴重,那麼您可以試試最後一著:在c:下有一個System.1st文件,屬性為隱藏和只讀,它記錄著安裝Windows時的計算機硬件軟件信息,用這個文件覆蓋System.dat。但是這樣的話您安裝的應用軟件可能會無法運行,必須重新安裝。
注冊表修改方法
通過修改注冊表我們可以實現一些特殊的功能,但是注冊表又是十分脆弱的,一個不小心就會出現錯誤。那麼我們怎麼樣來修改注冊表呢?我總結為以下幾種方法:
1.軟件修改(安全)
通過一些專門的修改工具來修改注冊表,比如:MagicSet、TweakUI、WinHacker等等。其實控制面板就是一個這樣的工具,只不過功能簡單一些。
2.間接修改(比較安全)
將要修改的寫入一個.reg文件中,然後導入注冊表中。.reg文件的基本格式為:
REGEDIT4</P><P>[HKEY_LOCAL_MACHINESoftwareSuper RabbitMagicSet]
"@"="Super Rabbit Magic Set For Windows 98 V2.92"
"a"=dword:00000001
"b"=hex:02,05,00,00
……
[HKEY_LOCAL_MACHINESoftwareSCCQuickViewer]
……
第一行為“REGEDIT4”,必須大寫。
第二行為空行。
第三行使用[]括起子鍵分支,其中HKEY_LOCAL_MACHINESoftwareSuper RabbitMagicSet就是一個子鍵分支。
第四、五、六行是該子鍵下的設置數據。其中@表示注冊表編輯器右窗格中的"默認"鍵。
以下類似。
這樣做的好處是可以避免錯誤的寫入或刪除等操作,但是要求用戶了解注冊表的內部結構和.reg文件的格式。
3.直接修改(最不安全,但最直接有效)
就是通過注冊表編輯器直接的來修改注冊表的鍵值數據項,這樣做會避免在注冊表中留下垃圾(雖然都很小,但越來越多會拖慢系統速度),但是要求用戶有一定的注冊表知識,熟悉注冊表內部結構而且一定要小心謹慎。
注冊表應用實例
1.自動刷新
每次在窗口添加一個文件夾或刪除一個對象後,須要按鍵對窗口進行重新刷新,很麻煩。通過修改注冊表可以達到自動刷新 的目的。點擊HKEY_LOCAL_MACHINESYSTEMCURRENTCONTRO LSETCONTROLUPDATE,修改 "UPDATE MODE"值,由"1"改為"0"。
2.修改系統版權信息
點擊HKEY_LOCAL_MACHINESOFTWAREMICROSOFTDEVEOPERSETUP,在其右窗口中保存著安裝 Windows98時產生的所有版權信息,用鼠標右鍵點擊這些串值鍵可以隨便修改,這樣不須重新安裝Windows 98就可修改系統原有的版權信息。
3.加快Windows 98啟動速度
Windows98在啟動時能自動加載一些程序運行,有的程序放在"開始"菜單中的啟動組裡,一些重要的、不須用戶干涉的系統程序,則存放在注冊表中。如果想加快Windows98的啟動速度,可以適當地刪除這些程序。在啟動組中的程序可以通過"任務欄"很方便地刪除。如果程序不在啟動組中,則須要通過修改注冊表來刪除。
點擊HKEY_LOCAL_MACHINEMICROSOFTWINDOWSCURRENTVERSIONRun,選擇右邊窗口中出現的開機自啟動程序,將之刪除即可。
點擊HKEY_LOCAL_MACHINESOFTWAREMICROSOFTWINDOWSCURRENTVERSIONRunServices,單擊右邊窗口中出現的開機自啟動程序,將之刪除。
Run和RunServices的區別是,Run中的程序是WINDOWS初始化後才運行的,而RunService中的程序是在操作系統啟動時就開始運行的,也就是說RunServices中的程序先於Run中的程序運行,如電源管理程序。
4.刪除"開始"菜單中的"收藏夾"
"收藏夾"是為了便於訪問主頁而設計的,對於沒上網的用戶來說其用處不大,可以刪除它。點擊HKEY_CURRENT_USERSOFTWARE MICROSOFTWINDOWSCURRENTVERSIONPOLICIES EXPLORER,在右邊窗口中點擊鼠標的右鍵,然後選擇"新建"菜單中的"DWORD"命令,命名為NoFavoritesMenu,並將其值設置為 "1"。 再重新啟動電腦。