Windows
 Computer >> コンピューター >  >> システム >> Windows

【Windows 11/10】「D3D11.dllはWindowsでの実行を目的として設計されていません」エラー0xc0000020の解決方法

本記事では、Windows 11/10で発生する「Bad Image – D3D11.dllはWindowsでの実行を目的として設計されていないか、エラーを含んでいます」という問題の解決方法を詳しく解説します。D3D11.dllファイルはDirectX 11の構成要素の一つで、高度なグラフィック処理を必要とするアプリケーションやゲームで主に使用されます。アプリやゲームを起動しようとした際にこのエラーが表示されるという報告が、多くのユーザーから寄せられています。通常、ソフトウェアの再インストールで解決することが多いのですが、この特定のエラーには効果がないようです。このエラーにお困りの方は、本記事で紹介する複数の対処法をお試しください。

【Windows 11/10】「D3D11.dllはWindowsでの実行を目的として設計されていません」エラー0xc0000020の解決方法

Bad Image – ファイルはWindowsでの実行を目的として設計されていないか、エラーを含んでいます。元のインストールメディアを使用してプログラムを再インストールするか、システム管理者またはソフトウェアベンダーに問い合わせてサポートを受けてください。エラーステータス 0xc0000020。

解決策をご紹介する前に、重要な注意点があります。サードパーティのWebサイトからD3D11.dllファイルの「クリーンなコピー」を入手して置き換えることは、絶対に避けてください。そうしたサイトから入手したファイルにはマルウェアなどの悪意あるコードが含まれている可能性があり、システムを危険にさらすことになりかねません。

それでは、このエラーを解決するための具体的な方法を見ていきましょう。

「DLLはWindowsでの実行を目的として設計されていないか、エラーを含んでいます」エラーの修正方法は?

このBad Imageエラーは、いくつかの一般的な対処法で修正できます。ソフトウェアを最新バージョンに更新または再インストールする、ベンダーにDLLの最新バージョンを問い合わせる、あるいはシステムファイルチェッカー(SFC)スキャンを実行するといった方法です。これらの方法でエラーが解決するはずです。

d3d11.dllのエラーを修正するには?

d3d11.dllのエラーを修正するには、Microsoft DirectXの最新版をインストールする、システムのマルウェアやウイルスをスキャンして駆除する、SFCスキャンを実行する、またはエラーが発生していなかった時点へシステムの復元を行うなどの方法があります。これらの方法でも解決しない場合は、d3d11.dllエラーが発生しているアプリケーションの再インストールを試してください。

Bad Image、D3D11.dllはWindowsでの実行を目的として設計されていません(エラー0xc0000020)の対処法

D3D11.dllはWindowsでの実行を目的として設計されていないか、エラーを含んでいますというエラーを修正する方法は、以下の4つです。

  1. システムファイルチェッカー(SFC)スキャンを実行する
  2. D3D11.dllファイルを再登録する
  3. D3D11.dllファイルをローカルコピーと手動で置き換える
  4. DirectX 11を再インストールする

1] システムファイルチェッカー(SFC)スキャンを実行する

【Windows 11/10】「D3D11.dllはWindowsでの実行を目的として設計されていません」エラー0xc0000020の解決方法

このエラーは、PC上のシステムファイルが破損していることが原因である可能性が最も高いです。そのため、他の解決策を試す前に、まず破損したシステムファイルの修復を試みましょう。そこで活用したいのが、Windowsに標準搭載されているシステムファイルチェッカー(SFC)です。これはコマンドベースのツールで、破損または損傷したシステムファイルをスキャンし、正常な状態へ復元してくれます。コマンドプロンプトからSFCスキャンを実行し、問題が解決したかどうかを確認してみてください。

Windows 11/10でSFCスキャンを実行する手順は以下の通りです。

  1. まず、スタートメニューの検索バーから、管理者権限でコマンドプロンプトを起動します。
  2. コマンドプロンプトが開いたら、以下のコマンドを入力してSFCスキャンを実行します。
    SFC /scannow
  3. Enterキーを押してコマンドを実行します。
  4. コマンドが完了するまで待ちます。WindowsがSFCスキャンを実行してシステムファイルを修復するには、15〜20分ほどかかる場合があります。
  5. 完了したら、変更を適用するためにPCを再起動します。
  6. 最後に、以前このエラーが表示されていたアプリケーションを起動し、エラーが解消されたかどうかを確認します。

SFCスキャンを実行しても問題が解決しない場合は、次の対処法を試してください。

2] D3D11.dllファイルを再登録する

上記の方法でエラーが解決しなかった場合は、D3D11.dllファイルを再登録してみましょう。この方法でエラーが解決したという報告もあるため、あなたの環境でも有効になる可能性があります。DLLファイルの再登録には、Windowsに組み込まれたRegsvr32ツールを使用します。これは、Windows上でDLLやOCXファイルなどのOLEコントロールを登録・登録解除できるコマンドラインツールです。

Windows 11/10でD3D11.dllファイルを再登録する手順は以下の通りです。

まず、タスクバーの検索ボックスに「CMD」と入力し、コマンドプロンプトアプリにマウスを合わせて「管理者として実行」を選択します。

