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