什麼是 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 ⋙

如何在現金應用程式中添加現金

如何在現金應用程式中添加現金

在 Cash App 中,您可以向人們匯款、投資公司股票或股份、交易加密貨幣以及支付帳單。但是,您需要為您的現金添加資金

如何在 Illustrator 中剪出形狀

如何在 Illustrator 中剪出形狀

您可以使用多種方法在 Adob​​e Illustrator 中剪切形狀。這是因為許多物件不是以相同的方式創建的。很遺憾,

Telegram YouTube 下載器

Telegram YouTube 下載器

如果您想在 YouTube 上下載影片並享受無廣告的內容,您需要成為高級訂閱者。這就是方便的 Telegram 機器人的用武之地。

如何解決 Outlook 不傳送電子郵件的問題

如何解決 Outlook 不傳送電子郵件的問題

每當您在 Outlook 上發送電子郵件時,您都希望它能立即送達。然而,與其他電子郵件平台一樣,Outlook 很容易出現故障,而且

如何關閉 Chromebook 上的觸控螢幕

如何關閉 Chromebook 上的觸控螢幕

https://www.youtube.com/watch?v=13ei1TYS8uk 如果您不需要能夠處理要求較高的程式的筆記型電腦,那麼 Chromebook 是出色的裝置。如果你在

虛擬實境能否像早期電影一樣帶給我們驚喜?

虛擬實境能否像早期電影一樣帶給我們驚喜?

故事是這樣的,1896年,當盧米埃爾兄弟第一次展示一列火車駛入拉西奧塔車站時,電影院裡的觀眾爆發了一陣混亂,

如何透過 DoorDash 獲得大訂單

如何透過 DoorDash 獲得大訂單

如果你想成為高收入達人,你不能只下載應用程式並立即開始賺錢。這並不像送貨那麼簡單。

索尼 90 年代機器狗回歸,比以往更加忠誠

索尼 90 年代機器狗回歸,比以往更加忠誠

當我還是個孩子的時候,我一直纏著父母要一隻小狗,直到他們屈服了,送了我一隻作為聖誕節禮物。好吧,至少是一個機器人。這是索尼的Aibo。這

如何關閉 iPad 上的即時照片

如何關閉 iPad 上的即時照片

即時照片是拍攝影像之前和之後錄製的幾秒鐘的聲音和影片。這些影片比靜態照片佔用更多空間,會佔用更多空間

如何尋找您的 Microsoft Office 產品金鑰

如何尋找您的 Microsoft Office 產品金鑰

快速解答:以管理員身分執行命令提示字元。鍵入以下內容: cscript C:Program Files (x86)Microsoft OfficeOffice16OSPP.vbs /dstatus 和

為什麼我沒有在 Lyft 上獲得更多行程?

為什麼我沒有在 Lyft 上獲得更多行程?

您已成為 Lyft 司機,並準備好上路賺錢。您正在等待第一次接載,但沒有收到任何乘車請求

MeWe VS。 Facebook

MeWe VS。 Facebook

您在社群網路平台上尋找什麼?您想要安全性、功能性、自訂選項以及安全的訊息傳送方式嗎?

Fire 平板電腦充電器類型 – 快速指南

Fire 平板電腦充電器類型 – 快速指南

亞馬遜的 Fire 平板電腦已成為最受歡迎的行動裝置之一。儘管亞馬遜一開始推出的平板電腦基本上是

哪種亞馬遜 Fire Stick 是最新的? [2023 年 5 月]

哪種亞馬遜 Fire Stick 是最新的? [2023 年 5 月]

亞馬遜進軍媒體串流設備的大世界普遍受到好評。 Fire TV 的平易近人價格以及亞馬遜

為什麼我的號碼在 Telegram 中被禁止?

為什麼我的號碼在 Telegram 中被禁止?

您是否曾在 Telegram 中收到過「此電話號碼已被禁止」的通知?如果是這樣,您可能想知道這意味著什麼。 Telegram 有限制

如何將 PowerPoint 文件合併為單一文件

如何將 PowerPoint 文件合併為單一文件

https://www.youtube.com/watch?v=isTnCfYDxs4 PowerPoint 簡報在許多工作中都很常見,並且經常需要結合起來

如何在 VS Code 的終端機中運行程式碼

如何在 VS Code 的終端機中運行程式碼

VS Code (Visual Studio Code) 終端允許文字命令。可以在編輯器中查看結果和輸出,並且它支援 bash 等 shell,

如何取消派拉蒙 Plus 訂閱

如何取消派拉蒙 Plus 訂閱

您只能在訂閱的相同平台上取消 Paramount Plus 訂閱。雖然最簡單的方法是透過 Paramount Plus 網站,但它

如何在 Procreate 中選擇多個圖層

如何在 Procreate 中選擇多個圖層

Procreate 中的圖層通常包含幾個甚至僅一個物件。當您需要同時調整多個元素時,每個元素可能位於單獨的圖層上。

如何在 Outlook 中設定外出自動回復

如何在 Outlook 中設定外出自動回復

如果您經常發送和接收電子郵件,但計劃很快去度假,那麼設定自動回覆將成為您的救星