Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

Windows 10/11でカーネルモードヒープ破損(BSOD)を解決する11の方法

Windowsでブルースクリーンエラーが発生すると、特に作業中であれば非常に困ります。進行中の作業がすべて失われるだけでなく、PC上のファイルが破損することさえあります。Windowsには数多くのBSODエラーが存在し、当サイトでもこれまでに以下のようなエラーを取り上げてきました。

  • VIDEO_DXGKRNL_FATAL_ERROR
  • WHEA_UNCORRECTABLE_ERROR
  • Netwsw00.Sys BSODエラー
  • LGBusEnum.sys BSODエラー
  • Ndistpr64.sys BSODエラー
  • Dxgmms2.sys BSODエラー
  • KMODE EXCEPTION NOT HANDLED(e1d65x64.sys)
  • IRQL_NOT_LESS_OR_EQUAL
  • DATA_BUS_ERROR
  • DRIVER_POWER_STATE_FAILURE
  • BAD_POOL_HEADER
  • VIDEO MEMORY MANAGEMENT INTERNAL

これはWindows 10/11で起こりうるトラブルのごく一部です。本記事では、多くのユーザーが遭遇するもう一つのBSODエラー「カーネルモードヒープ破損(Kernel Mode Heap Corruption)」について詳しく解説します。

Windows 10/11のカーネルモードヒープ破損とは?

KERNEL_MODE_HEAP_CORRUPTIONのバグチェックコードは0x0000013Aです。このコードは、カーネルモードのヒープマネージャーがヒープ内の破損を検出したことを示しています。

カーネルモードヒープ破損は、いわゆる「ブルースクリーンオブデス(BSOD)」が発生した際にWindowsが表示するストップコードの一つです。他のコードと同様に、システムクラッシュの原因をユーザーが特定できるよう、固有の名前が付けられています。主な原因はドライバーの問題(特にグラフィックカードドライバー)やソフトウェア同士の競合ですが、ハードウェアの故障が原因である場合もあります。

このエラーが発生する状況はさまざまです。Windows 10/11の起動時に発生したという報告もあれば、特定のプログラム(特にビデオゲームなど)を起動した瞬間に発生したという報告もあります。

コンピューターのカーネルモードでは、プログラムが基盤となるハードウェアコンポーネントへ無制限にアクセスできます。カーネルモードヒープ破損が発生すると、実行中のプログラムのコードに欠陥があり、データヒープの内容が書き換えられたことを意味します。これにより、アロケーター(メモリ割り当て機能)によるヒープ管理にも影響が及びます。

その結果、アロケーター自体の重大なメモリ障害やメモリリークが起こり、メモリの一部に今後アクセスできなくなる可能性があります。

カーネルモードヒープ破損の原因は?

このエラーは、PCに高負荷がかかっているときや長時間使用したときに発生しやすい傾向があります。最も多いのはシステムドライバー関連の問題ですが、それ以外にもいくつかの要因が確認されています。

  • ハードウェアの不具合: 破損したRAMなど、PC内のハードウェアコンポーネントの故障がエラーを引き起こすことがあります。
  • ドライバーの問題: システムドライバーの更新後に問題が始まったという報告が多数あります。この場合は更新を元に戻せば解決することがあります。逆に、ドライバーが古すぎることが原因の場合もあります。
  • ソフトウェアの互換性問題: 特定のソフトウェア間の競合がシステムの不安定動作を招き、BSODエラーにつながることがあります。
  • グラフィックカード: グラフィックカードの処理能力を超える重いソフトウェアを起動しようとした可能性があります。
  • 破損ファイル: システム内に破損したファイルがあると、このエラーを引き起こすことがあります。内蔵のイベントビューアーを使って原因を診断しましょう。

エラーの詳細な原因を調べるには、以下の手順を実行してください。

  1. Windowsキー + Rキーを押して「ファイル名を指定して実行」ダイアログを開きます。
  2. 「eventvwr」と入力してEnterキーを押します。
  3. イベントビューアーのウィンドウで、「Windowsログ」→「システム」を選択します。
  4. 一覧からKernel Mode Heap CorruptionのBSODログを探します。
  5. 「全般」および「詳細」タブに表示されるログの説明を読みます。イベントIDやソース情報から、問題の原因を特定できるはずです。

カーネルモードヒープ破損BSODの11の解決方法

KERNEL_MODE_HEAP_CORRUPTIONのブルースクリーンが表示されても慌てないでください。比較的よくあるエラーであり、通常はそれほど難しくありません。以下の方法を順番に試していきましょう。

