Windowsが64bitになってもSystem32のフォルダを使う理由

64bitのWindowsでもシステムの主要な部品がC:\Windows\System32に入っています。フォルダ名の通り、元は32bitが由来のフォルダですがそのまま使われています。

Microsoftが過去資産を活かすための工夫です。


互換性を維持するため

Windowsの32bit時代(Windows NT以降)から、システムの主要なライブラリや実行ファイルはC:\Windows\System32に格納されるようになりました。64bit版のWindowsでも、後方互換性を保つためにSystem32という名前を維持しています。

64bit版のバイナリがSystem32に格納される

64bit Windowsでは、64bitのシステムファイルがSystem32に格納され、32bitのシステムファイルはSysWOW64に格納されます。

逆のように見えますが、WOW64(Windows on Windows 64)という仕組みで32bitアプリを動作させるために、SysWOW64に32bit用のDLLや実行ファイルが収められています。


もしSystem64にしたらどうなるか

もし64bit環境でSystem64という新たなフォルダを作成し、64bit用のシステムファイルをそこに配置していたら、従来のソフトウェア(特にハードコードされたパスを参照するもの)が正しく動作しない可能性があります。

そのため、System32という名前を維持したままになっています。

なお、32bitアプリケーションがSystem32にアクセスしようとするとSysWOW64に自動的にリダイレクトされます。32bitアプリケーションがSystem32に入っているシステムファイルを使っているわけではありません。


まとめ

  • System32には64bit環境では64bitのシステムファイルが入っている
  • SysWOW64には32bitのシステムファイルが入っている
  • 名前の矛盾は互換性のための設計上の選択

これがWindowsの互換性を支えている重要な仕組みのひとつです。

Next Post Previous Post