次に、コマンドプロンプトで以下のDLL再登録コマンドを入力します。

for %d in (*.dll) do regsvr32 -s %d

その後、Enterキーを押して、コマンドが完全に実行されるまで待ちます。

コマンドが完了したら、コマンドプロンプトのウィンドウを閉じて、システムを再起動します。

再起動後、「D3D11.dllはWindowsでの実行を目的として設計されていないか、エラーを含んでいます」というエラーが解消されているかどうかを確認してください。

これでも解決しない場合は、さらに別の方法があります。次の対処法に進みましょう。

3] D3D11.dllファイルをローカルコピーと手動で置き換える

上記の解決策でエラーが解決しない場合は、D3D11.dllを新しいコピーと手動で置き換えてみてください。この方法でエラーを解決できたユーザーもいるため、試してみる価値は十分にあります。

なお、Windowsには2種類のd3d11.dllファイルが存在することに注意してください。

  • 1つは C:\Windows\SysWOW64 フォルダ内にあります
  • もう1つは C:\Windows\System32 フォルダ内にあります

64ビット版Windowsの場合は、SysWOW64フォルダ内にあるd3d11.dllファイルを置き換えます。

警告: この方法を試す前に、自分が何をしているのかを確実に理解しておく必要があります。この手順には技術的な操作が含まれており、コマンドプロンプトに精通していることが前提となります。誤って操作すると、PCに不具合が発生する恐れがあります。自信がある場合のみ、この方法を実行してください。

d3d11.dllファイルをローカルコピーと手動で置き換える手順は以下の通りです。

  1. まず、管理者権限でコマンドプロンプトを開きます。
  2. d3d11.dllファイルの所有権を取得するために、以下のコマンドを入力してEnterキーを押します。
    takeown /f C:\Windows\SysWOW64

    32ビット版Windowsをお使いの場合は、SysWOW64の代わりにSystem32を指定してください。

  3. 次に、caclsコマンドを使用してフルコントロールを取得し、ファイルを削除できるようにします。以下のコマンドを入力してください。
    C:\Windows\System32\en-US\winload.exe.mui /G *TWC*:F

    上記のコマンド内の *TWC* は、ご自身のユーザー名に置き換えてください。

  4. 「よろしいですか?(Are you sure?)」と表示されたら「Y」と入力してEnterキーを押します。これでコマンドプロンプトを閉じることができます。
  5. 続いて、エクスプローラーを開き、C:\Windows\SysWOW64 フォルダへ移動します。
  6. d3d11.dllファイルを見つけて削除します。
  7. 次に、以下の場所へ移動し、クリーンなd3d11.dllファイルをコピーします。
    C:\Windows\WinSxS\wow64_microsoft-windows-directx-direct3d11_31bf3856ad364e35_10.0.22000.120_none_f5722a07873a5925
    上記の場所にd3d11.dllが見つからない場合は、エクスプローラーの検索機能で手動に探してください。
  8. 最後に、先ほどコピーしたd3d11.dllファイルを C:\Windows\SysWOW64\ に貼り付けて、PCを再起動します。その後、「C:\Windows\SysWOW64\D3D11.dllはWindowsでの実行を目的として設計されていないか、エラーを含んでいます」という問題が解決されたかどうかを確認してください。

4] DirectX 11を再インストールする

上記のどの方法でも解決しない場合は、Microsoft公式サイトからDirectXをダウンロードし、Windowsシステムに再インストールしてください。これによりエラーが解消される可能性があります。

あわせて読みたい関連記事:

  • MSVCR100.dll、MSVCR71.dll、MSVCR120.dllが見つからない場合の対処法
  • AppVIsvSubsystems32.dllがないためプログラムを開始できない場合の対処法
  1. Windows 10で「エントリポイントが見つかりません」エラーを修正する6つの方法

    iTunesやMinecraftなどのプログラムを開こうとした際に、「エントリポイントが見つかりません(Entry Point Not Found)」というエラーが表示され、プログラムが起動しないことがあります。この問題は特定のアプリだけでなく、バックグラウンドで動作するプログラムを含むさまざまなソフトウェアで発生します。主な原因は、あなた自身または他のプログラムが、_resetstkoflw(スタックオーバーフローからの回復)関数を含まないサードパーティ製バージョンでMsvcrt.dllファイルを置き換えてしまったことにあります。 たとえば、以下のようなエラーメッセージが表示されるケースがあ

  2. Windows 11で「Microsoft Excelを実行するのに十分なメモリがありません」エラーを解決する7つの方法

    Windows 11で「Microsoft Excelを実行するのに十分なメモリがありません」というエラーが表示されて困っていませんか?このエラーは何を意味し、なぜデバイス上でExcelアプリを開けなくなってしまうのでしょうか。疑問がたくさん浮かんでいることと思います。ご安心ください。この記事では原因と対処法を詳しく解説します。Microsoft ExcelはOfficeスイートに含まれるアプリケーションの一つで、スプレッドシートの作成、データ入力、グラフやチャートの作成など、幅広い用途で活用されている人気ツールです。データの整理や財務分析を行うための、直感的で使いやすいアプリとして多くのユー