方法1:Windowsをセーフモードで起動する

ブルースクリーンが表示されている状態では、Windowsに通常通りログインできません。そのため、まずセーフモードで起動し、そこから対処を行います。セーフモードでは最小限のプログラムとサービスのみが実行されるため、サードパーティ製アプリとの競合を回避できます。

セーフモードへの入り方は以下の通りです。

  1. 電源ボタンを5秒間押し続けて、PCを強制的にシャットダウンします。
  2. この操作を2〜3回繰り返すと、「自動修復を準備しています」の画面が表示されます。
  3. 診断が終わったら「詳細オプション」をクリックします。
  4. Windows回復環境(WinRE)で「トラブルシューティング」→「詳細オプション」に進みます。
  5. 「スタートアップ設定」を選択し、「再起動」ボタンをクリックします。
  6. 再起動後、F5キーを押して「ネットワーク付きセーフモード」で起動します。

「ネットワーク付きセーフモード」を選ぶのが重要です。選ばないとインターネットに接続できず、トラブルシューティングに支障が出ることがあります。

方法2:グラフィックカードドライバーをロールバックする

グラフィックカードドライバーの更新直後(またはWindows Update直後)にこのBSODエラーが発生したという報告が多くあります。該当する場合は、ビデオドライバーを以前のバージョンに戻すことで安定性を取り戻せる可能性があります。

  1. Windowsキー + Rキーを押して「ファイル名を指定して実行」を開き、「devmgmt.msc」と入力してOKをクリックします。
  2. デバイスマネージャーで「ディスプレイアダプター」をダブルクリックして展開します。
  3. ビデオカードを右クリックし、「プロパティ」を選択します。
  4. 「ドライバー」タブを開き、「ドライバーを元に戻す」をクリックします。
  5. このオプションがグレーアウトしている場合は、戻すべきドライバーが存在しないため、別の対処法を試してください。
  6. 理由を選択して「はい」をクリックします。
  7. 変更を適用するためにPCを再起動します。

ロールバック後もエラーが続く場合は、次の方法を試してください。

方法3:デバイスドライバーを更新する

古いまたは破損したデバイスドライバーがこのエラーの原因となることがあります。すべてのドライバー(特にグラフィックカードドライバー)が最新かどうか確認しましょう。

デバイスマネージャーから一つずつ確認することもできますが、時間と手間がかかり、手動での更新はミスのリスクもあります。手間をかけたくない場合は、Outbyte Driver Updaterなどの自動更新ツールを使うと便利です。システムを自動的に認識し、正しいドライバーを見つけてくれるため、誤ったドライバーをインストールする心配がありません。

方法4:グラフィックカードの問題をチェックする

前述の通り、最大の原因はドライバーであり、中でもグラフィックカードドライバーが頻繁に関係します。まずディスプレイドライバーに問題がないか確認しましょう。

  1. Windowsキー + Rキーで「ファイル名を指定して実行」を開きます。
  2. 「msc」と入力してEnterキーを押します(devmgmt.msc)。
  3. デバイスマネージャーで「ディスプレイアダプター」を展開します。
  4. ビデオカードを右クリックして「ドライバーの更新」を選択します。
  5. 更新が見つかればダウンロード・インストールされ、ドライバーが自動的に修復されます。
  6. エラーで更新できない場合は、GPUメーカー(NVIDIA、AMD、Intelなど)の公式サイトから最新ドライバーを手動でダウンロードしてインストールしてください。
  7. インストール後はPCを再起動し、問題が解決したか確認します。

方法5:ドライバー検証ツールを実行する

ドライバー検証ツール(Driver Verifier Manager)は、Windows 10/11で問題のあるドライバーを発見するのに役立つツールです。0x0000013Aエラーが続く場合は、古いドライバーをチェックするために実行してみましょう。

  1. 管理者権限でPowerShellを起動します。
  2. 「verifier」と入力してEnterキーを押します。
  3. 「標準設定を作成する」にチェックを入れ、「次へ」をクリックします。
  4. 「このコンピューターにインストールされているすべてのドライバーを自動的に選択する」にチェックを入れ、「完了」をクリックします。
  5. PCの再起動を求められるので、再起動すると破損または不良ドライバーのスキャンが始まります。
  6. 再起動後、Windowsに問題のあるドライバーの一覧が表示されます。
  7. 表示されたドライバーを更新、ロールバック、または再インストールしてください。

方法6:Windowsのブルースクリーントラブルシューティングツールを実行する(1809以前のバージョン向け)

