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

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 が所有権を持つキーも難なく編集できますし、トラブルの影響もログインユーザーのみに留まります。

ただしシステムの変更は HKLM に設定しないと効果のないものもあります。例えば、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のが理解しやすいですし、それで全て可能です。