什麼是 Windows 註冊表及其工作原理?

Windows 註冊表是 Windows 應用程序以及 Windows 操作系統的配置、值和屬性的集合,它以分層方式組織和存儲在單個存儲庫中。

每當在 Windows 系統中安裝新程序時,都會在 Windows 註冊表中創建一個條目,其中包含其屬性,例如大小、版本、存儲位置等。

什麼是 Windows 註冊表及其工作原理?

因為,此信息已存儲在數據庫中,不僅操作系統知道所使用的資源,其他應用程序也可以從該信息中受益,因為它們知道如果某些資源或文件要共同使用而可能出現的任何衝突存在。

內容

什麼是 Windows 註冊表及其工作原理?

Windows 註冊表確實是 Windows 工作方式的核心。它是唯一使用這種中央註冊表方法的操作系統。如果我們想像一下,操作系統的每個部分都必須與 Windows 註冊表進行交互,從啟動順序到重命名文件名這樣簡單的事情。

簡單來說,它只是一個類似於圖書館借書證目錄的數據庫,其中註冊表中的條目就像一疊卡片存儲在卡片目錄中。註冊表項將是一張卡,而註冊表值將是寫在該卡上的重要信息。Windows 操作系統使用註冊表來存儲一系列用於控制和管理我們的系統和軟件的信息。這可以是從 PC 硬件信息到用戶首選項和文件類型的任何內容。我們對 Windows 系統所做的幾乎任何形式的配置都涉及編輯註冊表。

Windows 註冊表的歷史

在 Windows 的初始版本中,應用程序開發人員必須在單獨的 .ini 文件擴展名中包含可執行文件。此 .ini 文件包含給定可執行程序正常運行所需的所有設置、屬性和配置。但是,由於某些信息的冗餘,這被證明是非常低效的,並且也對可執行程序構成了安全威脅。因此,標準化、集中化和安全技術的新實施顯然是必要的。

隨著 Windows 3.1 的出現,這種需求的基本版本得到了滿足,即所有應用程序和系統都通用的中央數據庫,稱為 Windows 註冊表。

然而,這個工具非常有限,因為應用程序只能存儲可執行文件的某些配置信息。多年來,Windows 95 和 Windows NT 在此基礎上進一步發展,在較新版本的 Windows Registry 中引入了集中化作為核心功能。

也就是說,在 Windows 註冊表中存儲信息是軟件開發人員的一種選擇。因此,如果軟件應用程序開發人員要創建可移植應用程序,他不需要向註冊表添加信息,可以創建並成功傳送具有配置、屬性和值的本地存儲。

Windows 註冊表與其他操作系統的相關性

Windows 是唯一使用這種中央註冊表方法的操作系統。如果我們想像一下,操作系統的每個部分都必須與 Windows 註冊表交互,從啟動順序到文件名的重命名。

所有其他操作系統(例如 iOS、Mac OS、Android 和 Linux)繼續使用文本文件作為配置操作系統和修改操作系統行為的一種方式。

在大多數 Linux 變體中,配置文件以 .txt 格式保存,當我們必須使用文本文件時,這就會成為一個問題,因為所有 .txt 文件都被視為關鍵的系統文件。因此,如果我們嘗試在這些操作系統中打開文本文件,我們將無法查看它。這些操作系統試圖隱藏它作為安全措施,因為所有系統文件,如網卡、防火牆、操作系統、圖形用戶界面、視頻卡界面等的配置都以ASCII 格式保存

為了規避這個問題,macOS 和 iOS 都通過實現.plist 擴展名部署了一種完全不同的文本文件擴展名方法,該擴展包含所有系統和應用程序配置信息,但仍然具有單一註冊表的好處超過文件擴展名的簡單更改。

Windows 註冊表有哪些好處?

因為操作系統的每個部分都不斷地與 Windows 註冊表通信,所以它必須存儲在非常快速的存儲中。因此,該數據庫旨在實現極快的讀取和寫入以及高效的存儲。