ブルースクリーン(BSOD)トラブルシューティングツールはバグチェックコードを解析し、クラッシュの原因を判別してくれます。原因として判定されるのは以下のような項目です。

  • faulty hardware(ハードウェアの故障)
  • failing disk drive(ディスクドライブの不良)
  • malware(マルウェア)
  • memory failure(メモリ障害)
  • services(サービス)
  • device drivers(デバイスドライバー)

残念ながら、このツールはWindows 10 バージョン1809以降では廃止されました。それ以前のバージョンをお使いの場合は、以下の手順で利用できます。

  1. コントロールパネル(アイコン表示)を開き、「トラブルシューティング」をクリックします。
  2. 左上の「すべて表示」リンクをクリックします。
  3. 「Blue Screen」トラブルシューティングツールを右クリックし、「管理者として実行」を選択します。
  4. 「詳細」リンクをクリックします。
  5. 「自動的に修復を適用する」にチェックを入れ、「次へ」をクリックします。
  6. トラブルシューティングツールが問題の検出を開始します。
  7. 問題が見つかった場合は、指示に従って修復を続けます。

また、Microsoftの「ブルースクリーンエラーのトラブルシューティング」ページを利用して、質問に答えながら原因を絞り込むことも可能です。

方法7:Windowsメモリ診断ツールを実行する

Windowsメモリ診断ツールを使うと、RAM(ランダムアクセスメモリ)に問題がないかチェックできます。

  1. Windowsキー + Rキーを押して「mdsched.exe」と入力し、Enterキーを押します。
  2. 「今すぐ再起動し、問題を確認する」(推奨)を選ぶと即座にメモリチェックが実行されます。「次回のコンピューターの起動時に問題を確認する」を選ぶと、作業を続けてから後でチェックできます。
  3. 「今すぐ再起動」を選ぶ場合は、必ず作業内容を保存してから実行してください。PCは即座に再起動します。
  4. 診断中は、実行中のパス数と進行状況が画面に表示されます。

エラーが表示されなければメモリに問題はありません。エラーが表示された場合は、RAMの交換を検討するか、ハードウェアメーカーに相談してください。

方法8:破損したシステムファイルを修復する

破損したシステムファイルが原因でこのブルースクリーンエラーが発生することもあります。修復には以下の2つのツールを使用します。

  • システムファイルチェッカー(SFC)でのスキャン
  • dism.exeでのスキャン

SFCでスキャンする手順

システムファイルチェッカー(sfc)は、破損したシステムファイルを検出・修復するWindows標準ユーティリティです。

  1. Windowsキー + Rキーで「ファイル名を指定して実行」を開き、「cmd」と入力してCtrl+Shift+Enterキーを押し、コマンドプロンプトを管理者として実行します。
  2. 変更の許可を求められたら「はい」をクリックします。
  3. コマンドプロンプトで「sfc /scannow」と入力します(sfcと/の間にスペースが必要です)。
  4. Enterキーを押すと、SFCがすべてのシステムファイルをスキャンし、破損または欠落しているファイルを修復します。
  5. 検証が完了したら、PCを再起動して変更を反映させます。

DISMでスキャンする手順

SFC実行後もエラーが続く場合は、dism.exeを実行してみましょう。

  1. 上記と同じ手順で管理者としてコマンドプロンプトを開きます。
  2. 許可を求められたら「はい」をクリックします。
  3. dism.exe /online /cleanup-image /restorehealth」と入力します(各スラッシュの前にスペースが必要です)。
  4. Enterキーを押すと、DISMツールが問題をスキャンして修復を試みます。

処理が完了したらPCを再起動し、エラーが再発しないか確認してください。

方法9:ソフトウェアの競合を解消する

ソフトウェア同士の競合もこのエラーの原因になり得ます。特に、新しいアプリをインストールした後や、特定のプログラム(ゲームなど)の起動時にエラーが出る場合は可能性が高いです。

どのアプリが競合しているかを特定する近道はないため、不要なプログラム(バックグラウンドプロセス含む)をすべて終了し、エラーが再発するか様子を見る必要があります。

  • ソフトウェアの競合があるかどうかを確認する
  • 原因となっているプログラムを特定する
  • 優先度を下げる、無効化する、またはアンインストールする

競合の有無を確認する

