Windows エラー 0xc0000020 の原因と直し方|アプリが起動しない・不正なイメージ対策

Windowsエラー「0xc0000020」の原因と解決法を解説する日本語のタイトル画像。左にエラーメッセージウインドウ、右に黄色と白の太字タイトルが配置されている。
PR

はじめに

Windowsで突然「0xc0000020」と表示されると、不安になりますよね。

このエラーは、アプリの起動時やWindows Updateの最中などに発生しやすく、画面によっては「不正なイメージ(Bad Image)」や「アプリケーションを正しく起動できませんでした」といった文言が一緒に出ることもあります。

結論から言うと、0xc0000020は実行に必要なファイル(EXE/DLLなど)の整合性が崩れたときに起きやすいエラーです。難しそうに見えても、順番に対処すれば改善できるケースが多いので、落ち着いて進めていきましょう。

0xc0000020 エラーとは?

エラーコード 0xC0000020 は、Windowsがプログラムを読み込んで実行しようとしたときに、内部構造や依存関係が「正しくない」と判断された場合に発生します。

  • 実行ファイル(EXE)や更新ファイルが破損している
  • 必要なDLLが欠けている/別のものに置き換わっている
  • x64/x86/ARM64などのビット数やアーキテクチャの不一致が起きている
  • 署名・整合性が崩れている(更新途中の中断など)

【出やすい場面】アプリ起動、Windows Update、ドライバー更新、セキュリティソフトの干渉後、など。

主な原因

原因はひとつとは限らず、複数が重なって発生することもあります。まずは全体像を把握しましょう。

原因よくある状況
システムファイル破損更新の失敗・強制終了後、Windowsの部品が欠けたり壊れたりする
アプリ側ファイル破損アプリのEXE/DLLが壊れている、または上書きされてしまった
ランタイム不足・不整合Visual C++や.NETなど必須コンポーネントが不足/破損
ドライバーの互換性不良古いドライバーや特殊な周辺機器が干渉
Windows Update不具合更新キャッシュ不良・更新途中中断で整合性が崩れる
マルウェア・改ざん不正なプログラムがDLL等を書き換える/読み込みを邪魔する

解決策:上から順番に試していこう

基本は「システム修復 → 依存関係の整理 → ドライバー・更新 → スキャン」の順です。いきなり難しいことをせず、上から順に進めるのが近道です。

PR

対策① SFCでシステムファイルをチェック(最優先)

まずは、Windowsの基本部品(システムファイル)が壊れていないか確認します。安全で、初心者でも実行しやすい方法です。

  1. スタートで「ターミナル」と検索 → ターミナル(管理者)を開く
  2. 次のコマンドを実行
sfc /scannow

完了したら再起動し、エラーが出ていたアプリや更新をもう一度試してください。

対策② DISMでさらに深く修復(SFCで直らないとき)

SFCで改善しない場合は、Windowsの修復元(コンポーネントストア)を整えるDISMを実行します。

DISM /Online /Cleanup-Image /RestoreHealth

実行後は再起動し、もう一度sfc /scannowを実行してから、症状を確認すると安定しやすいです。

対策③ 依存ランタイムを整える(Visual C++ / .NET)

アプリの起動時に0xc0000020が出る場合、必須のランタイム不足や破損が原因になっていることがあります。特に多いのがVisual C++ 再頒布可能パッケージです。

  • Visual C++ 再頒布可能パッケージ:64bit環境でもx64とx86の両方を入れると改善することがあります
  • .NET:Windowsの「機能の有効化または無効化」で.NET関連を一度オフ→オン(または修復)して改善する場合があります

※「x64アプリにx86 DLLが混ざる」などの不整合は、このエラーの典型原因です。作業後は再起動して確認しましょう。

対策④ エラーが出るアプリを修復/再インストール

特定のアプリだけで発生するなら、そのアプリ自体が壊れている可能性があります。

  1. 設定 → アプリ → インストールされているアプリ
  2. 該当アプリを選択 → 修復(可能なら)→ ダメならアンインストール
  3. 公式サイトから最新版を入れ直す

古いインストーラーや非公式配布から入れた場合は、公式版に戻すだけで直ることもあります。

対策⑤ ドライバー更新(互換性の崩れを直す)

古いドライバーが原因で、読み込みが不安定になりエラーを誘発することがあります。特にプリンタ/オーディオ/GPUまわりは要注意です。

  1. デバイスマネージャーを開く
  2. 該当デバイスを右クリック → ドライバーの更新
  3. 可能ならメーカー公式サイトの最新ドライバーに更新

古い周辺機器のドライバーが原因になることもあります。互換性が気になる場合は、ソフマップのPC周辺機器で安定しやすい製品を選ぶのも一つの手です。

対策⑥ Windows Updateの修復(更新絡みで出る場合)

Windows Update中に出る場合は、まず更新を最新にし、続いて更新キャッシュを作り直します。

  1. 設定 → Windows Update → 更新プログラムの確認
  2. 失敗が続く場合:トラブルシューティングを実行

それでも改善しない場合は、管理者のターミナルで次を上から1行ずつ実行 → 再起動 → Update再試行。


net stop wuauserv
net stop bits
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start bits
net start wuauserv


※これはフォルダを削除せずリネームして再生成させる方法なので、比較的安全です。

対策⑦ ウイルス/マルウェアチェック(念のため)

原因がはっきりしない場合は、改ざんや不正な常駐を疑ってスキャンしましょう。

  1. Windows セキュリティ → 「ウイルスと脅威の防止」
  2. 「スキャンのオプション」→ フルスキャンを実行
  3. 可能ならMicrosoft Defender オフライン スキャンも実行

追加チェックとして、評判の良いスキャナ(例:Malwarebytes等)を使うのも有効です。

感染が心配な方は、信頼性の高いセキュリティソフトの導入も検討すると安心です。

補足:なぜ0xc0000020が起きるのか?

0xc0000020は「イメージが不正」と表現されることがありますが、ここでの“イメージ”は画像ではなく、実行ファイルと依存関係(DLL/ランタイム)の構造のことです。

更新中断や不完全なインストール、DLLの置き換え・不足があると、Windowsは「安全に実行できない」と判断し、エラーになります。

原因特定に役立つ:イベントログを確認する

「何度やっても直らない」「特定のアプリだけ落ちる」という場合は、イベントビューアで手がかりが見つかることがあります。

  1. Win + Reventvwr → Enter
  2. 「Windowsログ」→「アプリケーション」または「システム」
  3. 発生時刻付近の「エラー」を開き、障害モジュール(DLL名)やアプリ名を確認

最終手段:修復インストール/クリーンインストール

ここまで試しても改善しない場合、Windows自体の構造が深く崩れている可能性があります。

番外編:修復インストール(インプレースアップグレード)

データとアプリを残したまま、Windowsを上書きして整える方法です。初期化より安全に復旧できることがあります。

  • Microsoft公式のインストーラーを使う
  • 「個人用ファイルとアプリを保持する」を選ぶ

最後:クリーンインストール

どうしても直らない場合は、バックアップを取ったうえでクリーンインストールを検討します。

▶︎Windowsを完全リセット!失敗しない「クリーンインストール」のやり方

まとめ

0xc0000020は「実行に必要なファイル構造や依存関係が崩れた」ときに起きやすいエラーです。まずはSFC → DISMでWindows自体を整え、次にランタイム(Visual C++ / .NET)アプリ再インストールドライバー更新を進めるのが近道です。

それでも改善しない場合は、イベントログでDLL名やアプリ名を確認し、最後に修復インストール(インプレース)やクリーンインストールを検討してください。