如果我們要打開並檢查註冊表數據庫的大小,它通常會在 15 到 20 兆字節之間徘徊,這使得它足夠小,可以始終加載到RAM(隨機存取存儲器)中,巧合的是,它是可用的最快存儲空間操作系統。

由於註冊表需要一直加載到內存中,如果註冊表的大小很大,它不會為所有其他應用程序留出足夠的空間來平穩運行或根本無法運行。這會損害操作系統的性能,因此 Windows 註冊表的設計核心目標是高效。

如果有多個用戶與同一設備交互,並且他們使用的應用程序有很多是通用的,那麼兩次或多次重新安裝相同的應用程序將浪費相當昂貴的存儲空間。Windows 註冊表在這些應用程序配置在不同用戶之間共享的情況下表現出色。

這不僅減少了使用的總存儲量,而且還使用戶可以通過一個交互端口更改應用程序的配置。這也節省了時間,因為用戶不必手動轉到每個本地存儲 .ini 文件。

多用戶場景在企業設置中很常見,在這裡,對用戶權限訪問有強烈的需求。由於並非所有信息或資源都可以與所有人共享,因此可以通過集中式 Windows 註冊表輕鬆實現對基於隱私的用戶訪問的需求。在此網絡管理員保留根據所進行的工作保留或允許的權利。這使得單一數據庫變得通用並使其健壯,因為更新可以與遠程訪問網絡中多個設備的所有註冊表同時進行。

Windows 註冊表如何工作?

在開始動手之前,讓我們探索一下 Windows 註冊表的基本元素。

Windows 註冊表由兩個基本元素組成,稱為註冊表項,它是一個容器對象,或者簡單地說,它們就像一個文件夾,其中存儲了各種類型的文件,而註冊表值則是非容器對象,就像文件一樣可以是任何格式。

您還應該知道: 如何完全控製或擁有 Windows 註冊表項

如何訪問 Windows 註冊表?

我們可以使用註冊表編輯器工具訪問和配置 Windows 註冊表,Microsoft 包括一個免費的註冊表編輯實用程序及其 Windows 操作系統的每個版本。

可以通過在命令提示符中鍵入“Regedit”或在“開始”菜單的搜索或運行框中鍵入“Regedit”來訪問此註冊表編輯器。此編輯器是訪問 Windows 註冊表的門戶,它幫助我們探索和更改註冊表。註冊表是位於 Windows 安裝目錄中的各種數據庫文件使用的總稱。

什麼是 Windows 註冊表及其工作原理?

什麼是 Windows 註冊表及其工作原理?

編輯註冊表編輯器是否安全?

如果您不知道自己在做什麼,那麼玩弄註冊表配置是很危險的。每當您編輯註冊表時,請確保您遵循正確的說明,並且只更改您被指示更改的內容。

如果您有意或無意地刪除了 Windows 註冊表中的某些內容,那麼它可能會改變您的系統配置,這可能導致藍屏死機或 Windows 無法啟動。

因此,通常建議在對其進行任何更改之前備份 Windows 註冊表。您還可以創建一個系統還原點(它會自動備份註冊表),如果您需要將註冊表設置更改為正常,則可以使用該還原點。但是如果你只是你被告知的那麼它應該沒有任何問題。如果您需要知道如何恢復 Windows 註冊表,那麼本教程將解釋如何輕鬆地做到這一點。

讓我們探索一下 Windows 註冊表的結構

有一個用戶位於無法訪問的存儲位置,該位置僅供操作系統訪問。

這些密鑰在系統啟動階段加載到 RAM 中,並在特定時間間隔內或當某個或多個系統級事件發生時不斷進行通信。

這些註冊表項的一部分存儲在硬盤中。這些存儲在硬盤中的密鑰稱為配置單元。註冊表的這一部分包含註冊表項、註冊表子項和註冊表值。根據用戶被授予的權限級別,他將訪問這些密鑰的某些部分。

