Windows NT 的登錄表 是作業系統配置資訊的核心資料庫,採用階層式結構儲存硬體、軟體、用戶偏好及安全性設定。理解其結構對系統管理、開發除錯及效能調校至關重要。本文將詳細剖析六大根鍵的功能定位與內部組織。
此鍵值包含 OLE (物件連結與嵌入) 與檔案關聯資訊,確保與 Windows 3.x 相容。實際上它是 HKEY_LOCAL_MACHINE\Software\Classes 與 HKEY_CURRENT_USER\Software\Classes 的合併視圖,優先讀取使用者層級設定。管理檔案副檔名對應、COM 類別 ID (CLSID)、應用程式識別碼 (AppID) 等關鍵資料。
專門管理目前登入使用者的個人化設定,包含:
資料儲存於 %USERPROFILE%\ntuser.dat,登入時載入,登出時寫回。使用者修改環境設定即時反映於此分支。
包含電腦專屬的硬體、驅動程式、系統服務與軟體安裝資訊,不隨使用者變動。底下五大子鍵分工明確:
每次開機由 NTLDR/NTDETECT 重建,不保存使用者修改。四大子項:
儲存本機使用者/群組帳戶、密碼雜湊、安全性原則。任何編輯器皆無法直接存取,必須透過「使用者管理工具」或 SAM API 操作。系統服務 `lsass.exe` 掌管存取權控。
包含本地安全性原則、使用者權利指派 (如「以服務身分登入」)、密碼原則 (長度、複雜度、歷程記錄)、稽核原則、信任關係。內含 SAM 資料庫的備份複本,同樣受核心保護,一般編輯器不可讀寫。
每套安裝軟體擁有專屬子鍵 (通常為廠商名稱\產品名稱\版本),儲存:
控制系統啟動流程、裝置驅動程式載入順序、服務啟動類型 (自動/手動/停用)、控制集。關鍵子鍵:
CurrentControlSet:當前生效的控制集指標ControlSet001, ControlSet002:多重控制集備份,支援「上次正確配置」Services:所有驅動程式與服務的啟動參數、相依性、錯誤控制載入所有活躍使用者的設定檔。包含兩類子鍵:
.DEFAULT:預設使用者設定檔,供新建帳戶、系統服務、登入畫面使用S-1-5-21-... (SID):各使用者的安全性識別碼 (SID) 命名分支,對應 HKCUNT 4.0 引入,整合自 HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current 與 HKLM\SOFTWARE 相關部分,提供快速存取當前硬體設定檔 (顯示解析度、裝置啟用狀態),避免遍歷深層路徑。
NT 4.0 首見,因 NT 4 不支援完整 PnP,內容為空。Windows 9x/Me 大量使用此鍵儲存即插即用裝置狀態、效能計數器;NT 系統改用 WMI (Windows Management Instrumentation) 取代。
Windows NT 登錄表結構設計精密,六大根鍵分工明確,支援多使用者、多硬體設定檔、安全性隔離。深入理解各分支用途,能大幅提升系統管理、應用程式開發與疑難排解效率。隨著 Windows 版本演進,部分鍵值 (如 HKDD) 已淘汰,但核心架構延續至今,仍是 Windows 內核配置管理的基石。