すべてのプログラムを閉じ、不要なバックグラウンドプロセスを以下の手順で終了します。

  1. Windowsキー + Xキーを押して「タスクマネージャー」を選択します。
  2. 「プロセス」タブで終了したいプログラムを選び、「タスクの終了」をクリックして強制終了します。(Wordなどの作業中のアプリの場合は、必ず先に保存してください。)
  3. 見慣れないプログラムは終了しないでください。重要なシステムプロセスを誤って終了すると、さらなる問題を引き起こします。不明な場合は事前に調査しましょう。
  4. エラーが再発するかどうかを確認します。
    再発する場合: ソフトウェアの競合が原因ではない可能性が高いです。
    再発しない場合: 終了したプログラムのいずれかが原因と考えられます。次のステップで特定しましょう。

原因のプログラムを特定する

不要なプログラムを閉じてエラーが止まったなら、そのうちのどれかが原因です。一つずつプログラムを再起動し、エラーが戻ってくるかどうかを待ちます。エラーが再発した時点で、直前に再起動したプログラムが怪しいということになります。

ただし、実際にはそのプログラムが別のプログラム(先に再起動したもの)と衝突しているだけの場合もあります。その場合は、原因と思われるプログラムを開いたまま、他のプログラムを再度すべて閉じてみてください。エラーが再発すればそのプログラム単独が原因、再発しなければ他のプログラムとの競合が原因です。競合相手を特定するには、再度一つずつ再起動して確認します。

競合プログラムの優先度を下げる・無効化・アンインストールする

原因のプログラムを特定したら、以下の3つの選択肢があります。

  • プログラムの優先度を「低」に設定する
  • プログラムを恒久的に無効化する
  • プログラムをアンインストールする

優先度を下げる場合

  1. Windowsキー + Rキーで「taskmgr」と入力し、Enterキーを押します。
  2. 「詳細」タブで対象のプロセスを見つけ、右クリックして「優先度の設定」→「低」を選択します。
  3. よく知らないプロセスの優先度は絶対に変更しないでください。重要なシステムプロセスの優先度を下げると、システムクラッシュやフリーズを引き起こす恐れがあります。
  4. 確認画面が表示されたら「優先度の変更」をクリックします。

無効化する場合

  1. Windowsキー + Xキーでタスクマネージャーを開き、「プロセス」タブで対象プログラムを「タスクの終了」で停止します。
  2. スタートアップに登録されている場合は、Windowsキー + Rキーで「msconfig」と入力してEnterキーを押します。
  3. 「スタートアップ」タブで「タスクマネージャーを開く」をクリックします。
  4. 起動したくないプログラムを選んで「無効化」をクリックします。

アンインストールする場合

  1. Windowsキー + Rキーで「appwiz.cpl」と入力し、Enterキーを押します。
  2. 「プログラムと機能」で対象プログラムを右クリックし、「アンインストール」を選択します。

方法10:過熱などのハードウェア問題をチェックする

PC初心者にとってハードウェアの調査は簡単ではありません。ケースを分解し、各パーツを一つずつ点検する必要があります。自信がなければ、無理をせず専門の技術者に相談するのがおすすめです。

ハードウェアに問題がないのにエラーが続く場合は、最後の手段としてWindowsの再インストールを試しましょう。

方法11:Windowsを再インストールする

上記のすべての方法で解決しない場合は、Windowsの初期化(リセット)またはクリーンインストールが必要かもしれません。

PCをリセットする手順

リセットするとシステムは初期状態に戻ります。プリインストール以外のアプリは削除されますが、個人データを保持するかどうかは自分で選択できます。外部ストレージも不要で、Windows自身がすべての処理を行います。

  1. 検索バーに「settings」と入力し、設定アプリを開きます。
  2. 「更新とセキュリティ」をクリックします。
  3. 左側の「回復」を選択し、右側の「高度なスタートアップ」の下にある「今すぐ再起動」をクリックします。
  4. 「トラブルシューティング」を選択します。
  5. 「このPCを初期状态に戻す(Reset this PC)」をクリックします。
  6. 「すべて削除する」を選択します。必ず事前に重要なファイルとアプリをバックアップしてください。
  7. メディアの挿入を求められたら、Windows 10/11のインストールメディアまたは回復ドライブを挿入します。
  8. 複数のドライブパーティションがある場合は、Windowsドライブのみ削除するか、すべてのドライブから削除するかを選択します。
  9. 「ファイルの削除のみ実行する」または「ドライブの完全消去」を選びます。
    • ファイルの削除のみ実行する: 高速フォーマットで短時間で完了します。ファイルは削除済みマークが付くだけで復元される可能性があるため、引き続きPCを使う場合におすすめです。
    • ドライブの完全消去: セキュア消去によりファイルの復元がほぼ不可能になります。完了まで数時間かかるため、PCを譲渡・売却する場合におすすめです。
  10. 「リセット」ボタンをクリックして開始します。
  11. リセットには時間がかかり、途中で何度か再起動されます。
  12. 完了後、個人の設定を行い、「次へ」をクリックします。
  13. 「同意する」をクリックします。
  14. 左下の「設定をカスタマイズ」または右下の「簡易設定を使用する」を選んで次へ進みます。

