
上面是打開注冊表編輯器后看到的第一個界面。
classes_Root我們知道Root一般用來指系統的根目錄,頂級權限,系統初始點等等。
其他的:current_User、Local_Machine、Users、Current_Config這些從名字上,大概可以猜測理解是什么東西了。
下面再來看下注冊表的概念:
將系統配置信息集中存儲在調用注冊表的分層數據庫中。可以使用注冊表編輯器,添加並編輯注冊表項和注冊表值,從備份中還原注冊表或將注冊表還原為默認值,以及為引用或備份導入或導出項。
還可以打印注冊表,以及控制具有編輯注冊表權限的帳戶。
有關注冊表的詳細信息(其中包括注冊表概念以及注冊表安全性),請轉至 Windows Server TechCenter (http://go.microsoft.com/fwlink/?LinkID=53495)。
//------------------------------------------------------------------------------------------
網上有網友提出一個現象,用程序動態的修改注冊表,然后cmd中運行程序卻不能正確執行,但是先修改環境變量,然后就會發現注冊表中是有數據的。這是怎么回事呢?
再聯系上文,注冊表編輯器里面的一句話:“將系統配置信息集中存儲在調用注冊表的分層數據庫中。”這句話是有問題的,一點都不通順,讀起來讓人
疑惑到第注冊表和數據庫什么關系,我認為這里是翻譯的問題,但是不好糾正,還需要再猜測研究。
但是至少我們知道,注冊表和一個數據庫有點關系,同時這是對系統配置信息的管理。我們主要關注,注冊表編輯器是對系統配置信息的集中管理,那么上面我們對環境變量的理解就不會錯了。確實是系統的配置信息。
以上我們已經大概感覺出環境變量是個什么東西,但是注冊表還很模糊,繼續看:
注冊表是windows操作系統中的一個核心數據庫,其中存放着各種參數,直接控制着windows的啟動、硬件驅動程序的裝載以及一些windows應用程序的運行,從而在整個系統中起着核心作用。這些作用包括了軟、硬件的相關配置和狀態信息,比如注冊表中保存有應用程序和資源管理器外殼的初始條件、首選項和卸載數據等,聯網計算機的整個系統的設置和各種許可,文件擴展名與應用程序的關聯,硬件部件的描述、狀態和屬性,性能記錄和其他底層的系統狀態信息,以及其他數據等。
以上內容整理自網絡,還有個人的理解和心得。
=======================
201810151903更新
通過注冊表,環境變量存儲一些信息,這是具體到windows操作系統配置一些信息的方案。
linux系統有自己的實現方式,linux系統配置直接叫系統配置文件。
=====================
20190123更新
在windows系統中,點擊開始,運行,輸入:regedit,會打開注冊表編輯器。點擊幫助會看到以下簡介:
將系統配置信息集中存儲在調用注冊表的分層數據庫中。可以使用注冊表編輯器添加並編輯注冊表項和注冊表值,從備份中還原注冊表或將注冊表還原為默認值,以及為引用或備份導入或導出項。還可以打印注冊表,以及控制具有編輯注冊表權限的帳戶。
地址:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc782053(v=ws.10)
Microsoft®WindowsServer 2003家族注冊表是一個數據庫,其中包含Windows Server 2003家族操作系統的系統配置信息。
可搜索:注冊表概念 Registry concepts
地址:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc780070%28v%3dws.10%29
Registry overview 注冊表概述
在Microsoft®Windows Server 2003系列中,系統配置信息集中存儲在稱為注冊表的分層數據庫中。注冊表將替換Windows中用於MS-DOS®和Microsoft LAN Manager的許多.ini、.sys和.com配置文件。
有關管理注冊表的詳細信息,請參閱Microsoft Windows資源工具包網站上的“Windows Server 2003家庭注冊表參考”。有關Windows Server 2003支持的信息,請參閱支持資源。
Registry structure 注冊表結構
注冊表以子樹及其鍵、子鍵和條目的層次結構組織。根據每台計算機上安裝的設備、服務和程序,一台計算機的注冊表內容可能與另一台計算機的注冊表內容有很大差異。
鍵可以有子鍵,子鍵可以有子鍵。雖然注冊表中的大多數信息都存儲在磁盤上並且被視為永久性信息,但每次操作系統啟動時都會覆蓋存儲在易失密鑰中的某些信息。
Registry subtrees 注冊表子樹
Windows Server_2003系列操作系統有兩個注冊表子樹:HKEYU localU machine和HKEYU users。但是,為了使注冊表中的信息更容易找到,注冊表編輯器實用程序顯示五個子樹,其中三個子樹是注冊表其他部分的別名。下表列出並描述了這五個子樹。
HKEY_LOCAL_MACHINE
包含有關本地計算機系統的信息,包括硬件和操作系統數據,如總線類型,系統內存,設備驅動程序和啟動控制數據。
HKEY_CLASSES_ROOT
包含各種OLE技術和文件類關聯數據使用的信息。如果相應的鍵或值存在於hkey_local_machine\software\classes或hkey_current_user\software\classes中,則在hkey_classes\u root中存在特定的鍵或值。如果在這兩個地方都存在一個鍵或值,那么HKEY_CURRENT_USER當前用戶版本就是出現在HKEY_CLASSES_ROOT中的版本。
HKEY_CURRENT_USER
包含當前以交互方式登錄(而不是遠程登錄)的用戶的用戶配置文件,包括環境變量、桌面設置、網絡連接、打印機和程序首選項。此子樹是hkey_用戶子樹的別名,並指向當前用戶的hkey_用戶\安全ID。
HKEY_USERS
包含有關活動加載的用戶配置文件和默認配置文件的信息。這包括同時出現在hkey_當前用戶中的信息。遠程訪問服務器的用戶在服務器上沒有此項下的配置文件;他們的配置文件加載到自己計算機的注冊表中。
HKEY_CURRENT_CONFIG
包含有關本地計算機系統啟動時使用的硬件配置文件的信息。此信息用於配置要加載的設備驅動程序和要使用的顯示分辨率等設置。此子樹是hkey_local_machine子樹的一部分,並指向hkey_local_machine\system\currentcontrolset\hardware profiles\current。
每個根密鑰名稱都以HKEY_開頭,以向軟件開發人員表明這是程序可以使用的句柄。句柄是用於標識資源的值,以便程序可以訪問它。
想閱讀更多信息,可以到上文指出的鏈接地址閱讀。由於內容是用自動翻譯軟件翻譯,不通順不好理解請閱讀原文。