1. 程式人生 > >windows登錄檔詳解(一)

windows登錄檔詳解(一)

登錄檔對有的人還是比較陌生的,因為現在第三方軟體太多了,如優化大師、魔法兔子等等,但個人覺得改善系統的第三方軟體還不夠完善,如果初級使用者使用不當,會出現嚴重的後果,所以提供這篇文章,希望大家多多學習,本人能力有限,還希望大家多提寶貴意見:
一、登錄檔的由來
PC機及其作業系統的一個特點就是允許使用者按照自己的要求對計算機系統的硬體和軟體進行各種各樣的配置。早期的圖形作業系統,如Win3.x中,對軟硬體工作環境的配置是通過對副檔名為.ini的檔案進行修改來完成的,但INI檔案管理起來很不方便,因為每種裝置或應用程式都得有自己的INI檔案,並且在網路上難以實現遠端訪問。

為了克服上述這些問題,在Windows 95及其後繼版本中,採用了一種叫做"登錄檔"的資料庫來統一進行管理,將各種資訊資源集中起來並存儲各種配置資訊。按照這一原則,Windows各版本中都採用了將應用程式和計算機系統全部配置資訊容納在一起的登錄檔,用來管理應用程式和檔案的關聯、硬體裝置說明、狀態屬性以及各種狀態資訊和資料等。

與INI檔案不同的是:
1.登錄檔採用了二進位制形式登入資料;
2.登錄檔支援子鍵,各級子關鍵字都有自己的"鍵值";
3.登錄檔中的鍵值項可以包含可執行程式碼,而不是簡單的字串;
4.在同一臺計算機上,登錄檔可以儲存多個使用者的特性。

登錄檔的特點有:
1.登錄檔允許對硬體、系統引數、應用程式和裝置驅動程式進行跟蹤配置,這使得修改某些設定後不用重新啟動成為可能。
2.登錄檔中登入的硬體部分資料可以支援高版本Windows的即插即用特性。當Windows檢測到機器上的新裝置時,就把有關資料儲存到登錄檔中,另外,還可以避免新裝置與原有裝置之間的資源衝突。
3.管理人員和使用者通過登錄檔可以在網路上檢查系統的配置和設定,使得遠端管理得以實現。
二、使用登錄檔
1.大家可以在開始選單中的執行裡輸入regedit
2.也可以在DOS下輸入regedit


三、登錄檔根鍵說明
hkey_classes_root 包含註冊的所有OLE資訊和文件型別,是從 hkey_local_machine/software/classes複製的。
hkey_current_user 包含登入的使用者配置資訊,是從hkey_users/當前使用者子樹複製的。
hkey_local_machine 包含本機的配置資訊。其中config子樹是顯示器印表機資訊; enum子樹是即插即用裝置資訊;system子樹是裝置驅動程式和服務引數的控制集合;software子樹是應用程式專用設定。
hkey_users 所有登入使用者資訊。
hkey_current_config 包含常被使用者改變的部分硬體軟體配置,如字型設定、顯示器型別、印表機設定等。是從hkey_local_machine/config複製的。
hkey_dyn_data 包含現在計算機記憶體中儲存的系統資訊。
四、登錄檔詳細內容
  Hkey_local_machine/software/microsoft/windows/currentVersion/explorer/user shell folders 儲存個人資料夾、收藏夾的路徑
  Hkey_local_machine/system/currentControlSet/control/keyboard Layouts儲存鍵盤使用的語言以及各種中文輸入法
Hkey_users/.Default/software/microsoft/internet explorer/typeURLs儲存IE瀏覽器位址列中輸入的URL地址列表資訊。清除文件選單時將被清空。
  Hkey_users/.Default/so../mi../wi../currentVersion/ex../menuOrder/startMenu 保留程式選單排序資訊
Hkey_users/.Default/so../microsoft/windows/currentVersion/explorer/RunMRU 儲存"開始 * 執行..."中執行的程式列表資訊。清除文件選單時將被清空。
  Hkey_users/.Default/so../microsoft/windows/currentVersion/explorer/ecentDocs 儲存最近使用的十五個文件的快捷方式(刪除掉可解決文件名稱重複的毛病),清除文件選單時將被清空。
  Hkey_local_machine/software/microsoft/windows/currentVersion/uninstall 儲存已安裝的Windows應用程式解除安裝資訊。
hkey_users/.default/software/microsoft/windows/currentVersion/applets 儲存Windows應用程式的紀錄資料。
Hkey_local_machine/system/CurrentControlSet/services/class 儲存控制面板-增添硬體裝置-裝置型別目錄。
  Hkey_local_machine/system/CurrentControlSet/control/update 立即重新整理設定。值為00設定為自動重新整理,01設定為手工重新整理[在資源管理器中按F5重新整理]。
