レジストリの構造とハイブ
レジストリ構造の説明でどうもシックリくるものがないのでまとめてみた。
🟨 レジストリの構造とハイブ 🟨
ルートキー
HKEY_CLASSES_ROOT (エイリアス)
種別 : マージビュー
略称 : HKCR
説明 : HKCU\Software\Classes (優先) + HKLM\SOFTWARE\Classes (既定)
ハイブ : なし (メモリ上で動的に合成される仮想ルート)
HKEY_CURRENT_CONFIG (エイリアス)
種別 : リンク
略称 : HKCC
実体 : HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current
備考 : CurrentControlSetもエイリアスなので、厳密に言うと実体は HKLM\SYSTEM\ControlSet001\Hardware Profiles\Current
互換性のために残されているが、Vista以降ではあまり参照されない。
ハイブ : なし
HKEY_CURRENT_USER (エイリアス)
種別 : リンク
略称 : HKCU
実体 : S-1-5-(ユーザーSID)
ハイブ : C:\Users\(ユーザー名)\NTUSER.DAT
HKEY_LOCAL_MACHINE
種別 : コンテナ
略称 : HKLM
ハイブ : C:\Windows\System32\config 以下のハイブ
HKEY_USERS
種別 : コンテナ
略称 : HKU
ハイブ : なし (配下の各 SID が個別ハイブをマウント)
備考 : .DEFAULT + 各ユーザーSID のコンテナ
HKEY_PERFORMANCE_DATA
種別 : パフォーマンスデータ
略称 : HKPD (非公式)
ハイブ : なし (メモリ上で生成)
備考 : レジストリエディタでは見ることができない (API経由でのみアクセス可能)
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
HKEY_USERS サブキー
.DEFAULT
種別 : システムデフォルトプロファイル
説明 : LocalSystem サービス
ハイブ : C:\Windows\System32\config\DEFAULT
S-1-5-18
種別 : リンク (.DEFAULT)
説明 : LocalSystem アカウント
ハイブ : なし (NTUSER.DATを持たない)
S-1-5-19
説明 : LocalService アカウント
ハイブ : C:\Windows\ServiceProfiles\LocalService\NTUSER.DAT
S-1-5-20
説明 : NetworkService アカウント
ハイブ : C:\Windows\ServiceProfiles\NetworkService\NTUSER.DAT
S-1-5-21-(ユーザーSID)
説明 : ローカル/ドメイン ユーザーのプロファイル
ハイブ : C:\Users\(ユーザー名)\NTUSER.DAT
S-1-5-21-(ユーザーSID)_Classes
説明 : HKCU\Software\Classes の実体
ハイブ : C:\Users\(ユーザー名)\AppData\Local\Microsoft\Windows\UsrClass.dat
- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -
ハイブファイルまとめ
ハイブ パス
| HKLM\COMPONENTS | C:\Windows\System32\config\COMPONENTS |
| HKLM\SAM | C:\Windows\System32\config\SAM |
| HKLM\SECURITY | C:\Windows\System32\config\SECURITY |
| HKLM\SOFTWARE | C:\Windows\System32\config\SOFTWARE |
| HKLM\SYSTEM | C:\Windows\System32\config\SYSTEM |
| HKCU | C:\Users\(ユーザー名)\NTUSER.DAT |
| HKCU\Software\Classes | C:\Users\(ユーザー名)\AppData\Local\Microsoft\Windows\UsrClass.dat |
| HKU\.DEFAULT | C:\Windows\System32\config\DEFAULT |
| LocalService | C:\Windows\ServiceProfiles\LocalService\NTUSER.DAT |
| NetworkService | C:\Windows\ServiceProfiles\NetworkService\NTUSER.DAT |
その他のハイブ
C:\Users\Default\NTUSER.DAT :
新規ユーザー作成用のプロファイルテンプレート
C:\Windows\System32\config\BBI:
「Bad Block Information」の略。ドライブ上の不良セクタに関する情報を保持し、暗号化キーの管理に利用されることがある。
C:\Windows\System32\config\BCD-Template:
ブート構成データ (BCD: Boot Configuration Data) のテンプレートファイル。OSの起動メニューやブートローダーの設定を記述する BCD レジストリハイブのテンプレート、システムのインストール時や回復環境で利用される。
C:\Windows\System32\config\DRIVERS:
ドライバデータベース に関連するファイル。OS起動時に読み込まれるデバイスドライバの情報を格納。
C:\Windows\System32\config\ELAM:
「Early Launch Anti-Malware」 の略。Windows 8以降で導入されたセキュリティ機能で、ブートプロセスの非常に初期の段階で読み込まれるマルウェア対策ドライバに関する設定情報を格納。
C:\Windows\System32\config\userdiff:
Windows の機能である 「User State Migration Tool (USMT: ユーザー状態移行ツール)」や OSのアップグレード に関連するファイル。以前のバージョンのOSと新しいOSの間で、レジストリ設定の差異を吸収・変換するための情報が含まれている可能性がある。
C:\Windows\System32\config\VSMIDK:
Virtual Secure Mode (VSM) や Isolated User Mode (IUM) といった仮想化ベースのセキュリティ機能に関連するファイル。