註冊表中以 HKEY 開頭的層次結構峰值處的鍵被視為配置單元。

在編輯器中,當不展開查看所有按鍵時,蜂巢位於屏幕左側。這些是顯示為文件夾的註冊表項。

讓我們探索一下 Windows 註冊表項及其子項的結構:

鍵名示例 – “HKEY_LOCAL_MACHINE\SYSTEM\Input\Break\loc_0804”

這裡的“loc_0804”指的是子鍵“Break”指的是子鍵“Input”,它指的是HKEY_LOCAL_MACHINE根鍵的子鍵“SYSTEM”。

Windows 註冊表中的常見根鍵

以下每個鍵都是其自己的單獨配置單元,其中包含頂級鍵中的更多鍵。

一世。HKEY_CLASSES_ROOT

這是 Windows 註冊表的註冊表配置單元,它由文件擴展名關聯信息、程序標識符(ProgID)、接口 ID (IID) 數據和類 ID (CLSID) 組成

此註冊表配置單元 HKEY_CLASSES_ROOT 是在 Windows 操作系統中發生的任何操作或事件的網關。假設我們要訪問 Downloads 文件夾中的一些 mp3 文件。操作系統通過它運行查詢以採取所需的操作。

在您訪問 HKEY_CLASSES_ROOT 配置單元的那一刻,看著如此龐大的擴展文件列表真的很容易不知所措。但是,這些正是使 Windows 運行流暢的註冊表項

以下是 HKEY_CLASSES_ROOT hive 註冊表項的一些示例,

HKEY_CLASSES_ROOT\.otf HKEY_CLASSES_ROOT\.htc HKEY_CLASSES_ROOT\.img HKEY_CLASSES_ROOT\.mhtml HKEY_CLASSES_ROOT\.png HKEY_CLASSES_ROOT\.dll

每當我們雙擊並打開一個文件時,比如一張照片,系統就會通過 HKEY_CLASSES_ROOT 發送查詢,其中明確給出了在請求此類文件時該怎麼做的說明。因此系統最終會打開一個顯示請求圖像的照片查看器。

在上面的示例中,註冊表調用存儲在 HKEY_CLASSES_ROOT\.jpg 鍵中的鍵。HKEY_CLASSES_ROOT 配置單元是在 HKEY_LOCAL_MACHINE 配置單元 (HKEY_LOCAL_MACHINE\Software\Classes) 和 HKEY_CURRENT_USER 配置單元 (HKEY_CURRENT_USER\Software\Classes) 中找到的集合數據。因此,當註冊表項存在於兩個位置時,就會產生衝突。因此在 HKEY_CURRENT_USER\Software\Classes 中找到的數據用於HKEY_ CLASSES_ ROOT。可以通過打開屏幕左側的 HKEY_CLASSES 鍵來訪問它。

ii. HKEY_LOCAL_MACHINE

這是存儲特定於本地計算機的所有設置的多個註冊表配置單元之一。這是一個全局鍵,其中存儲的信息不能被任何用戶或程序編輯。由於這個子密鑰的全局性,存儲在這個存儲中的所有信息都是以虛擬容器的形式持續運行在 RAM 上的。HKEY_LOCAL_MACHINE中佔據了大部分軟件用戶已經安裝和Windows操作系統本身的配置信息。當前檢測到的所有硬件都存儲在 HKEY_LOCAL_MACHINE 配置單元中。

還知道如何: 通過註冊表搜索時修復 Regedit.exe 崩潰

此註冊表項進一步分為 7 個子項:

1. SAM(安全帳戶管理器)——它是一個註冊表項文件,以安全格式(LM 哈希和 NTLM 哈希)存儲用戶密碼。散列函數是一種用於保護用戶帳戶信息的加密形式。

它是一個鎖定文件,位於系統中的C:\WINDOWS\system32\config,在操作系統運行時無法移動或複制。