HKEY_CURRENT_USER/Control Panel/Desktop 新建串值名MenuShowDelay=0 可使"開始"選單中子選單的彈出速度提高。新建串值名MinAnimate,值為1啟動動畫效果開關視窗,值為0取消動畫效果。
  Hkey_local_machine/software/microsoft/windows/currentVersion/run 儲存由控制面板設定的計算機啟動時執行程式的名稱,其圖示顯示在任務條右邊。[啟動資料夾程式執行時圖示也在任務條右邊]
hkey_users/.default/software/microsoft/windows/currentVersion/run儲存由使用者設定的計算機啟動時執行程式的名稱,其圖示顯示在任務條右側。
HKEY_CLASS_ROOT/Paint.Pricture/DefaultIcon 預設圖片的圖示。雙擊視窗右側的字串,在開啟的對話方塊中刪除原來的鍵值,輸入%1。重新啟動後,在"我的電腦"中開啟Windows目錄,選擇"大圖示",然後你看到的Bmp檔案的圖示再也不是千篇一律的畫板圖示了,而是每個Bmp檔案的略圖。
  Hkey-local-machine/ software/ microsoft/ windows/ currentVersion/ Policies/ Ratings 儲存IE4.0中文版"安全"*"分級審查"中設定的口令(資料加密)。
  Hkey-local-machine/ software/ microsoft/ windows/ currentVersion/ explorer/ desktop/nameSpace儲存桌面中特殊的圖示,如回收站、收件箱、MS Network等。

五、如何備份登錄檔
利用登錄檔編輯器手工備份登錄檔

  登錄檔編輯器(Regedit)是作業系統自帶的一款登錄檔工具,通過它就能對登錄檔進行各種修改。當然,"備份"與"恢復"登錄檔自然是它的本能了。

(1)通過登錄檔編輯器備份登錄檔
  由於修改登錄檔有時會危及系統的安全,因此不管是WINDOWS 98還是WINDOWS 2000甚至WINDOWS XP,都把登錄檔編輯器"藏"在了一個非常隱蔽的地方,要想"請"它出山,必須通過特殊的手段才行。點選"開始"選單,選擇選單上的"執行"選項,在彈出的"執行"視窗中輸入"Regedit"後,點選"確定"按鈕,這樣就啟動了登錄檔編輯器。

  點選登錄檔編輯器的"登錄檔"選單,再點選"匯出登錄檔檔案"選項,在彈出的對話方塊中輸入檔名"regedit",將"儲存型別"選為"登錄檔檔案",再將"匯出範圍"設定為"全部",接下來選擇檔案儲存位置,最後點選"儲存"按鈕,就可將系統的登錄檔儲存到硬碟上。

  完成上述步驟後,找到剛才儲存備份檔案的那個資料夾,就會發現備份好的檔案已經放在資料夾中了。

(2)在DOS下備份登錄檔

  當登錄檔損壞後,WINDOWS(包括"安全模式")無法進入,此時該怎麼辦呢?在純DOS環境下進行登錄檔的備份、恢復是另外一種補救措施,下面來看看在DOS環境下,怎樣來備份、恢復登錄檔。

  在純DOS下通過登錄檔編輯器備份與恢復登錄檔前面已經講解了利用登錄檔編輯器在WINDOWS環境下備份、恢復登錄檔,其實"Regedit.exe"這個登錄檔編輯器不僅能在WINDOWS環境中執行,也能在DOS下使用。

  雖然在DOS環境中的登錄檔編輯器的功能沒有在WINDOWS環境中那麼強大,但是也有它的獨到之處。比如說通過登錄檔編輯器在WINDOWS中備份了登錄檔,可系統出了問題之後,無法進入WINDOWS,此時就可以在純DOS下通過登錄檔編輯器來恢復登錄檔。

  應該說在DOS環境中備份登錄檔的情況還是不多見的,一般在WINDOWS中備份就行了,不過在一些特殊的情況下,這種方式就顯得很實用了。

  進入DOS後,再進入C盤的WINDOWS目錄,在該目錄的提示符下輸入"regedit"後按回車鍵,便能檢視"regedit"的使用引數。

  通過"Regedit"備份登錄檔仍然需要用到"system.dat"和"user.dat"這兩個檔案,而該程式的具體命令格式是這樣的:
  Regedit /L:system /R:user /E filename.reg Regpath
