Windows註冊表詳解

來源:互聯網
上載者:User

   註冊表,Windows中最強大的工具。如果說Windows圖形介面是井,應用程式的運行是水,那麼註冊表就是我們取水的桶,沒有註冊表這個“桶”,大多數程式就只能看不能用。對它簡單地改動都能讓你單擊某個程式卻不能運行,讓你的各種運行奇慢無比,在你的各種狀態列留下各種無聊的資訊。註冊表聽起來很高深,其實挺簡單。它就像是你的檔案夾一樣,有根目錄有子目錄,根目錄表示主要的功能,子目錄將這些主要功能再細化,最後落實到索引值就相當於最後子目錄中的運行程式。每個索引值就一個功能,而我們只需要知道某項功能可能在哪些主目錄、哪些子目錄,最後在其中找到可能的索引值就可以了。這樣,你就能自己探索註冊表的奧秘了。

註冊表曆史

    在DOS時代,我們所有的硬體裝置都是通過啟動盤下的Confis.sys和Autoexec.bat兩個設定檔在系統啟動時載入驅動程式並使其工作的(現在Windows中也部分保留這種配置方式),而到了後來的Windows 3.x,則通過Win.ini、System.ini、Control.ini、program.ini等INI檔案來儲存所有有關作業系統和應用程式的配置資訊。但出於安全的考慮(任何文本編輯工具都能修改ini檔案,而且ini檔案可讀性很強)以及越來越多的相關資訊需要儲存,使得微軟從Windows  95開始將註冊表概念引入到作業系統中來。
註冊表就是一個統一集中地管理系統硬體設施、軟體配置等資訊的資料庫,其中存放著各種參數,直接控制著windows的啟動、硬體驅動程式的裝載以及一些Windows應用程式的運行,並在其中記錄了與機器有關的硬體和軟體的配置資訊,及連網電腦的整個系統的設定和各種許可,副檔名與應用程式的關聯,硬體組件的描述、狀態和屬性,效能記錄和其他底層的系統狀態資訊,以及其他資料等。
當然註冊表這個資料庫是不能用其他編輯軟體開啟的,他被存放在Windows檔案夾下的system.dat和user.dat兩個隱藏檔案中,在Windows中你只有用“運行”命令列regedit才能進行編輯,當然你也可以用編輯軟體建立.reg來修改。 

註冊表的結構

註冊表的資訊當然不會雜亂無章地排列,雖然它被存放在System.dat和User.dat兩個二進位檔案中,但是它內部的組織圖是一個類似於檔案夾管理的樹狀分層的結構。當然他們沒有主目錄、子目錄的稱號,他們有自己的名字主鍵、子鍵、索引值名稱及索引值資料(1)。
Windows註冊表的主鍵(相當於主目錄)主要包括HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_USER、  HKEY_CLASSES_ROOT、HKEY_CURRENT_CONFIG和HKEY_DYN_DATA六大主鍵,這六大主鍵在所有的Windows作業系統中是固定不便的,其中最為主要的是HKEY_LOCAL_MACHINE和HKEY_USERS兩大主鍵,它們是註冊表的核心,HKEY_LOCAL_MACHINE對應著System.dat檔案,而HKEY_USERS則對應著User.dat檔案。