Windows 使用安全帳戶管理器註冊表項文件在用戶登錄其 Windows 帳戶時對其進行身份驗證。每當用戶登錄時,Windows 都會使用一系列散列算法來計算已輸入密碼的散列值。如果輸入的密碼的哈希值等於SAM 註冊表文件中的密碼哈希值,則用戶將被允許訪問他們的帳戶。這也是大多數黑客在執行攻擊時瞄準的文件。

2. 安全性(除管理員外不可訪問)– 此註冊表項對於登錄到當前系統的管理用戶的帳戶是本地的。如果系統由任何組織管理,則用戶無法訪問此文件,除非已明確授予用戶管理訪問權限。如果我們在沒有管理權限的情況下打開這個文件,它將是空白的。現在,如果我們的系統連接到管理網絡,此密鑰將默認為組織建立並主動管理的本地系統安全配置文件。此密鑰與 SAM 相關聯,因此在成功驗證後,根據用戶的權限級別,應用各種本地和組策略

3. 系統(關鍵啟動過程和其他內核功能)——這個子項包含與整個系統相關的重要信息,例如計算機名稱、當前安裝的硬件設備、文件系統以及在特定事件中可以採取什麼樣的自動操作,比如那裡是由於 CPU 過熱導致的藍屏死機,有一個邏輯過程,計算機將自動開始處理此類事件。此文件只能由具有足夠管理權限的用戶訪問。當系統啟動時,這是所有日誌動態保存和讀取的地方。各種系統參數,例如稱為控制集的替代配置。

4. 軟件所有第三方軟件配置,如即插即用驅動程序都存儲在這裡。此子項包含鏈接到可以由各種應用���序和系統安裝程序更改的預先存在的硬件配置文件的軟件和 Windows 設置。軟件開發人員可以限製或允許用戶在使用他們的軟件時訪問哪些信息,這可以使用“策略”子項進行設置,該子項在應用程序和系統服務(包括所使用的系統證書)上強制執行一般使用策略驗證、授權或禁止某些系統或服務。

5. Hardware這是一個在系統啟動期間動態創建的子項

6. 組件系統範圍內特定於設備的組件配置信息可以在這裡找到

7. BCD.dat(在系統分區的\boot 文件夾中)它是一個關鍵文件,系統通過將註冊表加載到RAM 在系統啟動序列期間讀取並開始執行。

三、HKEY_CURRENT_CONFIG

此子項存在的主要原因是存儲視頻以及網絡設置。這可能是與視頻卡有關的所有信息,例如分辨率、刷新率、縱橫比等,以及網絡

它也是一個註冊表配置單元,是 Windows 註冊表的一部分,用於存儲有關當前使用的硬件配置文件的信息。HKEY_CURRENT_CONFIG 實際上是指向 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles\Currentregistry 鍵的指針,這只是指向 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles 鍵下列出的當前活動硬件配置文件的指針。

所以HKEY_CURRENT_CONFIG 幫助我們查看和修改當前用戶的硬件配置文件的配置,我們可以在上面列出的三個位置中的任何一個作為管理員進行,因為它們都是相同的。

四、HKEY_CURRENT_USER

註冊表配置單元的一部分,其中包含特定於當前登錄用戶的 Windows 和軟件的存儲設置以及配置信息。例如,註冊表項中的各種註冊表值位於 HKEY_CURRENT_USER 配置單元中控制用戶級設置,例如鍵盤佈局、安裝的打印機、桌面壁紙、顯示設置、映射的網絡驅動器等。

您在控制面板的各種小程序中配置的許多設置都存儲在 HKEY_CURRENT_USER 註冊表配置單元中。由於 HKEY_CURRENT_USER 配置單元是特定於用戶的,因此在同一台計算機上,其中包含的鍵和值因用戶而異。這與大多數其他全局註冊表配置單元不同,這意味著它們在 Windows 中的所有用戶之間保留相同的信息。

