スキップしてメイン コンテンツに移動

32bitゲームを64bit環境で動かすWindowsの仕組みWOW64

Windowsで動くゲームは昔のWindows95/98用ゲームから始まり、ちょっと前のWindowsまで大半のゲームは32bitコードのプログラムです。

今のWindowsを64bit環境で使っている人が多いと思いますが、そのままでは32bitコードのプログラムは動きません。Windows側で「WOW64」というエミュレーションがされます。

WOW64を理解しておくことで昔のゲームを今のパソコンで動かせる可能性が高まります。


参考にしたWEBページ

32bitアプリを64bit Windows 7で動かす「WOW64」(ASCII.jp)

第2回 Win32アプリケーションを実行するWOW64(@IT)


WOW64とは

Windows 32bit On Windows 64bitの略。64bitのWindowsで32bitコードのプログラムを動かすエミュレーションの仕組みです。

CPU自体だとx86の64bit化自体は32bitとの互換性が高い状態で拡張されています。加えてWindows側は32bitコードのプログラムの互換性を維持するためにWOW64の仕組みが動いて対応します。

64bit環境で32bitコードのプログラムは以下のような動き、制限があります。

  • 32bitコードのプログラム向けに32bitで扱える仮想メモリ空間が割り当てられる
  • 32bitコードのプログラムと64bitコードのプログラムは1つのプロセス内に混在できない
  • DLLも32bitコードのプログラムは32bitコードのDLLを呼び出す必要がある。32bitコードのプログラムから64bitコードのDLLを呼び出せない
  • Windowsのシステムフォルダやレジストリは32bitコード用に用意されたものにアクセスするようにリダイレクトする

32bitのゲームを64bit環境で動かすときのポイント

古いゲームのインストール先は標準のProgam Filesフォルダにしない

64bit環境では64bitコードのプログラムは C:¥Program Files に、32bitコードのプログラムは C:¥Program Files(x86) にインストールされます。Program Files(x86)やProgram FilesフォルダはWindowsの管理下になっています。

Win95/98向けのような古いゲームをこれらのフォルダにセットアップしようとしても、セットアップが途中で失敗したり、入ってもゲームが動かなかったりします。

古いゲームをセットアップするとき、手動でファイルをコピーしたり、ゲーム付属のインストーラを使うならCドライブ直下にフォルダを作って入れる方が動くことが多いです。


システムフォルダのアクセス先がSysWOW64になる

32bitコードのゲームがWindowsシステムフォルダにアクセスするとき、64bit環境だとWindowsシステムフォルダ(C:¥Windows¥System32)ではなく、SysWOW64(C:¥Windows¥SysWOW64)に自動的に切り替えられます。

SysWOW64フォルダには32bit版のアプリケーションやDLLが保存されています。

ゲームを起動してもDLLが見つからなくてエラーになったり、DLLがうまく配置できない場合は確認しましょう。なお、DLLの問題なら遊ぶゲームの実行プログラムと同じ場所に置くことでもDLLの参照が最優先される仕組みもあります。


レジストリのアクセス先がWow6432Node配下になる

WOW64により HKEY_LOCAL_MACHINE¥Software¥Wow6432Node が用意されています。64bit環境では32bitコードのプログラムがレジストリを使うときは自動的にこの下に作られます。

もし32bit環境にインストールしたゲーム一式を64bit環境にコピーするとき、レジストリの保存先を変えてみましょう。

このブログの人気の投稿

Win95/98時代のゲームを今のWindows10で遊ぶ・動かす方法

 昔のWindows95/98時代のゲームを今でも遊びたいという人は多いと思います。自分もそうです。 でもWindows10で動かそうとしてもそのままではうまく動かないときが多いので対処方法をまとめておきます。 対処方法の一覧 対処方法1:ゲームのインストーラは使わずにゲームが入っているメディア(FD・CD)から直接コピーする 対処方法2:古い環境でゲームをセットアップして内容をコピーする 対処方法3:プログラムの「互換性」の設定をする 対処方法4:「DDrawCompat」でグラフィックス関連の互換性を上げる 対処方法5:「_inmm.dll」でCD音源を再生できるようにする 対処方法6:64bit環境ならWOW64の仕組みをふまえて調整する ↓起動したゲームの例(ぷよぷよ通、バーチャファイターPC) 対処方法1:ゲームのインストーラは使わずにゲームが入っているメディア(FD・CD)から直接コピーする Windows95/98時代のゲームのインストーラは今のWindows 10でうまく動かなかったりします。 ゲームが入っているメディア(FD・CD)を見てみて、ゲームの実行プログラム(EXEプログラム)やゲームのファイルがそのまま見える状態ならコピーしてみましょう。 もしsetup.exeや内容がCABファイルで圧縮されているゲームはセットアップが必要でこの方法は使えません。 手順 1. ゲームが入っているメディア(FD・CD)をエクスプローラで開く 2. ゲームのプログラム(EXE)やDLLファイル、WAVやMIDファイル、TXTファイル、その他ファイルなどが沢山入っているフォルダがあるか確認する 3. 見つかったらCドライブにゲーム名のフォルダを作り、中身をコピーする 4. ゲームのプログラム(EXE)を実行してみて動くか試してみます 対処方法2: 古い環境でゲームをセットアップして内容をコピーする 対処方法1ができないゲームはWindows XPなどの少し前のパソコンがあれば、そこにセットアップしたものをコピーする方法があります。 ただしファイルのコピーだけでは動かず、セットアップでレジストリに登録された内容もコピーする必要があるゲームもあります。 手順 1. 少し前のOSかゲーム要件にマッチするOSが動くパソコンを起動する 2. ゲームをそのパソコンでセット

Windows11の画面の明るさ自動変更を無効化する方法

Windows 11のノートPCだと、画面の内容によって明るさが自動的に上下・変化することがあります。暗い画面のときに暗く、明るい画面のときに明るく変わります。 これはWindowsの機能としてありますが、明るさが一定にならないのでウェブ、ゲームをしていると邪魔です。クリエイティブなことをしているときは色を正しく確認できず、致命的です。 無効化する対処方法をまとめておきます。 起きている問題 画面の内容によって明るさが自動的に上下、変化する。 暗い画面のときに暗く、明るい画面のときに明るく変わる。 対処方法 1. デスクトップで右クリックし、「ディスプレイ設定」をクリック 2. 「明るさ」のところをクリックして内容を開く 3. 「表示されるコンテンツと明るさを最適化するとバッテリーの改善に役立ちます。」のチェックを外す