引數含義:
/L:system指定System.dat檔案所在的路徑。
/R:user指定User.dat檔案所在的路徑。
/E:此引數指定登錄檔編輯器要進行匯出登錄檔操作,在此引數後面空一格,輸入匯出登錄檔的檔名。
Regpath:用來指定要匯出哪個登錄檔的分支,如果不指定,則將匯出全部登錄檔分支。在這些引數中,"/L:system"和"/R:user"引數是可選項,如果不使用這兩個引數,登錄檔編輯器則認為是對WINDOWS目錄下的"system.dat"和"user.dat"檔案進行操作。如果是通過從軟盤啟動並進入DOS,那麼就必須使用"/L"和"/R"引數來指定"system.dat"和"user.dat"檔案的具體路徑,否則登錄檔編輯器將無法找到它們。

  比如說,如果通過啟動盤進入DOS,則備份登錄檔的命令是"Regedit /L:C:/windows//R:C:/windows//e regedit.reg",該命令的意思是把整個登錄檔備份到WINDOWS目錄下,其檔名為"regedit.reg"。而如果輸入的是"regedit /E D:/regedit.reg"這條命令,則是說把整個登錄檔備份到D盤的根目錄下(省略了"/L"和"/R"引數),其檔名為"Regedit.reg"。

(3)用登錄檔檢查器備份登錄檔
  在DOS環境下的登錄檔檢查器Scanreg.exe可以用來備份登錄檔。

命令格式為:
Scanreg /backup /restore /comment

引數解釋:
/backup用來立即備份登錄檔
/restore按照備份的時間以及日期顯示所有的備份檔案
/comment在/restore中顯示同備份檔案有關的部分

注意:在顯示備份的登錄檔檔案時,壓縮備份的檔案以.CAB檔案列出,CAB檔案的後面單詞是Started或者是NotStarted,Started表示這個檔案能夠成功啟動Windows,是一個完好的備份檔案,NotStarted表示檔案沒有被用來啟動Windows,因此還不能夠知道是否是一個完好備份。

比如:如果我們要檢視所有的備份檔案及同備份有關的部分,命令如下:Scanreg /restore /comment

六、使用技巧
上面介紹的都是概念上的東東,下面讓我們實際操作吧
1.加快開機及關機速度

  在[開始]-->[執行]-->鍵入[Regedit]-->[HKEY_CURRENT_USER]-->[Control Panel]-->[Desktop],將字串值[HungAppTimeout]的數值資料更改為[200],將字串值[WaitToKillAppTimeout]的數值資料更改為1000.另外在[HKEY_LOCAL_MACHINE]-->[System]-->[CurrentControlSet]-->[Control],將字串值[HungAppTimeout]的數值資料更改為[200],將字串值[WaitToKillServiceTimeout]的數值資料更改1000

2.自動關閉停止響應程式

  在[開始]-->[執行]-->鍵入[Regedit]-->[HKEY_CURRENT_USER]-->[Control Panel]-->[Desktop],將字串值[AutoEndTasks]的數值資料更改為1,重新啟動即可

3.清除記憶體內被不使用的DLL檔案

  在[開始]-->[執行]-->鍵入[Regedit]-->[HKKEY_LOCAL_MACHINE]-->[SOFTWARE]-->[Microsoft]-->[Windows]-->[CurrentVersion],在[Explorer]增加一個項[AlwaysUnloadDLL],預設值設為1。注:如由預設值設定為[0]則代表停用此功能

4.加快選單顯示速度

  在[開始]-->[執行]-->鍵入[Regedit]-->[HKEY_CURRENT_USER]-->[Control Panel]-->[Desktop],將字串值[MenuShowDelay]的數值資料更改為[0],調整後如覺得選單顯示速度太快而不適應者可將[MenuShowDelay]的數值資料更改為[200],重新啟動即可

5.禁止修改使用者資料夾 

  找到HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer。如果要鎖定"圖片收藏"、"我的文件"、"收藏夾"、"我的音樂"這些使用者資料夾的物理位置,分別把下面這些鍵設定成1:DisableMyPicturesDirChange,DisablePersonalDirChange,DisableFavoritesDirChange,DisableMyMusicDirChange

6.減小瀏覽區域網的延遲時間 

  和Windows 2000一樣,XP在瀏覽區域網時也存在煩人的延遲問題,但介紹這個問題的資料卻很難找到。如果你瀏覽一臺Win 9x的機器,例如,在網路上的芳鄰的位址列輸入"/computername",XP的機器會在它正在連線的機器上檢查"任務計劃"。這種搜尋過程可能造成多達30秒的延遲。如果你直接開啟某個共享資源,例如在網路上的芳鄰的位址列輸入"/computernameshare",就不會有這個延遲過程。要想避免XP搜尋"任務計劃"的操作,提高瀏覽網路的速度,你可以刪除HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerRemoteComputerNameSpace{D6277990-4C6A-11CF-8D87-00AA0060F5BF}子鍵。該鍵的型別是REG_SZ