單擊註冊表編輯器屏幕的左側將使我們能夠訪問 HKEY_CURRENT_USER。作為一種安全措施,存儲在 HKEY_CURRENT_USER 上的信息只是一個指向位於 HKEY_USERS 配置單元下作為我們的安全標識符的密鑰的指針。對任一區域所做的更改將立即生效。

v. HKEY_USERS

這包含與每個用戶配置文件的 HKEY_CURRENT_USER 鍵對應的子鍵。這也是我們在 Windows 註冊表中擁有的眾多註冊表配置單元之一。

所有用戶特定的配置數據都記錄在此處,供積極使用設備的每個人使用,此類信息存儲在 HKEY_USERS 下。存儲在系統上與特定用戶相對應的所有用戶特定信息都存儲在 HKEY_USERS 配置單元下,我們可以使用安全標識符或記錄用戶所做的所有配置更改的 SID來唯一標識用戶。

所有這些帳戶存在於 HKEY_USERS 配置單元中的活動用戶,根據系統管理員授予的權限,都可以訪問共享資源,例如打印機、本地網絡、本地存儲驅動器、桌面背景等。他們的帳戶具有一定的註冊表鍵和相應的註冊表值存儲在當前用戶的 SID 下。

在取證信息方面,每個 SID 都存儲了關於每個用戶的大量數據,因為它記錄了在用戶帳戶下進行的每個事件和操作。這包括用戶名、用戶登錄計算機的次數、上次登錄的日期和時間、上次更改密碼的日期和時間、登錄失敗的次數等。此外,它還包含有關 Windows 何時加載並處於登錄提示處的註冊表信息。

推薦: 修復註冊表編輯器已停止工作

默認用戶的註冊表項存儲在配置文件中的 ntuser.dat 文件中,我們必須使用 regedit 將其作為配置單元加載,以便為默認用戶添加設置。

我們可以在 Windows 註冊表中找到的數據類型

上面討論的所有鍵和子鍵都將保存在以下任何數據類型中的配置、值和屬性,通常,它是構成我們整個 Windows 註冊表的以下數據類型的組合。

  • 字符串值,例如 Unicode,它是一種計算行業標準,用於對世界上大多數書寫系統中表達的文本進行一致的編碼、表示和處理。
  • 二進制數據
  • 無符號整數
  • 符號鏈接
  • 多字符串值
  • 資源列表(即插即用硬件)
  • 資源描述符(即插即用硬件)
  • 64 位整數

結論

Windows Registry 是一場革命,它不僅最大限度地減少了使用文本文件作為文件擴展名來保存系統和應用程序配置所帶來的安全風險,而且還減少了應用程序開發人員的配置或 .ini 文件的數量不得不隨他們的軟件產品一起發貨。擁有一個集中存儲庫來存儲系統以及系統上運行的軟件經常訪問的數據的好處是非常明顯的。

易用性以及在一個中心位置訪問各種自定義和設置也使 Windows 成為各種軟件開發人員桌面應用程序的首選平台。如果將 Windows 的可用桌面軟件應用程序的數量與 Apple 的 macOS 進行比較,這一點就非常明顯。總而言之,我們討論了 Windows 註冊表的工作原理及其文件結構和各種註冊表項配置的重要性,以及如何使用註冊表編輯器實現完整效果。

Sign up and earn $1000 a day ⋙

美國太空總署有一些關於海平面的壞消息

美國太空總署有一些關於海平面的壞消息

還記得1992年嗎?還記得莎士比亞的《姊姊》以《Stay》登上排行榜榜首嗎?還記得丹麥舉世震驚地舉起歐洲盃足球賽嗎

Facebook 市集如何運作

Facebook 市集如何運作

Facebook Marketplace 之所以呈指數級增長,是因為它充分利用了 Facebook 上現有的互動功能。另外,它是免費的,並且具有新功能

最好的 Viber 貼紙反映您的表情

最好的 Viber 貼紙反映您的表情

Viber 為其訊息服務提供了各種貼紙,從可愛的動物到動畫親吻,以及增強聊天效果的卡通人物

Life360 對比。家庭360

