快訊
2026-08-18
電腦疑難雜症

KERNEL_MODE_HEAP_CORRUPTION(0x13A)藍屏怎麼修?讀懂官方 21 種參數,先分清 heap 與 pool

約 20 分鐘閱讀 · 56 次瀏覽
廣告

⚡ 站長快讀:核心重點

  • 文章屬性:疑難排除(A5 底層除錯 / cornerstone)
  • 適用系統:Windows 10 / 11(含 24H2、25H2)
  • 難易度 / 耗時:⭐⭐⭐ / 約 20–40 分鐘
  • 核心結論:先讀 Parameter 1——它有 21 種值,而且其中兩種根本不是「被寫壞」而是「撞到上限」,搞錯方向會白忙一整晚。
  • 適用對象:跳 0x13A、懷疑自己記憶體壞掉、想知道該查驅動還是查硬體的人

📌 快速答案

一句話答案:KERNEL_MODE_HEAP_CORRUPTION(0x13A)代表 Windows 核心模式的堆積(heap)管理員發現堆積結構已經被寫壞。依微軟官方 Bug Check 文件,Parameter 1 會標明損毀型別、共 21 種值,絕大多數描述指向緩衝區溢位、釋放後再使用、重複釋放這類程式碼層級的錯誤。值得注意的是:官方在這隻停止碼沒有建議執行記憶體診斷(同為記憶體結構損毀的 0x19 有),所以先別急著換 RAM。


🧰 開始前的準備

  • 適用系統:Windows 10 全版本、Windows 11(含 24H2 / 25H2)。依微軟官方發行資訊,25H2 為 OS build 26200、24H2 為 26100;24H2 家用與專業版的服務終止日是 2026-10-13,若你還在 24H2,修完藍屏也順手把升級排進行事曆
  • 權限需求:系統管理員(讀事件記錄檔可用一般帳號;開 Driver Verifier 則不行——微軟官方明列「必須是本機 Administrators 群組成員才能使用 Driver Verifier」)
  • 需要工具:事件檢視器(內建,方法一只需要它)、Driver Verifier(verifier.exe;官方說明多數 Windows 版本已內建於 %WinDir%\system32\、不另外提供下載,Windows 10 S 不含此工具)、想讀當機檔再裝 WinDbg
  • 前置設定:先把「自動重新啟動」關掉、記憶體傾印設成「自動」或「核心」,否則當機當下什麼線索都留不下來
  • 預計耗時:約 20–40 分鐘(方法一 5 分鐘內;要跑 Driver Verifier 再加)

⚠️ 動手前先讀這段(⭐⭐⭐ 高風險):本文方法三會用到 Driver Verifier。微軟官方文件在頁面最上方就用 Important 標了三句話:「執行 Driver Verifier 可能導致電腦當機」、「只在你用來測試與偵錯的電腦上執行 Driver Verifier」、「你必須是該電腦 Administrators 群組的成員」。設定不當會讓你一開機就藍屏、進不了桌面。動手前先確認:重要資料已備份、BitLocker 復原金鑰在手、你知道怎麼進安全模式關掉它(做法見文末〈萬一翻車〉)。符合下列任一「停止條件」就別往下做:不確定自己的 Windows 版本、沒做備份、BitLocker 開著但找不到金鑰、這是公司或學校管控的設備而你沒有 IT 授權、手上沒有救援 USB、指令輸出跟本文描述對不起來。


🔍 症狀描述與錯誤訊息

典型畫面是一張當機畫面,上面寫著停止碼 KERNEL_MODE_HEAP_CORRUPTION

您的裝置發生問題,需要重新啟動。

停止碼:KERNEL_MODE_HEAP_CORRUPTION

