Windows 11 環境で「KERNEL_MODE_HEAP_CORRUPTION(停止コード 0x13A)」のブルースクリーンが頻発する場合、原因が見えづらく再発もしやすいのが厄介です。本記事は、実機のミニダンプ解析から導いた結論と、再発を止めるための“根治”手順をケーススタディ形式でまとめました。Wi‑Fi ドライバーが疑わしいケースに特化しつつ、汎用的な検証・固定化方法も併記します。
ケース概要と結論(先に答え)
共有された4つのミニダンプのうち、3件は汎用カーネル/システム領域(ntoskrnl.exe 等)に収束、1件はネットワーク階層の関与を直接示唆していました。再現条件は Wi‑Fi 利用時のみ(有線 LAN 未接続)。以上から 無線 LAN(Wi‑Fi)ドライバー起因が最有力 と判断。GPU は今回の 0x13A には関与せず、対策は Wi‑Fi ドライバーの完全なクリーン入れ替え と Windows Update によるドライバーの“戻り”防止、さらに 周辺要素(BIOS/チップセット/メモリ/システム整合性)の整備で安定化します。
対象端末は Acer Predator PH315‑52。安定化に寄与した具体例として、Acer 提供の Wireless LAN Driver v20.110.0.3(Windows 10 向け) を用いて一度安定化したものの、2日後に再発。以後の恒久対策として ドライバーストアの掃除 → 正しい版の再導入 → 自動更新の抑止 → 追加の健全化 までをワンセットで実施し、再発を止める流れを解説します。
KERNEL_MODE_HEAP_CORRUPTION(0x13A)とは何か
停止コード 0x13A は、カーネルモードで管理されるヒープ領域に対し、バッファ破壊・二重解放・範囲外書き込み などの不正操作が検知されたときに発生します。多くは サードパーティ製ドライバーのバグ が引き金で、直接のクラッシュ点が汎用のシステムファイル(例:ntoskrnl.exe)に見えても、本丸はその直前に動いていたデバイスドライバー であることが少なくありません。
| 兆候 | 示唆するもの | 優先度 |
|---|---|---|
| Wi‑Fi 利用時のみ発生、有線では発生せず | 無線 LAN ドライバー or 無線チップの電源管理/省電力機能 | 高 |
| クラッシュ直前にネットワーク負荷(ダウンロード/会議/動画) | NDIS ドライバー、フィルタドライバー(セキュリティ/トラフィック制御) | 高 |
| ダンプのスタック末尾に汎用システムファイル | 「犯人隠し」。直前のサードパーティドライバーを疑う | 中 |
| 最近の Windows Update / ドライバー更新直後から発生 | ドライバーの相性/新旧版の混在/ドライバーストアの残骸 | 中 |
ミニダンプの読み方(要点だけ)と今回の所見
WinDbg であれば !analyze -v の結果と、kv(スタック)、lm(モジュール一覧)、!thread(実行スレッド)あたりを見ます。ネットワーク系を疑うべき痕跡としては、NDIS 関連のコールチェーン、無線チップベンダのドライバー名(例:Intel/Realtek/Qualcomm/Broadcom 系列)などが挙がります。今回のダンプは次の特徴でした。
- 3件:ntoskrnl.exe 側で整合性違反を検知して停止(犯人特定は困難)。
- 1件:ネットワークドライバー層での異常を示唆(Wi‑Fi 利用中に発生)。
- GPU 系(dxgmms 系)やストレージ(storport/iaStor 系)の関与は見られず。
以上の所見から、無線 LAN ドライバーの刷新と自動更新抑止が最短コースです。
実施手順:Wi‑Fi ドライバーの完全クリーンインストール
単なる「上書き更新」では再発します。ドライバーストアの不要 INF を掃除し、確実に“1本だけ”の正しいドライバーで起動させるのがコツです。以下は実機で効果があった手順です(Acer Predator PH315‑52 / Wireless LAN Driver v20.110.0.3(Windows 10 向け) を例示)。
事前準備
- ベンダのサポートページから 対象モデル向けの Wi‑Fi ドライバーをダウンロードし、ZIP を解凍。
Setup.exeの所在を確認。 - オフラインでも参照できるよう、解凍フォルダーをデスクトップ直下に配置。
- トラブル復帰用に有線 LAN を用意(可能なら)。
既存ドライバーのアンインストール(GUI)
- Win + X → デバイス マネージャー を開く。
- 「ネットワーク アダプター」→ 該当する Wi‑Fi アダプター を右クリック → デバイスのアンインストール。
- 確認ダイアログで 「このデバイスのドライバーを削除する」 にチェック → 実行。
- PC を再起動。
ドライバーストアの掃除(コマンド)
上記だけでは古い INF がストアに残り、再接続時に自動で“戻る”ことがあります。以下で残骸を削除します。
powershell
# 管理者 PowerShell
pnputil /enum-drivers | more
# 出力から Wi‑Fi ベンダ名(Intel/Realtek/Qualcomm など)を含む行の oem***.inf を特定
# 例)oem47.inf が対象だった場合
pnputil /delete-driver oem47.inf /uninstall /force
# 複数ある場合は該当 oem*.inf をすべて削除(Microsoft 純正 netvwifif 等は削除しない)
新ドライバーの導入
- 準備したフォルダー内の
Setup.exeを管理者として実行。 - 指示に従ってインストール → 再起動。
導入確認と基本チェック
powershell
# Wi‑Fi ドライバーのバージョンと機能を確認
netsh wlan show drivers
# ネットワークアダプターの一覧とドライバー情報
Get-NetAdapter | Format-Table -Auto
# OS 側の基本健全性チェック
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
電源管理と詳細プロパティの調整
- デバイス マネージャー → Wi‑Fi アダプターのプロパティ → 電源の管理 →「電力節約のためにコンピューターでこのデバイスの電源をオフにできるようにする」を オフ に。
- 詳細設定(ベンダ固有値):U-APSD/省電力、省電力モード、ローミング集約、802.11r/k/v などを既定から変更している場合はまず既定に戻す。再発する場合のみ一つずつ変更して影響を評価。
Windows Update によるドライバーの“逆戻り”を防ぐ
せっかく安定した版に揃えても、Windows Update が自動で別版に置き換えると再発します。運用形態に合わせて片方または両方を実施します。
方法 A:デバイスのインストール設定(簡易)
- システムの詳細設定 →「ハードウェア」タブ → デバイスのインストール設定。
- 「Windows Update からメーカーのアプリとカスタマイズされたアイコンを自動的に入手しますか?」→ いいえ を選択 → 保存。
この設定は包括的で、すべてのデバイスに影響します。必要に応じて次の GPO でより細かく制御します。
方法 B:グループポリシー(推奨・細粒度)
- Win + R →
gpedit.msc。 - コンピューターの構成 → 管理用テンプレート → Windows コンポーネント → Windows Update。
- 「Windows Update でドライバーを含めない」 を 有効 にする。
- 特定デバイスだけ止めたい場合:コンピューターの構成 → 管理用テンプレート → システム → デバイスのインストール → デバイスのインストールの制限 →
- 「次のデバイス セットアップ クラスまたはデバイス ID を含むデバイスのインストールを防止する」 を有効化。
- デバイス マネージャー → 該当デバイス →「詳細」タブ → プロパティ:ハードウェア ID → 表示値をコピーして指定。
ポリシー適用後は gpupdate /force、再起動で反映させます。
安定運用のための補助対策
BIOS/チップセット/ストレージの更新
- BIOS:無線まわりの安定性に影響する場合があります。端末メーカーの最新を適用。
- チップセット:Intel/AMD のプラットフォームドライバーを更新。
- ストレージ:NVMe ドライバーや RST/AHCI 関連が古いと整合性チェックで巻き添えになることがあります。
メモリ健全性の確認
- Windows メモリ診断:標準 → 拡張で 2 パス以上。
- 可能なら MemTest86 等のブートテストで 4 パス以上を実施(リンク不要・ベンダ配布のメディアを使用)。
ネットワークスタックの初期化(必要時のみ)
cmd
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
ドライバー換装だけで直った場合は不要です。むやみに初期化すると別の問題を誘発することがあるため、再発時の切り分け用に留めましょう。
システム整合性の回復
powershell
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
電源・高速スタートアップの見直し
高速スタートアップ(ハイブリッドブート)で旧ドライバーが半常駐化し競合する例があります。改善がない場合のみ、高速スタートアップを一時的に無効化して挙動を確認します。
再発時の深掘り:Driver Verifier を“安全に”使う
原因ドライバーを特定したいときの奥の手が Driver Verifier です。ただし誤用は起動不能につながります。安全策をセットで行います。
設定(最小構成)
- Win + R →
verifier。 - 「標準設定を作成」→「ドライバーの名前を選択」→ Microsoft 以外 のネットワーク関連ドライバーのみを選択。
- 必要に応じて「特別なプール」「I/O 検証」「プールのトラッキング」を追加。
- 再起動して通常利用で再現を待つ。
発動時の収集
- クラッシュ直後の ミニダンプ(
C:\Windows\Minidump\*.dmp) を採取。 - イベント ログ(システム)と信頼性モニター(
perfmon /rel)の履歴を取得。
復帰手順(起動不能時)
- 回復環境(自動修復/回復ドライブ)でコマンド プロンプトを開き、
verifier /reset。 - 通常起動後、対象外のドライバーを選び直す、または運用停止。
Wi‑Fi ドライバー最適化の実務ヒント
- 同系列でも版違いが安定度を左右:Windows 11 では Windows 10 向けの成熟版が安定することもあります(今回の v20.110.0.3 が一例)。
- ドライバーストアを痕跡ゼロに:
pnputilで該当 oem*.inf を全削除 → “1本だけ”の理想形に。 - フィルタドライバーの存在を確認:VPN/セキュリティ製品の NDIS フィルタが重なっていると 0x13A を助長。不要なら一時的にアンインストールして切り分け。
- Bluetooth 併設チップに注意:Wi‑Fi と Bluetooth が同一モジュールのとき、双方のドライバー世代を揃えると安定するケースがあります。
- チャネル幅/MIMO 設定:AP 側の不整合で不安定になる場合、20/40/80MHz の固定や WPA3→WPA2 一時変更で切り分け。
検証プラン:直った“つもり”を避ける
安定化を確認するには、負荷をかけた 3 段階テストが有効です。
- 軽負荷(30 分):Web 会議/動画視聴/大容量ダウンロードを並行。
- 中負荷(1–2 時間):ゲームのダウンロード、クラウド同期(OneDrive/Dropbox)を実施。
- 高負荷(2–3 時間):LAN 内コピー+外部ダウンロードの同時実行。必要に応じて
ping -tでロスの有無を監視。
| チェック項目 | OK の基準 | NG 時の次アクション |
|---|---|---|
| BSOD の再発なし | 72 時間の通常運用でゼロ | 最新ミニダンプを採取し、直前に導入したドライバー/アプリを棚卸し |
| イベントログの重大/エラー | Netwtw/rtwl/ath* 系の繰り返しがない | 該当ドライバーの版変更、フィルタドライバー停止 |
| 速度/安定性 | 切断/再接続がない | AP 設定の見直し、電源管理の再調整 |
トラブル収束後にやっておくべき“固定化”作業
- 復元ポイントの作成:安定構成に名付けて保存。
- ドライバーインストーラの保管:使用した版(v20.110.0.3 など)をローカル/外付けに保存し、誤更新時に即復旧できるようにする。
- 自動更新の抑止が効いているか再確認:
gpresult /hでポリシー適用を棚卸し。 - 構成メモ:電源管理オプション、詳細設定をメモ化。将来の切り分けを短縮。
再発時のエスカレーション手順(最短で原因にたどり着く)
- ミニダンプ:
C:\Windows\Minidump\の最新を 2–3 件取得。 - システム情報:
msinfo32を保存(ファイル → エクスポート)。 - ドライバー一覧:
pnputil /enum-drivers > drivers.txt。 - ネットワーク状態:
netsh wlan show all > wlan.txt。 - イベントログ:システム/アプリケーション(最近 3 日分)を evtx で収集。
これらを揃えると、どのドライバーがいつ、どの条件で破綻しているか が見えます。解析者側は再現条件と直前の構成変更(アプリ/ドライバー/Windows Update)を対比し、犯人のドライバー 1 本に収束 させます。
よくある誤解と落とし穴
- 「ダンプに ntoskrnl とある=OS が悪い」:違います。カーネルが被害を検知して止めただけで、加害者は別です。
- 「とりあえず最新にすれば良い」:最新が最善とは限りません。成熟版(Windows 10 向け)で安定する例は珍しくありません。
- 「上書きインストールで十分」:ドライバーストアの残骸が競合源。
pnputilで不要 INF を削除してから入れ直します。 - 「原因は GPU だろう」:0x13A は GPU より ネットワーク/ストレージ/フィルタ が関わる比率が高め。今回は GPU の関与は確認されていません。
実践チェックリスト(コピーして使える)
| 項目 | 手順/コマンド | 確認ポイント |
|---|---|---|
| Wi‑Fi ドライバー削除 | デバイス マネージャー → アンインストール(削除にチェック) | 再起動後に自動復活しない |
| ドライバーストア掃除 | pnputil /enum-drivers → /delete-driver oem*.inf /uninstall /force | 該当ベンダの INF が残っていない |
| 新ドライバー導入 | Setup.exe でクリーン導入 | netsh wlan show drivers で期待版を確認 |
| 自動更新の抑止 | デバイスのインストール設定 / GPO | 再起動や更新後も版が変わらない |
| 整合性チェック | sfc / DISM | 整合性違反が修復済みになる |
| メモリ検査 | Windows メモリ診断(拡張) | エラーなし |
ケーススタディまとめ
今回の 0x13A は、Wi‑Fi ドライバー層でのヒープ破壊が背景にあり、上書き更新では改善が一時的でした。ドライバーストアの完全掃除 → 安定版の導入 → 自動更新の抑止 をセットで実施し、周辺(BIOS/チップセット/メモリ/OS 整合性) を整えた結果、再発を止められます。特定モデル(Acer Predator PH315‑52)では Wireless LAN Driver v20.110.0.3(Windows 10 向け) が安定に寄与しましたが、環境により最適版は異なるため、同系列で 1–2 世代上下を試すのも有効です。
0x13A は「犯人が見えにくい」クラッシュですが、発生条件(Wi‑Fi 利用/有線未接続)と ダンプの傾向 を手掛かりにネットワーク層へ寄せれば、短時間で原因へ到達できます。本記事の手順をそのまま適用し、必要なら採取ログ(ミニダンプ、pnputil 出力、イベントログ)を揃えて再解析してください。根気強く“1本だけの正しいドライバー構成”に整えることが、最も再発を防ぐ近道です。
付録:コマンド早見表
powershell
# ドライバー列挙(対象 oem*.inf の同定)
pnputil /enum-drivers
# Wi‑Fi 関連 INF の削除(例:oem47.inf)
pnputil /delete-driver oem47.inf /uninstall /force
# Wi‑Fi ドライバーの状態確認
netsh wlan show drivers
# ネットワークアダプター一覧
Get-NetAdapter | Format-Table -Auto
# OS 整合性
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
# グループポリシー強制反映
gpupdate /force
# 信頼性モニター
perfmon /rel
付録:トラブルシューティング分岐(簡易フローチャート)
| 状況 | 次にやること | 期待結果 |
|---|---|---|
| Wi‑Fi 利用時のみ BSOD | 本記事のクリーン入れ替え手順を実施 | 再発停止 |
| 上記で改善なし | 同系統の別版(±1–2 世代)を試す/フィルタドライバー停止 | 安定版にヒット |
| 頻繁に切断・再接続 | 電源管理オプションの見直し、AP 設定の簡素化 | 切断が収束 |
| 別の停止コードが増加 | メモリ診断・ストレージ/チップセット更新・sfc/DISM | プラットフォーム要因の排除 |
| 犯人が特定できない | Driver Verifier(ネットワーク系のみ)+新規ダンプ採取 | 特定ドライバーに収束 |
最後に
0x13A は“目に見える犯人がいない”ケースが多い分、順序よく構成を整え、戻らないよう固定化することでしか解決できないことがあります。今回のケーススタディ(Wi‑Fi ドライバー起因)を土台に、あなたの環境でも同じ手順で根治を目指してください。

コメント