註冊表使用詳解
因為Windows註冊中就是由六大主鍵組成的,因此我們也按照六大主鍵的結構來詳細講解註冊表。
HKEY_CLASSES_ROOT
開啟這個主鍵,你會發現很多以.c、.doc、.dll等為名字的子鍵。其實很簡單它
HKEY_CLASSES_ROOT是HKEY_LOCAL_MACHINE\Software\Classes下的一個捷徑,大家同樣可以到HKEY_LOCAL_MACHINE\Software\Classes下進行操作。在它的主鍵裡記錄的是系統中各類檔案與其應用程式之間的關聯關係,因為它包括了成千上萬的與程式、檔案相關聯的鍵和值以及ActiveX類的儲存等內容,而使得它成為註冊表的一個最大分支。
提示:相信大家對Windows中的關聯一定不會陌生,我們在資源管理員中雙擊系統中的某個檔案時,系統會自動開啟一個程式並會開啟它。如雙擊一個Word檔案則會自動調用Microsoft Word,而雙擊BMP則會自動調用畫圖程式等等,這就是關聯。而大家所不知道的是,其實當我們雙擊一檔案後,Windows會首先在該主鍵下尋找該類檔案的副檔名,然後以此副檔名子鍵中的檔案類型資訊為基礎,再尋找該類檔案相對應的應用程式資訊,最後使用相應的程式來開啟我們雙擊的檔案。如我們可以單擊“開始”→“程式”→“運行”命令,然後輸入“regedit”來啟動系統註冊表,並單擊HKEY_CLASSES_ROOT主鍵,找到“.bmp”子鍵(2),我們會發現其記錄其預設值為“Microsoft Word文檔e”,而它的shell-open-command子鍵則記錄的command子鍵的預設值“C:\WINDOWS\SYSTEM32\MSPAINT.EXE %1”,則表示它是調用C:\WINDOWS\SYSTEM32\MSPAINT.EXE程式來開啟我們雙擊的BMP檔案的。
HKEY_CLASSES_ROOT主鍵下的子鍵很簡單,主要包括兩類,一類是副檔名子鍵,另一類是檔案類型子鍵。副檔名子鍵主要包括系統內定的副檔名和應用程式自儲存的副檔名,副檔名子鍵均以“.”開頭,後跟副檔名,可以包括任意多個字元;“*”子鍵和其他的不以“.”開頭的子鍵是類儲存子鍵,其中包括檔案類型、類別識別項以及程式標識符。檔案名稱擴充子鍵中指明了該類檔案的關聯檔案類型以及開啟檔案等。
HKEY_CLASSES_ROOT主鍵中的檔案類型子鍵下的常見子鍵的含義:
Defaulticon:預設的該類檔案的顯示表徵圖,即我們在檔案夾中看到的表徵圖。
Shell:程式外殼子鍵
Shell\open\command:開啟該類檔案的外殼程式,預設值為相應程式的路徑、名稱及其參數
Shell\edit\command:編輯該類檔案的外殼程式,預設值為相應程式的路徑、名稱及其參數
Shell\print\command:列印該類檔案的外殼程式,預設值為相應程式的路徑、名稱及其參數
HKEY_CLASSES_ROOT主鍵下還有一個重要的子鍵“CLSID”,該子鍵下記錄了所有的登入的系統類別標識符。
2、HKEY_USERS
該主鍵下記錄的是Windows中所有使用者的設定資訊,它的值是變化的,並取決於電腦是否啟用了使用者設定檔,若未啟用使用者設定檔,則可以看到稱為.DEFAULT的單一子鍵,該子鍵包括和所有使用者相關的各種設定,並且和\Windows下的USER.DAT檔案相配合。若啟用了使用者設定檔並且正確地執行了登入,則還有一個“使用者名稱”的子鍵,該使用者名稱為使用者登入的名稱。而有關該使用者名稱的相關索引值則放在HKEY_CURRENT_USER中。
3、HKEY_CURRENT_USER
在HKEY_CURRENT_USER主鍵中儲存了當前登入使用者的所有配置資訊,它也是自動變化的,取決於當前登入的使用者,它其實就是HKEY_USERS\使用者名稱鍵下的捷徑,當然了,如果我們的機器未啟用使用者配置則它是HKEY_USERS\.DEFAULT的捷徑。(3)
3所示,在該主鍵下有8個子鍵,它們的作用分別是:
(1)AppEvents
該子鍵儲存了系統事件的聲音設定。在下面還有“EventLabels”和“Schemes”兩個子鍵。子鍵 EventLabels-儲存了每個事件的標識及名稱,而子鍵Schems則關聯了每個事件和聲音,下邊有“Apps”和“Name”兩個子鍵,“Apps”子鍵下儲存了系統事件的聲音設定,一般每個事件下有兩個子鍵“.Current”和“.Default”,它們分別指明了當前的音效檔和預設的音效檔的位置。“Name”子鍵儲存了聲音配音方案的名稱,該名稱我們也可以在控制台中雙擊“聲音”項,然後在出現的聲音屬性視窗中的方案選項中看到。
(2)Control Panel
該子鍵儲存了系統案頭、游標、表徵圖、鍵盤滑鼠等的設定資訊。其下一般下面的子鍵:
“Accessibility”:一看就知道,它只有在安裝了Windows系統輔助選項後才會出現,其中包括了高對比顯示設定子鍵“HighContrast”、鍵盤設定子鍵“KeyboardResponse”、滑鼠設定子鍵“MouseKeys”、串列鍵設定子鍵“SerialKeys”、顯示聲音設定子鍵“ShowSounds”、聲音感測設定子鍵“SoundSentry”、相黏鍵設定子鍵“StickyKeys”、自動重新設定輔助選項子鍵“TimeOut”和切換鍵設定子鍵“ToggleKeys”,它們都是輔助選項中的設定資訊。
“Appearance”:該子鍵儲存了系統中可供選擇的各種顏色設定方案,我們可以在顯示內容視窗中的“外觀”選項卡中看到相應的方案。
“Cursors”:該子鍵儲存了系統中使用的游標圖案,我們可以在滑鼠屬性視窗中的指標頁的方案選項中看到。
“Desktop”:該子鍵儲存了系統案頭和視窗的設定資訊,如視窗邊界、標題、表徵圖、菜單、捲軸等的設定。其下索引值很多,大家在看了它的英文名稱後便知道了。另外,在Desktop子鍵下包括“ResourceLocale”和“WindowMetrics”兩個子鍵,“ResourceLocal”子鍵儲存了案頭資料的顯示格式的時區值;“WindowsMetrics”儲存了系統視窗的各項設定,這些看起來也不困難。筆者就不再贅述了。
“Input Method”:該子鍵儲存了IME切換鍵的有關設定,其中的索引值“Show Status”確定是否顯示IME狀態。
“International”:該子鍵儲存了地區設定的有關資訊。
“Keyboard”:該子鍵儲存了鍵盤擊鍵的重複延時和重複速度。
“PowerCfg”:該子鍵儲存了電源管理的有關設定。
(3)Identities
該子鍵儲存並儲存了和Outlook Express有關的設定資訊。
(4)InstallLocationsMRU
包括安裝軟體或硬體裝置驅動程式的路徑等,每個索引值代表一個路徑,其索引值名稱為一個小寫字母,如“a”、“d”等,索引值“MRUList”表示了一個路徑的順序,如“daebc”。
(5)Keyboard layout
該子鍵儲存了Windows中鍵盤配置設定。
(6)Network
該子鍵儲存了目前使用者的網路設定資訊。
(7)RemoteAccess
該子鍵儲存了目前使用者的撥號網路配置。
(8)Software
該子鍵儲存了系統中各種軟體的配置資訊,它是HKEY_CURRENT_USER主鍵下最主要的子鍵,也是USER.DAT檔案的主要部分,該主鍵下的子鍵隨著不同的機器會差別很大,但無論怎樣不同,該主鍵下的子鍵都有著基本相同的結構。
4、HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE上註冊表的核心主鍵,記錄了電腦上的所有硬體和軟體的配置。它由8個部分組成,而每部分中又有許多相應的子鍵。
(1)Config鍵
在該索引值中儲存了Windows設定檔,它下面的子鍵個數視機器而定,如 0001,0002等等,每一個子鍵均代表一個硬體設定檔。在每一個子鍵下面有Display,Enum,Infrared,Software和System子鍵。其中Enum鍵包括安裝在機器上的每種裝置的配置資料,其內容隨不同的機器也不同,它對應多個子鍵:
  ⑴、BIOS:包括多種整合在主板上的裝置,每個裝置是一種EISA的格式(如 *PNP0001)。Microsoft分配一定的範圍給某些裝置類型,這些使用者一般不必過問,因此我們略過,如果大家需要這方面的資料,可以上網尋找。
  ⑵ESDI:指示硬碟類型及磁碟機字元等。
    ⑶FLOP:指示軟碟機。
    ⑷HTREE:不包括任何裝置,其下的RESERVER子鍵保留了儲存在裝置管理中的資源清單。
    ⑸ISAPNP:ISA隨插即用裝置。
    ⑹INFRARED: 紅外線介面,可以看到每一個串連到這個連接埠上的虛擬設備的子鍵。
    ⑺LPTENUM: 只有在並口上安裝了隨插即用的印表機時才存在。
    ⑻MF: 包括每個安裝在電腦中的每個多功能裝置的子鍵。
    ⑼MONITOR: 常包括一個單一的子鍵 .DEFAULT_MONITOR,指示當前的顯示器。
    ⑽NetWork: 網路通訊協定,通常可以看到如下子鍵:FASTIR-紅外線協議,MSTCP-TCP\IP,VREDIR-MicroSoft網路客戶,VSERVER-檔案和印表機共用
    ⑾PCI: 包括每個PCI裝置。
    ⑿PCMCIA:安裝在電腦上的PC CARD裝置。
    ⒀ROOT: 電腦檢測出的或通過“添加新硬體”而未正確安裝驅動程式的硬體。
   ⒁SCSI: 安裝在電腦上的每個SCSI裝置。
    ⒂SERENUM: 串連到串列介面上的裝置。
    ⒃USB: 串連到USB介面上的裝置。
    ⒄VPOWERD: 電源管理。
(2)HARDWARE鍵
在該索引值中儲存了電腦硬體設定中的一些不確定的資訊。
(3)NetWork鍵
該索引值儲存了包括安全提供者和當前的使用者名稱及組策略等。
(4)Security鍵
該索引值儲存了具有系統管理權限的每個使用者和組等資訊。
(5)Software鍵
安裝在電腦中的軟體的設定。每個軟體程式統一使用“公司名稱\軟體名稱\軟體版本”的組織形式,本部分的設定對於排除故障和定製系統很有用。
(6)System鍵
該索引值儲存了系統中的裝置驅動程式等資訊。
5、HKEY_CURRENT_CONFIG:
是HKEY_LOCAL_MACHINE\Config的捷徑。
6、HKEY_DYN_DATA:
系統的動態資料。

瞭解了這些鍵的意義,你可以自己來研究了,出現什麼問題找好主鍵和子鍵,改動改動。當然別忘了備份。其實,Windows每次啟動都會自動對註冊表進行備份,放在windows\sysbckup裡的rb00X.cab檔案裡,出註冊表出現問題,在DOS下用extract /e展開,拷貝回去就可以了。當然你可以直接將System.dat和User.dat拷出來做備份

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.