畫面長相依版本而異:微軟官方支援文件明講「停止碼錯誤的畫面顏色與訊息,會依你執行的 Windows 11 版本而異」,並把 24H2 以後23H2 及更早分列成兩種畫面——所以如果你在 24H2 / 25H2 上看到的是黑底、而且沒有你印象中那個「:(」哭臉,那是正常的,不是別的問題。

在事件記錄檔或當機檔裡,它的完整面貌是 0x0000013A,後面跟著四個參數,例如 BugCheck 13A, {11, ffff8e0..., ffff8e0..., 0}

先講一件其他中文文章不太會說的事:微軟對這隻停止碼的官方著墨,少得不太尋常。 打開官方 Bug Check 0x13A 頁面,你只會看到兩節——參數表,以及一段 Resolution;它沒有「Cause(成因)」段落。對照隔壁同樣是記憶體結構損毀的 Bug Check 0x19(BAD_POOL_HEADER),官方那頁不但有 Cause,還另外給了 Driver Verifier 與 Windows 記憶體診斷兩個完整段落。

這個「有跟沒有」的落差,正是本文接下來要拿來當導航的東西——官方在 0x19 明講「如果這個 Bug Check 不定期出現,可能與實體記憶體故障有關,請執行 Windows 記憶體診斷」;這句話在 0x13A 的頁面上並不存在。所以網路上那些看到「記憶體損毀」四個字就叫你去測 RAM、換 RAM 的建議,至少在 0x13A 這隻停止碼上,沒有官方文件替它背書

另外提醒一句:官方 0x13A 頁面最上方掛著 Important——「這篇文章是寫給程式設計師的」。這不是叫你別讀,而是誠實告訴你:這隻停止碼的官方資訊密度,本來就是給驅動開發者用的。所以下面的段落,我會把官方講了什麼、沒講什麼,分得清清楚楚。

廣告
Bug Check 0x13A 與 0x19 官方文件處置建議對照表:0x13A 無 Cause 段與記憶體診斷建議,0x19 兩者皆有
0x13A 與 0x19 的官方文件結構對照(依 Microsoft Learn 兩份官方頁面整理,2026-07-16 查證)

🔎 問題根因:Parameter 1 有 21 種值,先分六個陣營

官方對四個參數的定義很乾脆:

參數官方定義
Parameter 1偵測到的損毀型別(見下方清單)
Parameter 2回報此次損毀的 heap 位址
Parameter 3偵測到損毀的位址
Parameter 4保留(Reserved)

真正的線索全在 Parameter 1。官方列出 0x30x17 共 21 種值,一條一條讀完會頭昏,但把它們按「這句話在講什麼行為」歸類之後,其實只有六個陣營:

陣營Parameter 1 值官方描述的重點對你的意義
①寫過界0x60x70x10特徵符合緩衝區溢位(overrun)、緩衝區低溢(underrun);0x10 官方寫「內部狀態無效,可能是緩衝區溢位造成」有程式碼寫超出自己配到的範圍
②釋放後亂用0xB0xD0x110x120x17特徵符合「釋放後繼續使用該區塊」;0x11 官方另列「可能是重複釋放(double-free)」;0xD/0x12/0x17 官方寫「use-after-free 或相鄰區塊溢位」記憶體已經還回去了還在用,或還兩次
③表頭與清單壞了0x30x40x50xE偵測到損毀的 entry header(單一 / 多個 / 大型配置);0xE 是 free list 以外的清單損毀結構本身被寫爛,兇手不一定是誰
④呼叫端用錯 API0x80x90xC0xF0x13把 free 區塊丟給只接受 busy 區塊的操作、參數無效、指定錯 heap、對 free 區塊做非法操作、傳入 NULL heap handle這是呼叫端的邏輯錯,通常較好認
⑤撞到上限0x140x15要求的配置大於目前配置上限;認可(commit)請求會超過目前 commit 上限這不是「被寫壞」,是資源不夠
⑥內部錯誤0xA0x16與配置型別相關的內部 heap 錯誤;0x16 官方寫「可能是位址錯誤或記憶體損毀造成」官方講得最模糊的一群

陣營是本文依官方逐條描述所做的整理,官方文件本身並未做此分群;每一格的描述都對得回官方原文,分群只是幫你少讀 20 遍。

這張表最值錢的一格,是⑤。 官方把 0x14(配置超過上限)和 0x15(commit 超過上限)也放進 KERNEL_MODE_HEAP_CORRUPTION 這隻停止碼裡——但依官方對這兩個值的描述,它們講的是請求超出上限,而不是有人把結構寫壞。如果你的 Parameter 1 是 0x140x15,那麼把整晚花在 Driver Verifier 上抓「兇手驅動」,方向從一開始就偏了,該查的是誰在狂吃核心記憶體、以及分頁檔與 commit 上限的設定。

而①②③④(共 17 種值,佔 21 種裡的絕大多數)講的都是有程式碼在亂寫或誤用記憶體——這才是 Driver Verifier 派得上用場的地方。

(順帶一提,用 Parameter 1 分流方向的思路,在其他停止碼上同樣管用:PFN_LIST_CORRUPT(0x4E)的官方八種值也能分成驅動嫌疑與硬體嫌疑兩個陣營,值得對照著讀。)


🔬 底層機制:heap 不是 pool,搞混這件事會查錯方向

要理解 0x13A,得先分清楚 Windows 核心裡兩種不同的記憶體管理員:

廣告
  • 集區(pool):核心元件與驅動最常用的核心記憶體來源。它壞掉時,對應的是 Bug Check 0x19(BAD_POOL_HEADER),官方定義是「pool header 損毀」(那隻停止碼的完整排錯另有專文:BAD_POOL_HEADER(0x19)藍屏怎麼修)。
  • 堆積(heap):由 heap 管理員維護的另一套配置結構(官方 !heap 文件說明它同時支援 segment heap 與 NT heap 兩種型別)。它在核心模式下壞掉時,對應的就是 0x13A——官方原文寫得很直接:「kernel mode heap manager 偵測到某個 heap 發生損毀」。

兩者都是「記憶體結構被寫壞」,但它們不是同一套結構、不是同一個管理員、官方給的處置建議也不一樣。這就是為什麼把 0x19 的偏方(先測 RAM)套到 0x13A 上,常常整晚白測。

接著是本文要老實告訴你的一個坑。 官方 0x13A 的 Resolution 只給了三樣東西:!analyze 擴充命令、!heap 擴充命令,以及〈Analyze Bug Check Blue Screen Data〉那篇通用指南。問題出在第二樣——翻開官方 !heap 自己的文件,Remarks 第一句就寫著:「標準的 !heap 命令用來顯示目前行程的 heap 資訊(這應該只用於使用者模式行程。系統行程應該改用 !pool 擴充命令)」

也就是說:0x13A 是核心模式的 heap 損毀,官方卻在 Resolution 建議你用一個「其官方文件註明應用於使用者模式行程」的工具。這兩份文件擺在一起讀,對非驅動開發者來說就是打架。

本文的處理方式是如實呈現、不代微軟裁定:這是兩份官方文件之間的敘述張力,站長我沒有內部資訊可以斷定哪一句該優先。實務上的意義是——別把「跑 !heap 就會告訴我兇手」當成預期。真正對一般讀者投資報酬率最高的,是官方在兩份文件都推薦、且不需要你先搞懂 heap 型別的 !analyze -v,以及完全不必碰 WinDbg 的方法一與方法二。

(順帶一提,!heap 文件裡有個細節值得知道:-triage 是唯一能驗證低碎片堆積〔LFH〕損毀的方式,一般的 -v 驗證選項官方明講「無法偵測 LFH 損毀」。真要走 WinDbg 路線的人,別漏了這條。)


🛠️ 解決方案

依照風險由低到高排。請照順序做——方法一、二零風險而且是後面所有判斷的前提,跳過它們直接跑 Driver Verifier 是本文最不建議的做法。

廣告

方法一:先讀出四個參數(零風險,不必裝 WinDbg)

這一步不用任何額外工具,而且是整篇文章的前提。 沒有 Parameter 1,你就只能盲猜。

微軟官方〈Analyze Bug Check Stop Code Error Data〉明確列出三種取得四個參數的方式,其中第一種完全不需要偵錯器:「檢視事件檢視器裡的 Windows 系統記錄檔。該 bug check 的事件屬性會列出四個停止碼參數。」

1. Win + R → 輸入 eventvwr.msc → Enter

2. 左側展開 Windows 記錄檔 → 系統

3. 右側「篩選目前的記錄檔」,或直接找當機時間點附近、來源與 BugCheck 相關的錯誤事件

4. 點開事件,在描述或「詳細資料」裡就會看到四個參數

拿到 Parameter 1 之後,回上一節的六陣營表對號入座。0x14 / 0x15(⑤撞到上限,共 2 種)→ 你要查的是資源與 commit 上限,不是驅動;其餘 19 種 → 往方法二、方法三走(其中①②③④共 17 種官方明確描述為亂寫或誤用記憶體;⑥的 0xA / 0x16 官方講得較模糊,但 0x16 官方也寫了「可能是位址錯誤或記憶體損毀」,一樣從驅動查起最合理)。

另外兩種官方方式是:用偵錯器載入當機檔跑 !analyze(見方法四),或掛核心偵錯器到出問題的機器上。

方法二:盤點近期變更(零風險,期望值最高)

這一步之所以排第二,是有官方數字撐腰的。 微軟在〈Analyze Bug Check Stop Code Error Data〉裡寫:「據估計,大約四分之三的停止碼錯誤是由有問題的驅動程式所造成。」

⚠️ 誠實標註:這個「約四分之三」是官方對整體停止碼錯誤的估計,不是 0x13A 這隻的專屬統計;官方並未公布 0x13A 的成因分布。但配合上一節的觀察——21 種 Parameter 1 值裡有 17 種在描述「有程式碼亂寫或誤用記憶體」——把驅動當成第一嫌疑犯,是目前依官方資訊能做的最合理判斷。

實際動作:

1. 回想並列出藍屏前 1–2 週裝了什麼,尤其是這幾類會塞核心驅動的東西:防毒 / 端點防護、VPN、虛擬機器與虛擬光碟、螢幕錄影與串流工具、RGB 燈效與超頻工具、外接音效卡 / 擷取卡驅動

2. 可疑的先移除或回退版本(不是停用,是移除),一次動一項,每動一項觀察兩三天

3. 驅動只從裝置或晶片組廠商官網、Windows Update 取得——微軟官方支援文件在這件事上講得很直白:取得驅動更新最好的方式,是透過 Windows Update 自動取得;而若要手動更新,官方也明講「避免從製造商官方網站以外的任何網站下載驅動」。至於坊間「驅動一鍵更新」類工具,官方並未就其風險做過任何統計,以下是站長我個人的取捨:它們的來源與版本對應不透明,而核心模式驅動一旦裝錯版本,代價就是你正在讀這篇文章,所以我不用

4. 移除前先建立系統還原點

如果藍屏在你移除某支軟體後停了,恭喜,你不必碰後面的方法三。

方法三:Driver Verifier 讓兇手驅動現形(⭐⭐⭐ 高風險)

⚠️ 再說一次官方警語:「執行 Driver Verifier 可能導致電腦當機」、「只在你用來測試與偵錯的電腦上執行」、「必須是 Administrators 群組成員」。這不是嚇唬你,是官方寫在文件最上方的前提條件。 資料沒備份、BitLocker 金鑰不在手上,就到方法二為止。

注意適用範圍:Parameter 1 = 0x14 / 0x15(⑤撞到上限)不適用這條路

官方步驟(依 Microsoft Learn〈Driver Verifier〉;這套工具的完整選項與進階用法,站內另有專篇整理:Driver Verifier 完整使用教學):

1. 以系統管理員身分開啟命令提示字元

2. 輸入 verifier 開啟 Driver Verifier Manager

3. 選 Create standard settings(預設工作)→ Next

4. 在 Select what drivers to verify 選擇驅動範圍——這一步是關鍵,別直接選全部

官方對四種選取方案的建議寫得很清楚:

選項官方建議用途
Automatically select unsigned drivers用於不要求驅動簽章的 Windows 版本
Automatically select drivers built for older versions of Windows測試舊驅動與新版 Windows 的相容性
Automatically select all drivers installed on this computer涵蓋率最大,但官方明講可能耗盡 Special Pool 與部分資源追蹤可用的資源,也會明顯拖慢系統效能
Select driver names from a list官方寫「大多數情況下,你會想指定要測哪些驅動」;若要盡量爭取偵測記憶體損毀的資源,一次只選一支——官方明講 Special Pool 與 I/O Verification 選項一次針對一支驅動時最有效

5. 選 Finish,重新開機

指令列等價做法(官方範例,針對單一驅動):

verifier /standard /driver myDriver.sys

📌 官方另有一則版本註記:在 Windows build 20150 到 25126 之間,若選取 ntoskrnl 可能收到 invalid state 錯誤;解法是取消選取 ntoskrnl,或升級到 25126 之後的版本。

接下來會發生什麼:官方說明——Driver Verifier 一旦偵測到違規,會產生一個 bug check 把電腦停下來,目的是給你最多的除錯資訊。此時你看到的停止碼通常不再是 0x13A,而是 0xC4(DRIVER_VERIFIER_DETECTED_VIOLATION);官方另列的常見碼還有 0xC1(SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION)、0xC60xC90xD60xE6這是好消息——代表兇手當場被逮,新的當機檔裡會直接指出是哪一支 .sys

抓到之後一定要關掉。 Driver Verifier 是短期抓兇工具,不是長期開著的:

verifier /reset

然後重新開機。查目前狀態與設定的官方指令分別是 verifier /queryverifier /querysettings

方法四:WinDbg —— 該對 !analyze!heap 有什麼期待

如果你願意裝偵錯器,官方在 0x13A 的 Resolution 給的就是這兩支:

  • !analyze -v:官方在多份文件重複推薦的起手式,會顯示 bug check 資訊並協助判斷根因;Driver Verifier 文件也明講,加 -v 是為了顯示額外資訊以協助辨識出問題的驅動這是投資報酬率最高的一條命令。
  • !heap:官方說它可顯示 heap 使用資訊、控制 heap 管理員中的中斷點、偵測洩漏的 heap 區塊、搜尋 heap 區塊或顯示 page heap 資訊;無參數執行會列出所有 heap 與其型別。但請回頭看上一節那個坑——官方 !heap 文件自己註明標準用法針對使用者模式行程、系統行程應改用 !pool

站長我的建議是:非驅動開發者走到 !analyze -v 為止,把它指出的可疑模組交叉比對方法二的「近期變更清單」,通常就夠你做決定了。真的要深挖 heap 結構,那已經是驅動開發與逆向的守備範圍,不是一篇教學能讓你速成的——這句話我寧可講得難聽,也不想給你不切實際的期待。


✅ 驗證修復結果

判斷「真的修好」與「暫時沒事」的差別,在於你有沒有拿到因果。

1. 確認 Driver Verifier 已關閉:verifier /query 應顯示沒有正在驗證的驅動;若你跑過方法三,務必確認 verifier /reset 已生效並重開機

2. 回到事件檢視器:觀察期內系統記錄檔不再出現新的 bug check 事件

3. 重現原本的操作:當初什麼情境下藍屏,就回去做那件事——插拔那台外接裝置、開那套軟體、跑那個工作負載

4. 給它一段真實的觀察期:官方並未公布 0x13A 的發生頻率或規律性,所以「一天沒事」本身不構成任何證據。站長我的做法是至少觀察一週,而且期間不要同時又裝新東西——不然下次再藍屏,你又分不清是誰的錯

最理想的驗證:你能說出「因為我移除了 X,所以不再藍屏」,而不是「我做了七件事,現在好像好了」。


🔙 萬一翻車:回退步驟

情境一:跑了 Driver Verifier,開機就藍屏、進不了桌面

這是 Driver Verifier 最常見的翻車情境,也是官方警告「可能導致電腦當機」的具體樣貌

1. 連續強制關機兩到三次(開機看到 Windows 標誌就長按電源鍵),觸發自動修復

2. 進入 疑難排解 → 進階選項 → 啟動設定 → 重新啟動

3. 按 F4 進入安全模式(或 F5 帶網路的安全模式)

4. 開啟命令提示字元(系統管理員),執行 verifier /reset

5. 重新開機

情境二:安全模式也進不去

1. 用另一台電腦做 Windows 安裝 USB,從它開機

2. 選 修復您的電腦 → 疑難排解 → 命令提示字元

3. 若 BitLocker 已啟用,這裡會要求復原金鑰——這就是前面反覆要你先備好金鑰的原因

4. 在此環境中回復到先前的還原點,或依微軟官方指引處理

情境三:移除某支驅動後裝置不能用

1. 從裝置或晶片組廠商官網重新下載該驅動的穩定版(不要用一鍵更新工具)

2. 或用系統還原回到你動手前建立的還原點


💡 總結:預防再次發生

站長我看 0x13A 的習慣,是先問 Parameter 1,再問其他所有事。理由不是玄學,是官方文件本身的結構就這樣寫:整頁 0x13A 連 Cause 段都沒有,唯一給你的實質線索,就是那張 21 種值的 Parameter 1 表。先讀它,你至少能立刻分出「有人在亂寫記憶體」(①②③④共 17 種)還是「撞到上限」(⑤共 2 種)——這兩條路的處置方式完全不同,而這個判斷不花你一毛錢、五分鐘就能做完。

反過來,這隻停止碼上最容易白花的錢,就是看到「記憶體損毀」四個字就先去買兩條 RAM。我要再強調一次那個對照:官方在 0x19 明白寫了「若不定期出現,可能與實體記憶體故障有關,請跑 Windows 記憶體診斷」;這句話在 0x13A 的官方頁面上不存在。 這不代表你的記憶體一定沒事(記憶體真的壞掉時什麼怪事都可能發生),但它代表——在 0x13A 上,把測 RAM 當第一步,沒有官方文件替你背書

給三個實用習慣:

一、驅動只從裝置或晶片組廠商官網、Windows Update 拿——官方支援文件本身就寫著「避免從製造商官方網站以外的任何網站下載驅動」,而取得更新最好的方式是 Windows Update。依官方估計,約四分之三的停止碼錯誤(全體,非 0x13A 專屬)來自有問題的驅動,驅動的來源乾不乾淨因此值得你講究。

二、裝任何含核心驅動的軟體前先設好還原點,而且一次只裝一樣。這個習慣的價值在藍屏那天才會顯現:你能立刻列出「最近變更清單」,而不是對著一台裝了二十樣東西的電腦發呆。

三、平時就把記憶體傾印設好、BitLocker 金鑰存好。真要除錯時你手上才有 dump;要走方法三時,才有翻車的退路。

最後老話一句:0x13A 是核心在結構爛掉之前踩了煞車。 比起讓一支亂寫記憶體的驅動默默把你的資料寫壞,這張藍屏其實是站在你這邊的。


❓ 常見問題

Q:KERNEL_MODE_HEAP_CORRUPTION 是不是代表我的記憶體壞了要換?

不能這樣直接推論。微軟官方對 0x13A 的定義是「核心模式 heap 管理員偵測到 heap 損毀」,而 Parameter 1 的 21 種值裡,絕大多數描述的是緩衝區溢位、釋放後再使用、重複釋放、API 用錯這類程式碼層級的行為。更關鍵的是:官方在同性質的 0x19 頁面明白建議「不定期出現時跑 Windows 記憶體診斷」,但在 0x13A 頁面沒有這句話。 先讀 Parameter 1、先盤點近期驅動變更,再談硬體。

Q:0x13A 跟 0x19(BAD_POOL_HEADER)差在哪?

壞掉的東西不一樣。0x19 是「pool(集區)header 損毀」,0x13A 是「heap(堆積)損毀」——核心裡這是兩套不同的配置結構、由不同的管理員維護。官方給的處置建議也不同:0x19 那頁有 Cause 段、有 Driver Verifier 段、還有 Windows 記憶體診斷段;0x13A 那頁只有參數表和一段 Resolution(!analyze / !heap / 通用指南),連 Cause 都沒有。

Q:官方叫我用 !heap,可是我跑了看不懂也抓不到兇手,是我的問題嗎?

不完全是。這裡確實有一個文件之間的張力:0x13A 的 Resolution 建議 !heap,但官方 !heap 文件自己註明「標準的 !heap 命令……應該只用於使用者模式行程;系統行程應改用 !pool。站長我沒有內部資訊可以裁定哪一句優先,只能如實告訴你:別把「跑 !heap 就會指出兇手」當成合理期待,!analyze -v 才是官方在多份文件都推薦、也比較實際的起手式。

Q:Parameter 1 是 0x14 或 0x15,也要跑 Driver Verifier 嗎?

依官方對這兩個值的描述,它們講的是「請求超過配置上限」與「commit 請求會超過目前 commit 上限」,也就是資源撞到天花板,而不是結構被寫壞。這種情況跑 Driver Verifier 去抓「亂寫記憶體的驅動」,方向從一開始就偏了;該查的是誰在大量吃核心記憶體、以及分頁檔與 commit 上限的設定。

Q:Driver Verifier 開了以後電腦變超慢、還一直當,正常嗎?

正常。它是刻意加重檢查、一抓到違規就故意觸發 bug check 的工具,官方也明講「執行 Driver Verifier 可能導致電腦當機」、且只該在測試用的機器上跑;官方還特別提到,選「驗證所有驅動」會耗盡 Special Pool 資源並影響效能——這也是為什麼本文要你一次只選一支。抓到之後務必 verifier /reset 並重開機。

Q:我什麼驅動都沒裝,怎麼也會跳 0x13A?

「沒裝驅動」通常是錯覺——防毒、VPN、虛擬機器、虛擬光碟、錄影串流、RGB 燈效、擷取卡,這些軟體都會塞核心模式驅動。另外 Windows Update 推送的裝置驅動也算。先跑方法一拿到 Parameter 1,再用方法二把近期變更列出來,你會發現名單通常比想像中長。


📎 參考資料來源

📖 第一級|廠商官方:

  • Microsoft Learn:Bug check 0x13A KERNEL_MODE_HEAP_CORRUPTION — 2026-07-16 查證(停止碼值 0x0000013A、「kernel mode heap manager 偵測到 heap 損毀」之定義、四個參數定義、Parameter 1 之 0x3–0x17 共 21 種值與各自官方描述、Resolution 僅列 !analyze / !heap / Analyze Bug Check Blue Screen Data、頁面無 Cause 段、頁首 Important「本文寫給程式設計師」)
  • Microsoft Learn:Bug Check 0x19 BAD_POOL_HEADER — 2026-07-16 查證(停止碼值 0x00000019「pool header 損毀」、Cause 段、Resolution 段、Driver Verifier 段、Windows Memory Diagnostics 段及「若此 Bug Check 不定期出現,可能與實體記憶體故障有關」一句——本文用於與 0x13A 之官方處置建議對照)
  • Microsoft Learn:!heap(WinDbg) — 2026-07-16 查證(「支援 segment heap 與 NT heap、無參數列出所有 heap 與其型別」、Remarks「標準 !heap 命令用於目前行程……只該用於使用者模式行程;系統行程應改用 !pool」、-triage 為驗證 LFH 損毀之唯一方式、-v 無法偵測 LFH 損毀)
  • Microsoft Learn:Analyze bug check (stop code error) data — 2026-07-16 查證(取得四個停止碼參數之三種方式、「檢視事件檢視器 Windows 系統記錄檔,事件屬性會列出四個停止碼參數」、「據估計約四分之三的停止碼錯誤由有問題的驅動程式造成」、!analyze 說明)
  • Microsoft Learn:Driver Verifier — 2026-07-16 查證(Important 三句警語、verifier.exe 內建於 %WinDir%\system32 且 Windows 10 S 不含、Create standard settings 步驟、四種驅動選取方案之官方建議與「選全部會耗盡 Special Pool 資源並影響效能」「Special Pool 與 I/O Verification 一次一支最有效」、verifier /standard /driver/reset/query/querysettings、違規觸發 bug check 通常為 0xC4 及 0xC1/0xC6/0xC9/0xD6/0xE6、!analyze -v、build 20150–25126 選取 ntoskrnl 之 invalid state 註記)
  • Microsoft Learn:Windows 11 發行資訊 — 2026-07-16 查證(25H2 = OS build 26200、24H2 = OS build 26100、24H2 家用與專業版服務終止日 2026-10-13)
  • Microsoft 支援:疑難排解 Windows 非預期重新啟動與停止碼錯誤 — 2026-07-16 查證(「停止碼錯誤的畫面顏色與訊息會依 Windows 11 版本而異」、24H2 以後與 23H2 以前分列之兩種畫面、「Your device ran into a problem and needs to restart.」訊息)
  • Microsoft 支援:透過裝置管理員更新 Windows 驅動程式(KB 4028443) — 2026-07-16 查證(「取得驅動更新最好的方式是透過 Windows Update 自動取得」、手動更新須先自裝置製造商網站下載、「避免從製造商官方網站以外的任何網站下載驅動」、回復驅動〔Roll Back Driver〕步驟)

⚠️ 本文核心事實以第一級官方文件為準。本文為依微軟官方文件整理之深度解析(非站長第一手實測);Parameter 1 的六陣營分群為本文依官方逐條描述所做的整理、官方並未如此分類,停止碼參數與工具行為請以你機器上的實際版本與當機檔為準。

📅 本文查證戳記:2026-07-16 依據 Microsoft 官方 Bug Check 0x13A、Bug Check 0x19、!heap、Analyze Bug Check Data 與 Driver Verifier 文件撰寫,適用 Windows 10 / 11(含 24H2、25H2)。若你在後續版本遇到步驟失效,歡迎在留言區回報,站長會更新文章。


廣告