Life360 對比。家庭360

如果您正在尋找一款出色的 GPS 家庭定位器,您可能會在 Life360 還是 Family360 之間猶豫不決。兩者都是著名的家庭追蹤應用程式

如何在 Minecraft 中找到叢林生物群落

如何在 Minecraft 中找到叢林生物群落

《我的世界》中有數十種不同的生物群系。每一種都有其獨特的區塊類型、條件和特徵。叢林生物群落只是其中之一

如何下載最新版本的 CapCut

如何下載最新版本的 CapCut

雖然您可以使用 CapCut 的網站在線編輯視頻,但將該應用程式下載到您的設備上可以更輕鬆地創建內容,而無需使用

2023 年最佳免費電影網站

2023 年最佳免費電影網站

如果您完成工作並想放鬆一下,看電影通常是答案。但如果太累了,不想去看電影,又沒有什麼好看的,怎麼辦?

如何在 OBS 中新增音樂到串流

如何在 OBS 中新增音樂到串流

添加音樂可以創造個性並提高 OBS 串流的質量,為觀眾提供更愉快的體驗。並有音樂

如何使用 Figma 快速追蹤

如何使用 Figma 快速追蹤

近年來,數位藝術品已成為任何想要透過不可替代代幣(NFT)獲利的人的熱門話題。你可以參與這個數位黃金

如何使用 CapCut 年齡濾鏡

如何使用 CapCut 年齡濾鏡

CapCut 這個應用程式可讓您嘗試並為 TikTok 創建一些最精彩的影片。與 CapCut 相關的趨勢之一是年齡

如何修復 Instagram:“您的帳戶已暫時鎖定”

如何修復 Instagram:“您的帳戶已暫時鎖定”

由於各種原因,Instagram 可以暫時鎖定您的帳戶,以保護用戶和平台並鼓勵最佳體驗。如果您收到

如何判斷有人在 Roblox 上封鎖了您

如何判斷有人在 Roblox 上封鎖了您

如果您無法在 Roblox 中向好友發送訊息,他們可能出於某種原因封鎖了您。但是這個功能是如何精確運作的,還有其他方法嗎?

MIUI 裝置的最佳字體

MIUI 裝置的最佳字體

如果您正在尋找在 MIUI 裝置上使用的最佳字體,小米可以讓您變得超級簡單。您所要做的就是下載您想要的字體,然後儲存

最好的 Telegram 客戶端應用程式

最好的 Telegram 客戶端應用程式

您可以在 Telegram 上做很多事情,例如使用貼紙或加入最好的 Telegram 頻道之一。為了進一步擴展其功能,

如何刪除 Discord 中的所有訊息

如何刪除 Discord 中的所有訊息

有時需要刪除任何平台上的訊息,以釋放空間、重塑自我或消除多年的混亂。不和諧也不例外;一些

如何在 WhatsApp 中隱藏您的電話號碼

如何在 WhatsApp 中隱藏您的電話號碼

當您首次建立 WhatsApp 帳戶時,您可以使用現有的電話號碼進行註冊,這樣您就可以存取手機聯絡人清單。然而,不

如何在 iPad 上做筆記

如何在 iPad 上做筆記

在 iPad 上做筆記已經讓紙筆筆記變得過時了。首先,您可以使用 Apple Notes 或第三方工具以多種方式做筆記。

如何在 Steam 中取得補充包

如何在 Steam 中取得補充包

在 Steam 上收集收藏品可以改善您個人資料的外觀以及其他人在聊天中如何看待您。交易卡是重要的收藏品,可以

Telegram:如何使用貼紙

Telegram:如何使用貼紙

Telegram 提供了大量免費貼紙,可以將其添加到您的圖庫中。貼紙成套表達不同的心情和情感,或者

如何成為 Lyft 司機

如何成為 Lyft 司機

成為 Lyft 司機有兩種方法。首先是訪問 Lyft 的線上申請成為司機頁面並按照步驟操作。第二種方法是