MiniTool公式ページのこの記事では、「32ビットプログラムは64ビットWindowsシステムで動作するのか」という質問にお答えし、64ビットWindowsオペレーティングシステム(OS)で32ビットプログラムを実行する方法をご紹介します。
32ビットプログラムと64ビットWindowsについて
通常、32ビットプログラムは32ビットWindowsと64ビットシステム用に設計されています。しかし、64ビットプログラムは64ビットWindows上でのみ動作するように開発されています。32ビットは、64ビットで提供されるどの機能やメモリにもアクセスすることなく、64ビットWindows上で動作します。
64ビットコンピューターで32ビットプログラムを実行できるのか
基本的に、64ビットPCで32ビットソフトを実行することは可能です。どの64ビットシステムも、32ビットWindowsベースのプログラムを64ビットWindowsでシームレスに実行できるx86エミュレータであるWOW64に依存する32ビットプログラムと互換性があります。また、32ビット(x86)Windowsアプリを64ビット(x64)Windowsで、そして32ビット(x86)と32ビット(ARM)Windowsアプリを64ビット(ARM)Windowsでシームレスに実行できます。
WOW64はOSに組み込まれているため、特に有効にする必要はありません。32ビットソフトと64ビットプログラムを分離することで、ファイルやレジストリの競合を防いでいます。コンソール、GUI、サービスアプリに対応し、32ビットファイルシステムはProgram Files(x86)に格納されます。こうすることで、Windowsが32ビットアプリを識別し、それに応じた適切な.dllファイルを提供することが可能となります。
Windowsは、カット&ペーストやCOMのような場面において、32/64の境界を越えた相互運用性を実現しています。しかし、32ビットプロセスが64ビットDLLを、64ビットプロセスが32ビットDLLをロード・実行することはできません。ただし、データファイルや画像リソースファイルとしてロードされるDLLは例外です。
32ビットプログラムは、IsWow64Process関数を呼び出すことで、それがWOW64で実行されているかどうかを検出します(Windows 10が対象の場合はIsWow64Process2を使用します)。アプリは、GetNativeSystemInfoユーティリティを使用して、プロセッサに関する追加情報を取得します。
WOW64を使えば、同じ原理の32ビットWindows上で16ビットプログラムを実行できます。しかし、64ビットWindowsはハンドルが32ビットであるため、16ビットWindowsベースのプログラムを実行することはできません。そのため、データを失わずにハンドルを切り捨てて16ビットアプリに渡すということは不可能なのです。64ビットシステムで16ビットプログラムを起動すると、「ERROR_BAD_EXE_FORMAT」というエラーが表示されます。
64ビットWindows 11/10で32ビットプログラムを実行する方法
64ビットWindowsで32ビットプログラムを実行するには、いくつかの方法があります。
#1 WOW64で64ビットシステムに32ビットアプリを直接インストール
一般的に、64ビットコンピューターで32ビットアプリケーションを実行する手順は、32ビットコンピューターで実行する手順と似ています。
まず、対象の32ビットツールを64ビットコンピューターにインストールします。ソフトのインストールCD/DVDを使用しても構いませんが、オンラインでダウンロードすると自動的にシステム状態が検出され、対応する64ビットプログラムを推奨されることがあります。このような場合は32ビットを選択して下さい。32ビットプログラムを64ビットコンピューターにインストールする手順は、32ビットコンピューターにインストールする手順と同じです。
次に、インストールした32ビットソフトのショートカットをダブルクリックして開くか、右クリックして「開く」を選択します。デスクトップにショートカットが見つからない場合は、スタートメニューをクリックして、「すべてのプログラム」からプログラムを探して下さい。
#2 64ビットPC上のVirtual Boxを介して32ビットプログラムを実行
64ビットマシンにインストールされた仮想ボックスや仮想マシン(VMWare)内で32ビットアプリケーションを実行することもできます。これは間接的に目的を達成することになります。
#3 XPモードの64ビットコンピューターで32ビットソフトを動作させる
XPモードは、Windows 7 Professional、Enterprise、Ultimateの機能で、当時人気だったWindows XPを仮想マシン上で実行できるようにするものです。
#4 コンピューターをデュアルブートして、64ビットWindowsで32ビットアプリを実行
コンピューターを64ビットシステムと32ビットシステムの両方でデュアルブートし、32ビットシステムに32ビットプログラムをインストールすれば、64ビットOS上で32ビットツールを実行できます。
64ビットWindowsに32ビットプログラムをインストールできない
32ビットソフトを64ビットシステムにインストールできない場合は、次の解決策をお試し下さい。
1.Windowsコントロールパネルを開きます。
2.「プログラムと機能」を選択します。
3.左パネルにある「Windowsの機能の有効化または無効化」をクリックします。
4.ポップアップウィンドウで「インターネットインフォメーションサービス」をクリックします。
5.「OK」をクリックして変更を保存し、Windowsが変更を完了するまで待ちます。
6.「インターネットインフォメーションサービス」を検索して開きます。
7.ポップアップウィンドウで、左メニューの「デスクトップ」を展開します。
8.次に、サブオプションの「アプリケーションプール」をクリックします。
9.「DefaultAppPool」を右クリックし、右エリアで「詳細設定」を選択します。
10.「全般」にある「32ビットアプリケーションの有効化」の後にあるドロップダウンをクリックし、「True」を選択します。
11.「OK」をクリックして設定を保存します。
それでは、64ビットWindows 10またはWindows 11に32ビットツールを再度インストールしてみて下さい。
関連FAQ
Windows 11 おすすめソフトウェア
新しい強力なWindows 11は多くの利益をもたらすことでしょう。同時に、データの損失など思わぬ損害が発生するリスクもあります。そのため、Windows 11へのアップグレード前後に、MiniTool ShadowMakerのような強力で信頼できるプログラムを使って、重要なファイルをバックアップすることを強くおすすめします。