7.遮蔽系統中的熱鍵  

  點選"開始"→"執行",輸入Regedit,開啟登錄檔編輯器。然後依次開啟到HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer,新建一個雙位元組值,鍵名為"NoWindows Keys",鍵值為"1",這樣就可以禁止使用者利用系統熱鍵來執行一些禁用的命令。如果要恢復,只要將鍵值設為0或是將此鍵刪除即可

8.關閉不用的共享  

  安全問題一直為大家所關注,為了自己的系統安全能夠有保證,某些不必要的共享還是應該關閉的。用記事本編輯如下內容的登錄檔檔案,儲存為任意名字的.Reg檔案,使用時雙擊即可關閉那些不必要的共享:  

  Windows Registry Editor Version 5.00  

  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/parameters]  

  "AutoShareServer"=dword:00000000  

  "AutoSharewks"=dword:00000000  

  [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa]  

  "restrictanonymous"=dword:00000001
9.讓IE支援多執行緒下載
  一般情況下,大家都使用多執行緒下載軟體如Flashget等下載檔案,其實IE也可以支援多執行緒下載的,只是微軟將這個功能給藏了起來。我們把它給挖出來就可以使用了。開啟登錄檔編輯器,在登錄檔HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings下新建雙位元組值項"MaxConnectionsPerServer",它決定了最大同步下載的連線數目,一般設定為5~8個連線數目比較好。另外,對於HTTP 1.0伺服器,可以加入名為"MaxConnectionsPer1_0Server"的雙位元組值項,它也是用來設定最大同步下載的數目,也可以設定為5~8。 

10.讓WINDOWS XP自動登陸 

  開啟:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon,在右邊的視窗中的新建字串"AutoAdminlogon",並把他們的鍵值為"1",並且把"DefaultUserName"的值設定為使用者名稱,並且另外新建一個字串值"DefaultPassword",並設其值為使用者的密碼

七、我們來讓我們的系統瘦瘦身
刪除多餘的虛擬光碟機圖示

  當我們在系統中安裝了虛擬光碟機後,"我的電腦"中就會多出一個光碟圖示,即便日後你不再使用虛擬光碟機,虛擬光碟機圖示還會繼續保留,實在沒有必要。我們動手來刪除這個多餘的虛擬光碟機圖示:單擊"開始→執行",輸入"regedit",按下"確定"鍵後開啟登錄檔編輯器,依次展開HKEY_LOCAL_MACHINE/Enum/SCSI分支,在SCSI子鍵下通常有兩個子鍵,它們分別對應著虛擬光碟機和物理光碟機,把SCSI下的子鍵全部刪除,重新啟動電腦後虛擬光碟機圖示就會被刪除。

刪除多餘的系統級圖示

  系統級圖示是指在安裝Windows時由系統自動建立的圖示,如回收站、收件箱、網路上的芳鄰等,其中有些圖示對使用者來說並無用處,但這些圖示無法直接刪除。開啟登錄檔編輯器,依次展開HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/

  explorer/Desktop/NameSpace分支,然後刪除不需要的子鍵。關閉登錄檔編輯器,重新啟動電腦後,你會發現桌面上不需要的系統級圖示已經消失了。

刪除"執行"中多餘的選項

  如果你多次使用"開始→執行"選單,會發現它的"開啟"視窗被一大堆不再需要的命令弄得凌亂不堪。開啟登錄檔編輯器,依次展開HKEY_USERS/.DEFAULT/Software/Microsoft/Windows/CurrentVersion

  /Explorer/RunMRU分支,將右側視窗的相關鍵值刪除即可。

刪除"查詢"中多餘的選項

  依次展開HKEY_USER/.Default/Software/Microsoft/Windows/CurrentVersion

  /Explorer/Doc-FindSpecMRU分支,將右側視窗中的相關鍵值刪除即可。

刪除多餘的鍵盤佈局

  Windows試圖成為世界的寵兒,因此其鍵盤佈局適合於各國各類人的使用習慣。開啟登錄檔編輯器,依次展開HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control

  /KeyboardLayouts分支,我們可以看到該分支下儲存了西班牙語(傳統)、丹麥語、德語(標準)等多種鍵盤佈局,如果你用不到這些語言的鍵盤佈局,完全可以直接刪除這些子鍵。

刪除多餘的區域設定

  與上述鍵盤佈局相類似的還有Windows的區域設定,在登錄檔編輯器中展開HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control

  /Nls/Locale分支,簡體中文使用者完全可以只保留"00000804"鍵值,其他可以毫不留情地刪除。