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という名前を維持したまま、内容を64bit用に置き換えています。
まとめ
- System32には64bit環境では64bitのシステムファイルが入っている
- SysWOW64には32bitのシステムファイルが入っている
- 名前の矛盾は互換性のための設計上の選択
混乱しやすい部分ですが、これがWindowsの互換性を支えている重要な仕組みのひとつです。