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

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コードのプログラムは以下のような動き、制限があります。

  • WOW64の仕組みでエミュレーションされる
  • 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のIMEの「予測入力」機能を無効にする方法をまとめておきます。 この設定方法はWindows11 22H2で確認しています。 設定方法 新バージョンのIMEを使っている場合 1. タスクバーの「A」や「あ」のところで右クリックし、出てきたメニューの「設定」をクリック 2. Microsoft IMEの画面で「全般」をクリック 3. 全般画面の予測入力のところで「予測候補を表示するまでの文字数を選択」で「1文字」から「なし」に変更 以前のバージョンのIMEを使っている場合 1. 文字入力し、タスクバーに「A」や「あ」が出ている状態にする 2. タスクバーの「A」や「あ」のところで右クリックし、出てきたメニューの「プロパティ」をクリック 3. Microsoft IMEの設定ダイアログで「詳細設定」ボタンをクリック 4. Microsoft IMEの詳細設定ダイアログが開くので「予測入力」タブをクリック 5. 「予測入力を使用する」のチェックを外して、「OK」か「適用」をクリック