WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
注冊(cè)表
注冊(cè)表是MicrosoftWindows中的一個(gè)重要的數(shù)據(jù)庫(kù),用于存儲(chǔ)系統(tǒng)和應(yīng)用程序的設(shè)置信息。
概述[ ]
由來(lái)[ ]
在Windows 3.x操作系統(tǒng)中,注冊(cè)表是一個(gè)極小文件,其文件名為Reg.bat,里面只存放了某些文件類型的應(yīng)用程序關(guān)聯(lián),大部分的設(shè)置放在Win.ini、System.ini等多個(gè)初始化INI文件中。由于這些初始化文件不便于管理和維護(hù),時(shí)常出現(xiàn)一些因INI文件遭到破壞而導(dǎo)致系統(tǒng)無(wú)法啟動(dòng)的問(wèn)題。
為了使系統(tǒng)運(yùn)行得更為穩(wěn)定、健壯,Windows 95/98設(shè)計(jì)師們借用了Windows NT中的注冊(cè)表的思想,將注冊(cè)表引入到Windows 95/98操作系統(tǒng)中,而且將INI文件中的大部分設(shè)置也移植到注冊(cè)表中,因此,注冊(cè)表在Windows 95/98操作系統(tǒng)的啟動(dòng)、運(yùn)行過(guò)程中起著重要的作用。
定義[ ]
Microsoft Windows 9x、Windows CE、Windows NT 和 Windows 2000中使用的中央分層數(shù)據(jù)庫(kù),用于存儲(chǔ)為一個(gè)或多個(gè)用戶、應(yīng)用程序和硬件設(shè)備配置系統(tǒng)所必需的信息。
注冊(cè)表包含 Windows 在運(yùn)行期間不斷引用的信息,例如,每個(gè)用戶的配置文件、計(jì)算機(jī)上安裝的應(yīng)用程序以及每個(gè)應(yīng)用程序可以創(chuàng)建的文檔類型、文件夾和應(yīng)用程序圖標(biāo)的屬性表設(shè)置、系統(tǒng)上存在哪些硬件以及正在使用哪些端口。
注冊(cè)表取代了 Windows 3.x 和 MS-DOS 配置文件(例如,Autoexec.bat 和 Config.sys)中使用的絕大多數(shù)基于文本的 .ini 文件。雖然幾個(gè) Windows 操作系統(tǒng)都有注冊(cè)表,但這些操作系統(tǒng)的注冊(cè)表有一些區(qū)別。
注冊(cè)表數(shù)據(jù)存儲(chǔ)在二進(jìn)制文件中。
注意事項(xiàng)[ ]
在系統(tǒng)中注冊(cè)表是一個(gè)記錄32位驅(qū)動(dòng)的設(shè)置和位置的數(shù)據(jù)庫(kù)。當(dāng)操作系統(tǒng)需要存取硬件設(shè)備,它使用驅(qū)動(dòng)程序,甚至設(shè)備是一個(gè)BIOS支持的設(shè)備。無(wú)BIOS支持設(shè)備安裝時(shí)必須需要驅(qū)動(dòng),這個(gè)驅(qū)動(dòng)是獨(dú)立于操作系統(tǒng)的,但是操作系統(tǒng)需要知道從哪里找到它們,文件名、版本號(hào)、其他設(shè)置和信息,沒(méi)有注冊(cè)表對(duì)設(shè)備的記錄,它們就不能被使用。
當(dāng)一個(gè)用戶準(zhǔn)備運(yùn)行一個(gè)應(yīng)用程序,注冊(cè)表提供應(yīng)用程序信息給操作系統(tǒng),這樣應(yīng)用程序可以被找到,正確數(shù)據(jù)文件的位置被規(guī)定,其他設(shè)置也都可以被使用。
注冊(cè)表保存關(guān)于缺省數(shù)據(jù)和輔助文件的位置信息、菜單、按鈕條、窗口狀態(tài)和其他可選項(xiàng)。它同樣也保存了安裝信息(比如說(shuō)日期),安裝軟件的用戶,軟件版本號(hào)和日期,序列號(hào)等。根據(jù)安裝軟件的不同,它包括的信息也不同。
然而,一般來(lái)說(shuō),注冊(cè)表控制所有32位應(yīng)用程序和驅(qū)動(dòng),控制的方法是基于用戶和計(jì)算機(jī)的,而不依賴于應(yīng)用程序或驅(qū)動(dòng),每個(gè)注冊(cè)表的參數(shù)項(xiàng)控制了一個(gè)用戶的功能或者計(jì)算機(jī)功能。用戶功能可能包括了桌面外觀和用戶目錄。所以,計(jì)算機(jī)功能和安裝的硬件和軟件有關(guān),對(duì)所有用戶來(lái)說(shuō)項(xiàng)都是公用的。
有些程序功能對(duì)用戶有影響,有些是作用于計(jì)算機(jī)而不 是為個(gè)人設(shè)置的,同樣的,驅(qū)動(dòng)可能是用戶指定的,但在很多時(shí)候,它們?cè)谟?jì)算機(jī)中是通用的。
注冊(cè)表控制用戶模式[ ]
注冊(cè)表控制用戶模式的例子有:
- 控制面板功能;
- 桌面外觀和圖標(biāo);
- 網(wǎng)絡(luò)參數(shù);
- 瀏覽器功能性和特征;
- 那些功能中的某些是和用戶無(wú)關(guān)的,有些是針對(duì)用戶的。
計(jì)算機(jī)相關(guān)控制項(xiàng)基于計(jì)算機(jī)名,和登陸用戶無(wú)關(guān)??刂祁愋偷睦邮前惭b一個(gè)應(yīng)用程序,不管是哪個(gè)用戶,程序的可用性和存取是不變的,然而,運(yùn)行程序圖標(biāo)依賴于網(wǎng)絡(luò)上登陸的用戶。網(wǎng)絡(luò)協(xié)議可用性和優(yōu)先權(quán)基于計(jì)算機(jī),但是當(dāng)前連接和用戶信息相關(guān)。
注冊(cè)表控制計(jì)算機(jī)條目[ ]
這里是在注冊(cè)表基于計(jì)算機(jī)控制條目的一些例子:
- 存取控制;
- 登陸確認(rèn);
- 文件和打印機(jī)共享;
- 網(wǎng)卡設(shè)置和協(xié)議;
- 系統(tǒng)性能和虛擬內(nèi)存設(shè)置;
控制應(yīng)用程序的功能及多個(gè)應(yīng)用程序的交互[ ]
在系統(tǒng)中注冊(cè)表控制所有32位應(yīng)用程序和它們的功能及多個(gè)應(yīng)用程序的交互,比如復(fù)制和粘貼,它也控制所有的硬件和驅(qū)動(dòng)程序。雖然多數(shù)可以通過(guò)控制面板來(lái)安裝和設(shè)置,理解注冊(cè)表仍是做Winnt和Win95系統(tǒng)管理基本常識(shí)。
打開(kāi)注冊(cè)表編輯器方式[ ]
Win2000/XP兩種打開(kāi)方式:
- 開(kāi)始>>運(yùn)行.中輸入regedit
- 開(kāi)始>>運(yùn)行.中輸入regedt32
兩種方式比較[ ]
第一種方法打開(kāi)的注冊(cè)表編輯器和Win98下的一樣,而且功能相同,而使用第二種方法打開(kāi)的注冊(cè)表編輯器則可以方便的設(shè)置權(quán)限,建議網(wǎng)絡(luò)管理員使用第2種方法打開(kāi)注冊(cè)表編輯器修改需要修改的權(quán)限設(shè)置部分以免被他人惡意修改。
Windows Vista/7兩種打開(kāi)方式:
- 在開(kāi)始菜單搜索框中輸入regedit并按回車鍵.(需要管理員權(quán)限)
- 在運(yùn)行中輸入regedit.exe(需要管理員權(quán)限)
修改權(quán)限[ ]
當(dāng)你選中一個(gè)鍵值的時(shí)候,編輯下拉菜單下就可以看到一個(gè)選項(xiàng)----權(quán)限,用鼠標(biāo)單擊這個(gè)選項(xiàng)以后會(huì)出現(xiàn)如右圖的窗口。用鼠標(biāo)分別單擊各個(gè)用戶組就可以看到不同的權(quán)限限制,如果你覺(jué)得某一個(gè)用戶組的權(quán)利太高了,就可以在下方修改權(quán)限(注意:必須賦予Administrators組用戶完全權(quán)限,否則一旦你或相應(yīng)的軟件、驅(qū)動(dòng)程序要修改注冊(cè)表,但是由于所有的組用戶都沒(méi)有權(quán)限修改,所以你將不能夠成功安裝。所以必須把完全權(quán)限賦予Administrators組用戶(系統(tǒng)默認(rèn))。
數(shù)據(jù)結(jié)構(gòu)[ ]
注冊(cè)表由鍵(或稱“項(xiàng)”)、子鍵(子項(xiàng))和值項(xiàng)構(gòu)成。一個(gè)鍵就是分支中的一個(gè)文件夾,而子鍵就是這個(gè)文件夾中的子文件夾,子鍵同樣是一個(gè)鍵。一個(gè)值項(xiàng)則是一個(gè)鍵的當(dāng)前定義,由名稱、數(shù)據(jù)類型以及分配的值組成。一個(gè)鍵可以有一個(gè)或多個(gè)值,每個(gè)值的名稱各不相同,如果一個(gè)值的名稱為空,則該值為該鍵的默認(rèn)值。
在注冊(cè)表編輯器(Regedit.exe)中,數(shù)據(jù)結(jié)構(gòu)顯示如下,其中,command鍵是open鍵的子鍵,(默認(rèn))表示該值是默認(rèn)值,值名稱為空,其數(shù)據(jù)類型為REG_SZ,數(shù)據(jù)值為%systemroot%\system32\NOTEPAD.EXE "%1
以上信息的意義是:txt類型的文件在右鍵菜單里的“打開(kāi)”一項(xiàng)使用的程序是“NOTEPAD.EXE”,即用記事本打開(kāi)文件。
數(shù)據(jù)類型[ ]
注冊(cè)表的數(shù)據(jù)類型主要有以下五種:
顯示類型(在編輯器中) | 數(shù)據(jù)類型 | 說(shuō)明 |
---|---|---|
REG_SZ | 字符串 | 文本字串 |
REG_BINARY | 二進(jìn)制數(shù) | 二進(jìn)制值,以十六進(jìn)制顯示 |
REG_DWORD | 雙字 | 一個(gè)32位的二進(jìn)制值,顯示為8位的十六進(jìn)制值 |
REG_MULTI_SZ | 多字符串 | 含有多個(gè)文本值的字符串 |
REG_EXPAND_SZ | 可擴(kuò)充字符串 |
此外,注冊(cè)表還有其他的數(shù)據(jù)類型,但是均不常用:
- REG_DWORD_BIG_ENDIAN
- REG_DWORD_LITTLE_ENDIAN
- REG_FULL_RESOURCE_DESCRIPTOR
- REG_QWORD
- REG_FILE_NAME
注冊(cè)表的分支[ ]
注冊(cè)表有五個(gè)分支,下面是這五個(gè)分支的名稱及作用:
名稱 | 作用 |
---|---|
HKEY_CLASSES_ROOT | 存儲(chǔ)Windows可識(shí)別的文件類型的詳細(xì)列表,以及相關(guān)聯(lián)的程序。 |
HKEY_CURRENT_USER | 存儲(chǔ)當(dāng)前用戶設(shè)置的信息。 |
HKEY_LOCAL_MACHINE | 包括安裝在計(jì)算機(jī)上的硬件和軟件的信息。 |
HKEY_USERS | 包含使用計(jì)算機(jī)的用戶的信息。 |
HKEY_CURRENT_CONFIG | 這個(gè)分支包含計(jì)算機(jī)當(dāng)前的硬件配置信息。 |
注冊(cè)表的存儲(chǔ)方式[ ]
注冊(cè)表的存儲(chǔ)位置隨著Windows的版本變化而不同。尤其是Windows NT家族操作系統(tǒng)和Windows 95家族的存儲(chǔ)方式有很大區(qū)別。注冊(cè)表被分成多個(gè)文件存儲(chǔ),每一個(gè)文件被稱為一個(gè)配置單元。
在早期的Windows 3.x系列中,注冊(cè)表僅包含一個(gè)reg.dat文件,所存放的內(nèi)容后來(lái)演變?yōu)镠KEY_CLASSES_ROOT分支。
Windows NT家族的配置單元文件:
名稱 | 注冊(cè)表分支 | 作用 |
---|---|---|
SYSTEM | HKEY_LOCAL_MACHINE\SYSTEM | 存儲(chǔ)計(jì)算機(jī)硬件和系統(tǒng)的信息 |
NTUSER.DAT | HKEY_CURRENT_USER | 存儲(chǔ)用戶參數(shù)選擇的信息(此文件放置于用戶個(gè)人目錄,和其他注冊(cè)表文件是分開(kāi)的) |
SAM | HKEY_LOCAL_MACHINE\SAM | 用戶及密碼的數(shù)據(jù)庫(kù) |
SECURITY | HKEY_LOCAL_MACHINE\SECURITY | 安全性設(shè)置信息 |
SOFTWARE | HKEY_LOCAL_MACHINE\SOFTWARE | 安裝的軟件信息 |
DEFAULT | HKEY_USERS\DEFAULT | 缺省啟動(dòng)用戶的信息 |
USERDIFF | HKEY_USERS | 管理員對(duì)用戶強(qiáng)行進(jìn)行的設(shè)置 |
- 假設(shè)Windows安裝于C盤,則在Windows XP以前,文件存放于C:\WINNT\SYSTEM32\CONFIG,而XP及以后則存放于C:\WINDOWS\SYSTEM32\CONFIG
Windos95家族的配置文件
名稱 | 注冊(cè)表分支 | 作用 |
---|---|---|
CLASSES | HKEY_CLASSES_ROOT | 存儲(chǔ)軟件組件庫(kù)有關(guān)信息 |
USER.DAT | HKEY_USERS | 存儲(chǔ)用戶參數(shù)選擇的信息 |
SYSTEM.DAT | HKEY_LOCAL_MACHINE | 系統(tǒng)信息 |
編輯注冊(cè)表[ ]
使用注冊(cè)表編輯器[ ]
Microsoft公司不推薦用戶更改注冊(cè)表,因?yàn)槿绻麑?duì)注冊(cè)表進(jìn)行了修改,就有可能造成Windows系統(tǒng)的某些功能失效,甚至導(dǎo)致系統(tǒng)崩潰。但是,Microsoft公司仍然在Windows中提供了注冊(cè)表編輯器,它位于%systemroot%\regedit.exe。在Windows NT中使用的則是界面有所不同的REGEDT32.exe。而在Windows 2000中,兩個(gè)程序同時(shí)存在于系統(tǒng)中。部分的原因是Windows 2000版本的regedit.exe尚不支持對(duì)注冊(cè)表數(shù)據(jù)設(shè)置安全性。但在Windows XP及以后的操作系統(tǒng)中,REGEDT32.exe已經(jīng)消失。
使用腳本[ ]
在Windows 98以后的操作系統(tǒng)中,增加了一個(gè)腳本語(yǔ)言解釋器,可以用來(lái)執(zhí)行一些系統(tǒng)任務(wù)。它可以支持VBScript和JavaScript兩種腳本語(yǔ)言,都提供了訪問(wèn)注冊(cè)表的功能。某些病毒就利用這一點(diǎn)通過(guò)修改注冊(cè)表進(jìn)行傳播。
使用第三方或自行編寫的軟件[ ]
訪問(wèn)注冊(cè)表的系統(tǒng)功能對(duì)編程人員是開(kāi)放的,因此有許多軟件都有讀寫注冊(cè)表的功能。事實(shí)上,Windows平臺(tái)下開(kāi)發(fā)的軟件幾乎都在不同程度上修改注冊(cè)表,以便保存一些在程序多次運(yùn)行之間需要保留的信息,以及讓軟件可以通過(guò)某種特定方式(例如,右鍵菜單)啟動(dòng)。也有一些軟件是專門開(kāi)發(fā)出來(lái)對(duì)注冊(cè)表進(jìn)行優(yōu)化和設(shè)置的。
使用REG文件[ ]
REG文件也是一種修改注冊(cè)表的方式。它有著固定的格式,同時(shí)在系統(tǒng)中被關(guān)聯(lián)到regedit.exe。REG文件提供了一種批量修改鍵值的方式,讓用戶無(wú)須在復(fù)雜的注冊(cè)表結(jié)構(gòu)中穿插,來(lái)更改鍵值,可以只寫一個(gè)腳本,并且用注冊(cè)表編輯器將其導(dǎo)入注冊(cè)表就可以了。