設定が完了すれば、PCは使用できる状態になります。

Windowsをクリーンインストールする手順

クリーンインストールでは、システムドライブ上のすべて(インストール済みアプリと個人データ)が消去されます。USBドライブなどの外部ストレージが必要です。リセットより手間はかかりますが、より徹底的な効果が期待できます。

  1. まずMicrosoftのMedia Creation Toolを使ってインストールメディアを作成します。
  2. インストールメディア(USBまたはDVD)をPCに挿入します。
  3. PCを再起動し、ブートメニュー用のキーを押します。キーはマザーボードによって異なり、起動画面に表示されることが多いです。一般的には、Acer:F12/F9/Esc、ASUS:F8/Esc、Dell:F12、HP:Esc/F9、Lenovo:F12/F8/F10などです。
  4. あるいは、高度なスタートアップオプションの「デバイスの使用」から起動することも可能です。
  5. 「スタート」→「設定」→「更新とセキュリティ」→「回復」→「今すぐ再起動」の順に進みます。
  6. 「トラブルシューティング」→「詳細オプション」を選択します。
  7. ISOファイル入りUSBやDVDが接続されていれば、「続行」ボタンでそのデバイスから起動できる場合があります。
  8. ライセンス認証画面が表示されたら、このPCに既にWindows 10/11をインストールしたことがある場合は「プロダクトキーがありません」を選択します。初めての場合は有効なライセンスキー(Windows 7/8/8.1のキーも可)を入力します。
  9. インストールの種類を聞かれたら、「カスタム」を選択してクリーンインストールであることを確認します。
  10. システムをインストールするパーティションを選びます。ドライブが1つなら「次へ」、複数ある場合はプライマリパーティションを選んで「次へ」をクリックします。
  11. あとはインストールが完了するまで待ちます。途中で数回再起動されることがあります。

通常、インターネットに接続すると自動的にライセンス認証されます。認証されない場合は、以下の手順で手動認証を試みてください。

  • 検索ボックスに「cmd」と入力し、コマンドプロンプトを選択します。
  • slmgr.vbs /ato」と入力してEnterキーを押します。

このコマンドは数回試す必要があるかもしれません。エラーが出た場合はPCを再起動して再実行するか、Microsoftによる自動認証を待ちましょう。

まとめ

Windows 10/11のカーネルモードヒープ破損ブルースクリーンは多くのユーザーにとって馴染みのある問題ですが、決して軽視できません。正常に起動できないケースでは使えない対処法もあるため、本記事の解決策を上から順番に試し、ご自身の状況に合った方法を見つけてください。

  1. Windows 11/10で発生するCLOCK_WATCHDOG_TIMEOUTブルースクリーンエラーの原因と対処法

    CLOCK_WATCHDOG_TIMEOUTのブルースクリーンストップエラーは、指定されたプロセッサが割り込みを処理できなくなったときにWindowsシステムで発生します。通常、プロセッサが応答しなくなったり、デッドロック状態に陥ったりした場合に起こります。 このエラーは、プロセッサのコアとスレッドの連携に問題が生じた際に発生します。スレッドはコアが実行するタスクであり、1つのコアが複数のスレッドを同時に処理することもあります。問題は、あるスレッドが別のスレッドからの適切な応答を待っている(またはあるカーネルが別のカーネルからの応答を待っている)のに、その応答が返ってこないという点です。 技

  2. 【解決済み】Windows 10で発生する「カーネルモードヒープ破損」エラーの直し方

    Windows 10のユーザーの間では、作業中に突然画面に表示される厄介な「カーネルモードヒープ破損(Kernel Mode Heap Corruption)」エラーへの不満が多く寄せられています。これは複雑なBSOD(ブルースクリーン)エラーの一種で、CPUリソースを大量に消費するプログラムを実行している際によく発生します。また、グラフィックドライバーの古さ、システムファイルの破損、マルウェア感染などが原因で発生するケースもあります。 簡単な解決策:ドライバーを一括更新する 手間をかけずに素早くこのエラーを解決したいなら、Smart Driver Careを使ったドライバーの更新をおすすめ