レジストリ ルートキーの関係

HKCRとHKCU ,HKLM の関係

HKEY_CURRENT_USERログインユーザーの設定です。
HKEY_LOCAL_MACHINEコンピューターの既定の設定です。

同じ項目がある場合はログインユーザーの設定が優先されます。

HKEY_CLASSES_ROOT関連付けの設定です。

HKLM\SOFTWARE\ClassesHKCU\Software\Classesを合わせたものが表示され、同じ項目はHKCUの設定が優先されます。

HKCRに書き込むと、HKLM\SOFTWARE\Classesにも書き込まれますが、HKCU\Software\Classesに同じキーがある場合は、そちらに書き込まれます。

ほとんどが個人で使用されるWindowsでは、一部を除きHKLM ,HKCR の変更は必要がなく、HKCUの編集だけで簡単かつ安全にカスタマイズできます。

よく掲載されている、HKEY_LOCAL_MACHINEに対するカスタマイズのほとんどは、そのまま、HKEY_CURRENT_USERに置き換える事ができます。

HKEY_CLASSES_ROOTHKEY_CURRENT_USER\Software\Classesに置き換えることが可能です。

そうすることで、TrustedInstallerが所有権を持つキーも難なく編集できますし、トラブルの影響もログインユーザーのみに留まります。

ただしシステムの変更はHTMLに設定しないと効果のないものもあります。例えば、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStoreはエクスプローラーのコマンドバーで使用されていますが、システムへの設定しか受け付けられず、HKEY_CURRENT_USERに同じキーを作成しても参照すらされません。


その他のルートキーについて

HKEY_CURRENT_USER
HKEY_USERS/(SID)のエイリアスです。
SIDは、S-1-5-18などのキー名でログインユーザーに対応しています。

HKEY_CURRENT_CONFIG
HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Currentのエイリアスです。

したがって、HKEY_LOCAL_MACHINEHKEY_USERSから、全てのレジストリが参照できることになりますが、Windowsのカスタマイズするにあたっては、前述のHKLM ,HKCU ,HLCRのが理解しやすいですし、それで全て可能です。