⚡ 站長快讀:核心重點
- 文章屬性:疑難排除(A5 底層除錯)
- 適用系統:Windows 10 / Windows 11(停止碼定義不分版本,官方文件通用)
- 難易度 / 耗時:⭐⭐⭐ / 基本排查約 30 分鐘,傾印分析約 40 分鐘
- 核心結論:0x8E 不是病名,是「有例外沒人接手」的通報。同一個 0x8E,參數 1 的例外碼不同就是完全不同的兩件事——照著停止碼一路換記憶體,方向從一開始就錯了。
- 適用對象:藍屏畫面出現 KERNEL_MODE_EXCEPTION_NOT_HANDLED 或停止碼 0x0000008E,想知道到底該查驅動、記憶體還是磁碟空間的人。
📌 快速答案
一句話答案:遇到 KERNEL_MODE_EXCEPTION_NOT_HANDLED(0x8E),先抄下畫面上的模組名稱,再讀參數 1 的例外碼決定該查驅動、查資料對齊還是查除錯開關。
🧰 開始前的準備
- 適用系統:Windows 10 / Windows 11 全版本(Microsoft 官方 Bug Check 0x8E 文件未限定版本)
- 權限需求:系統管理員(讀取傾印檔、啟用 Driver Verifier、進入安全模式都需要)
- 需要工具:WinDbg(Debugging Tools for Windows)、事件檢視器(內建)、系統製造商提供的硬體診斷工具
- 預計耗時:基本排查約 30 分鐘;要開 WinDbg 讀傾印再加 40 分鐘
⚠️ 執行前先做三件事:①確認手上有可開機的救援 USB;②重要資料先備份到外接裝置或雲端;③確認電源穩定(桌機建議接 UPS,筆電請接電源)。本文後半段的 Driver Verifier 與安全模式移除驅動都可能讓系統暫時進不了桌面。
🔍 症狀描述與錯誤訊息
0x8E 的典型現場是這樣:電腦在你完全沒動它的時候突然黑屏或藍屏、跑完進度條自動重開,而畫面底下留下一行停止碼。Windows 11 版本 24H2 之後,這個畫面的底色已經從藍色改成黑色,但性質完全一樣——Microsoft 官方支援文件把它並列稱為 stop code error、bug check、kernel error、Blue Screen error 或 Black Screen error。
你在畫面上會看到的字樣是下面這幾種之一:
KERNEL_MODE_EXCEPTION_NOT_HANDLED
STOP: 0x0000008E
你的裝置發生問題,需要重新啟動。(停止碼:KERNEL_MODE_EXCEPTION_NOT_HANDLED)
有時候停止碼下面還會多一行模組名稱。Microsoft 官方支援文件明講,畫面會顯示「當問題發生時正在執行的程式碼的模組名稱」——如果有這一行,它就是整篇文章裡最值錢的線索,先抄下來再重開機。
比較容易被忽略的兩個場景,官方 0x8E 文件特別點出來:
- 剛裝完 Windows 就跳:這個錯誤「可能在 Windows 安裝期間第一次重新啟動之後,或安裝完成之後發生」,而官方列的可能原因是安裝用的磁碟空間不足與系統 BIOS 不相容。
- 停止碼旁邊掛著 Win32k.sys:官方文件寫得很直接——如果問題與 Win32k.sys 有關,錯誤來源可能是第三方遠端控制程式。
🔎 問題根因
先給結論:0x8E 本身不是病名,是驗屍報告的第一行。 它告訴你「有一段跑在核心模式的程式碼丟出了例外,而沒有任何錯誤處理常式接住它」,於是核心只能直接停機,免得損壞繼續擴散。真正要問的是:丟出來的是哪一種例外?
Microsoft 官方對 0x8E 的定義只有一句話:這個 bug check 的值是 0x0000008E,表示「核心模式應用程式產生了錯誤處理常式未攔截的例外」。官方接著補了一句常被誤讀的話——「KERNEL_MODE_EXCEPTION_NOT_HANDLED 是一個非常常見的 bug check」(a very common bug check),並且要求「要解讀它,你必須先辨識出是哪一個例外被產生」。
這裡值得跟網路上的流傳說法對一下:很多中文教學會說 0x8E「是舊版 Windows 才有的碼」。截至本文查證日,Microsoft 官方文件並未把 0x8E 標記為已退役、已停用或罕見,反而用了「非常常見」的措辭。所以請把它當成一個仍然有效的通用型當機碼來處理,不要因為它看起來「老」就跳過。
參數 1 的例外碼才是分流器
0x8E 的四個參數,官方定義如下:
| 參數 | 官方描述 | 實務用途 |
|---|---|---|
| 1 | 未被處理的例外碼 | 決定整個排查路線 |
| 2 | 例外發生的位址 | 用來反查是哪個驅動或函式 |
| 3 | trap frame | 餵給除錯器換 context 做堆疊回溯 |
| 4 | Reserved(保留) | 無資訊,不必看 |
官方列了三個常見的例外碼,而這三個各自指向完全不同的方向:
- 0xC0000005 — STATUS_ACCESS_VIOLATION:發生記憶體存取違規。這是最常見、也最可能真的是驅動程式出包的那一條路。
- 0x80000002 — STATUS_DATATYPE_MISALIGNMENT:遇到未對齊的資料參考。官方對這一種特別交代:「如果發生例外碼 0x80000002,trap frame 會提供額外資訊」。
- 0x80000003 — STATUS_BREAKPOINT:在沒有連接核心除錯器的情況下遇到中斷點或 ASSERT。官方講得很白:這代表硬編碼的中斷點或判定式被觸發,但電腦是以
/NODEBUG參數開機的;這個狀況應該極少發生,如果重複發生,要確認核心除錯器已連上、且電腦以/DEBUG開機。
換句話說,如果你的參數 1 是 0x80000003,那你八成不是「一般使用者遇到藍屏」,而是跑到了某個開發版或帶除錯判定式的驅動——這時候一路換記憶體、跑 sfc 完全是白費工。完整的例外碼清單,官方指向 WDK inc 目錄下的 Ntstatus.h,或線上的 NTSTATUS values 對照表。
🔬 底層機制:這個錯誤訊號從哪裡來?
要理解 0x8E,得先理解核心模式裡「例外」的生命週期。
使用者模式的程式丟出未處理的例外,結果是那支程式當掉,系統照常運作——因為每支行程有自己的位址空間,炸掉一個不會拖垮別人。核心模式沒有這種奢侈:驅動程式、檔案系統、核心本體全部共用同一個位址空間,任何一段程式碼踩壞了不該踩的記憶體,壞掉的東西就是全系統共用的東西。
所以核心的例外派送流程是這樣走的:CPU 偵測到異常狀況(存取了無效位址、資料未對齊、遇到中斷點指令)→ 觸發硬體陷阱,由 CPU 把當下所有暫存器狀態存成一份 trap frame → 核心的例外派送器沿著呼叫堆疊往回找,看有沒有哪一層登記了能處理這個例外的處理常式 → 如果一路找到底都沒人接手,核心就沒有安全的路可走,只能呼叫 KeBugCheckEx 停機,並把「是什麼例外、發生在哪、trap frame 在哪」三樣資訊當成參數留在藍屏上。
這就是 0x8E 參數 3 的來歷:它不是給人看的數字,是一個記憶體位址,指向 CPU 出事那一刻的完整暫存器快照。
官方對 0x8E 的除錯難度講了一句很誠實的話:「如果你打算除錯這個問題,你可能會發現很難取得堆疊追蹤」——原因就在於例外派送過程中原始的呼叫堆疊已經被繞過,你在傾印檔裡直接下 k 看到的往往是派送器自己的堆疊,不是兇手的堆疊。官方接著給了替代路線:「參數 2(例外位址)應該能指出造成這個問題的驅動或函式。」
而參數 3 那份 trap frame,就是把暫存器 context 切回出事現場的鑰匙。WinDbg 的 .trap 命令官方說明寫得很清楚:它會顯示指定 trap frame 的重要暫存器,並且指示核心除錯器改用該 context record 作為暫存器 context;命令執行後,除錯器就能存取這個執行緒最重要的暫存器與堆疊追蹤。這個暫存器 context 會一直維持,直到你讓目標繼續執行、或改用 .thread、.cxr 等其他暫存器 context 命令(清單含 .trap 本身)。
📌 誠實標註:官方
.trap文件明列「此擴充常用於除錯 bug check 0xA 與 0x7F」,並未點名 0x8E。「0x8E 的參數 3 可以直接餵給.trap」是依據兩份官方文件對照推導的結論——0x8E 參數表明訂參數 3 即 trap frame,而.trap的參數定義就是「目標系統上 trap frame 的十六進位位址」。站長我認為這個推導成立,但請把它當作推論而非官方明文,實際跑的時候若.trap沒吐出合理的暫存器內容,就退回官方明寫的參數 2 路線。
🧭 與相近錯誤碼比較:0x8E 到底跟 0x1E 差在哪?
這是本站最常收到的追問。0x1E 的名字是 KMODE_EXCEPTION_NOT_HANDLED,0x8E 是 KERNEL_MODE_EXCEPTION_NOT_HANDLED,兩者官方定義幾乎同一句話——都是「核心模式程式產生了錯誤處理常式沒接住的例外」。既然定義一樣,差別在哪?
差別在參數 3 與參數 4 的語意,而這直接決定你在 WinDbg 裡走哪條路。
| 比較項 | 0x8E KERNEL_MODE_EXCEPTION_NOT_HANDLED | 0x1E KMODE_EXCEPTION_NOT_HANDLED |
|---|---|---|
| 參數 3 | trap frame | 例外記錄的例外資訊參數 |
| 參數 4 | Reserved(保留,無資訊) | 例外資訊參數(存取違規時=驅動嘗試存取的位址) |
| 官方建議路線 | 參數 2 反查模組;參數 3 換 context | .exr 讀例外記錄 →.cxr 讀 context record |
讀法:0x8E 把「現場快照」直接放在參數 3,0x1E 則是把「例外的細節參數」放在參數 3、4。 所以 0x1E 官方文件為了取得堆疊追蹤,得教你一整套繞路程序:先用 kb 找 NT!PspUnhandledExceptionInSystemThread,取它的第一個參數(一個 EXCEPTION_POINTERS 結構指標),用 dd 倒出來,第一個值餵 .exr、第二個值餵 .cxr,再跑 kb。官方甚至補了一段註記:存取違規類的當機有時候找不到 PspUnhandledExceptionInSystemThread,那就改找 ntoskrnl!KiDispatchException,它的第三個參數就是 trap frame 位址,拿去餵 .trap。
看到這裡就懂了:0x1E 要繞好幾步才拿到的那個 trap frame 位址,0x8E 直接寫在參數 3 給你。
⚠️ 一處官方文件本身的措辭衝突,必須揭露
查證過程中發現一個必須誠實交代的分歧:Microsoft 官方 0x1E 頁面的參數表裡,第 3 列與第 4 列的描述字面完全相同,都寫成「例外記錄的例外資訊參數 0」。但同一頁的 Cause 段落在講 0xC0000005 時明寫「bug check 的參數 4 是驅動嘗試存取的位址」,而該頁的 x86 範例輸出也顯示例外記錄有 Parameter[0] 與 Parameter[1] 兩個不同的值。
判讀:官方參數表第 4 列應為「例外資訊參數 1」,該處字面重複研判為文件排版重複。 本文採信同頁 Cause 段與範例輸出的說法。之所以特別寫出來,是因為若照官方表格字面理解,你會以為 0x1E 的參數 3 和 4 是同一個東西而忽略參數 4——那正好會漏掉存取違規案例裡最關鍵的「驅動想存取哪個位址」。
0x8E 官方獨有的三個排查項
還有一組差異藏在 Resolution 段落。0x8E 官方文件列了三項 0x1E 文件沒有的處置,遇到 0x8E 值得多試:
- 確認磁碟空間足夠——0x1E 文件完全沒提這件事。呼應前面提到的「Windows 安裝後首次重開機才跳」場景。
- 嘗試更換顯示卡(Try changing video adapters)。
- 關閉 BIOS 的記憶體選項,例如 caching 或 shadowing。
反過來,0x1E 文件獨有的是那套完整的堆疊追蹤取得程序與 x86 範例輸出。兩份文件互補,遇到 0x8E 建議兩篇一起讀。 本站對 0x1E 的完整拆解在這裡:電腦跳 KMODE_EXCEPTION_NOT_HANDLED(0x1E)藍屏?多半是驅動出包,教你揪出真兇。
🛠️ 解決方案
⚠️ ⭐⭐⭐ 高風險操作警語:方法二的安全模式移除驅動與方法三的 Driver Verifier 都可能讓系統暫時無法正常開機。執行前務必:①完成重要資料備份;②建立系統還原點(設定 →系統 →系統保護 →建立);③確認手上有可開機的 Windows 救援 USB;④筆電請接上電源。
停止條件清單(符合任一,請不要繼續往下做):
– 不確定自己的 Windows 版本或機型
– 尚未完成資料備份
– 已啟用 BitLocker 但手上沒有還原金鑰
– 公司或學校管控的設備、且未取得 IT 授權
– 沒有可開機的救援 USB
– 指令輸出與本文描述不符
方法一:先做零風險的四件事(成功率最高、門檻最低)
先給結論:這四件事門檻最低、風險為零,先做完再決定要不要動傾印檔或 BIOS。
- 抄下停止碼旁邊的模組名稱。如果藍屏上有列出
.sys檔名,直接拿去搜尋該裝置廠商的驅動下載頁,依 Microsoft 官方建議「停用該驅動,或向製造商確認驅動更新」。 - 清出磁碟空間。0x8E 官方文件把磁碟空間不足列為明確可能原因;Microsoft 官方支援文件則給了具體數字:實際需求依系統設定而異,但保留 10% 到 15% 的可用空間是好做法。優先刪不必要的暫存檔、網際網路快取檔、應用程式備份檔,以及磁碟掃描產生的
.chk碎片檔——這幾類正是官方點名的清理對象。 - 檢查事件檢視器的系統日誌。官方明講要「檢查事件檢視器中的系統日誌,尋找可能有助於辨識造成 bug check 0x8E 的裝置或驅動的其他錯誤訊息」。開啟方式:按 Win+X →事件檢視器 →Windows 日誌 →系統,把時間對到當機那一刻前後五分鐘。
- 跑硬體診斷,尤其記憶體掃描。官方要求執行「系統製造商提供的硬體診斷,特別是記憶體掃描器」。順手也把裝置管理員打開看有沒有驚嘆號——這是官方支援文件列的基本排查步驟之一,對應的錯誤碼判讀可參考本站的裝置管理員錯誤碼完整解析。
另外兩項官方列出但需要動硬體或 BIOS 的,放在這裡供評估:向硬體廠商確認是否有 BIOS 更新、關閉 BIOS 的記憶體 caching 或 shadowing 選項。BIOS 更新有變磚風險,請務必照主機板廠商的官方步驟做,並確認更新期間電源不會中斷。
方法二:用 WinDbg 讀傾印,把兇手模組叫出來(進階解法)
先給結論:方法一沒解決,就別再猜了,讀傾印是唯一能指名道姓的路。 完整的 WinDbg 安裝與傾印檔位置設定,本站另有專篇:WinDbg 藍畫面 minidump 分析教學。這裡只講 0x8E 專屬的三步。
第一步:!analyze -v
官方對 0x8E 的第一個建議就是它:「!analyze 除錯擴充會顯示關於這個 bug check 的資訊,對判定根本原因會有幫助。」
kd> !analyze -v看兩個欄位:Arguments 的第一個值就是參數 1 的例外碼,先用它分流(0xC0000005 走驅動線、0x80000002 走對齊線、0x80000003 檢查是不是裝了開發版驅動);MODULE_NAME 與 IMAGE_NAME 則是除錯器對兇手的初步指認。
第二步:用參數 2 反查模組
這是官方明寫的路線——參數 2 是例外發生的位址,把它交給 ln(list nearest symbols)就能問出那個位址落在哪個模組的哪個函式裡:
kd> ln <參數2的位址>第三步:用參數 3 的 trap frame 換 context 做回溯
kd> .trap <參數3的位址>
kd> kb.trap 會把暫存器 context 切到出事現場,接著的 kb 才會吐出真正的呼叫堆疊。堆疊裡由上往下第一個非 nt! 開頭的模組,通常就是要處理的對象。如前面誠實標註過的,這一步是依官方兩份文件推導的路線;若 .trap 吐出的內容不合理,退回第二步的參數 2 反查即可。
方法三:Driver Verifier 主動抓出違規驅動(最後手段)
先給結論:當你已經懷疑某幾支驅動、但傾印檔每次都指向 ntoskrnl 這種無辜的核心模組時,才用 Driver Verifier 逼兇手現形。
Microsoft 官方對這個工具的警告放在文件最上方,原文照登:「執行 Driver Verifier 可能造成電腦當機」、「只在你用於測試與除錯的電腦上執行 Driver Verifier」、「你必須是該電腦上 Administrators 群組的成員」。它的原理就是刻意讓違規驅動立刻當機——官方明說「Driver Verifier 偵測到的所有違規都會造成 bug check」,而且通常是 Bug Check 0xC4(DRIVER_VERIFIER_DETECTED_VIOLATION)。唯一例外:官方在指令說明中標注 (***) 的少數規則類別(例如 driver isolation checks)預設為 logging mode,要加 /onecheck 才會在違規當下當機。所以請預期會再藍屏幾次,這是設計如此,不是你操作錯。
工具本身不用下載,官方說明大多數 Windows 版本都內建在 %WinDir%\system32\ 的 Verifier.exe。
建議做法(只驗可疑的那幾支,不要全選):以系統管理員身分開啟命令提示字元,輸入 verifier 開啟 Driver Verifier Manager →選「建立標準設定」→在選擇驗證對象時選 「從清單選取驅動程式名稱」。官方對這個選項的說明是:大多數情況你會想指定要測試哪些驅動。相對地,「自動選取這台電腦上安裝的所有驅動程式」雖然覆蓋率最高,但官方在該選項的建議用途說明中指出,它可能耗盡 Special Pool 與部分資源追蹤可用的資源,也會對系統效能造成不良影響。
只要驗單一支驅動時,命令列一行就夠:
verifier /standard /driver 可疑驅動檔名.sys設定完成後重新啟動,然後照平常的方式操作電腦。再次當機時,傾印檔裡下 !analyze -v,官方另外提供 !verifier 擴充可以倒出 Driver Verifier 統計資料。
🛑 關掉它比打開它更重要:抓到兇手(或確認抓不到)之後一定要關閉,否則系統會長期處於「驅動一違規就立刻當機」的狀態。關閉方式見下方回退步驟。
✅ 驗證修復結果
修好了不等於好了。用下面四項確認,而不是「這兩天沒當機」:
- 同一個操作情境重跑三次以上。0x8E 常常綁定特定動作(接上某個 USB 裝置、開某個吃顯示卡的程式、休眠喚醒)。把當初觸發當機的那個動作重複做,比乾等更有效。
- 確認 Driver Verifier 已關閉。以系統管理員身分執行
verifier /query(官方定義:顯示 Driver Verifier 目前活動摘要),或verifier /querysettings(官方定義:顯示下次開機後將啟用的選項與將被驗證的驅動,不含以 /volatile 加入的項目);前者應顯示已無驗證活動,後者應顯示下次開機後無驗證項目。 - 回頭看事件檢視器。系統日誌裡不該再出現新的
BugCheck事件;修復日之後若還有,代表換了個症狀而不是解決了。 - 確認
%SystemRoot%\Minidump沒有新的傾印檔產生。有新檔=還在當,只是你剛好沒看到藍屏。
🔙 萬一翻車:回退步驟
情境 A:開了 Driver Verifier 之後進不了桌面(最常見)
- 連續兩次在開機過程中強制關機,第三次開機 Windows 會自動進入修復環境;或用救援 USB 開機後選「疑難排解 →進階選項 →啟動設定」。
- 選「安全模式」或「安全模式(含命令提示字元)」進入系統。
- 以系統管理員身分執行下面這行,把 Driver Verifier 的設定全部清掉:
verifier /reset- 重新啟動電腦(官方流程把重開機列為
verifier /reset的下一步;官方對該指令的說明是「清除所有 Driver Verifier 設定,下次開機後不會驗證任何驅動程式」)。
- GUI 等效做法:開啟 Driver Verifier Manager →選「刪除現有設定」→完成 →重開機。
情境 B:停用或移除驅動之後系統開不起來
Microsoft 官方 0x8E 文件對這個情境有明確指引:若錯誤在開機序列期間發生、且系統分割區為 NTFS 檔案系統,你或許能用安全模式把故障的驅動改名或刪除;而如果該驅動在安全模式下也屬於系統啟動程序的一部分,就必須用 Recovery Console(復原環境命令提示字元)開機才能存取該檔案。
實務上的安全順序是:先用系統還原點回到動手之前的狀態(修復環境 →疑難排解 →進階選項 →系統還原),還原成功再重新規劃。改名比刪除安全——保留原檔就永遠退得回來。
情境 C:改了 BIOS 設定之後開不了機
進 BIOS 選「Load Optimized Defaults / Load Setup Defaults」還原原廠預設值後存檔重開。請注意:各機型、各 BIOS 版本的原廠預設值並不相同,所以動手前請先把要改的那幾項的原值抄下來或拍照,回退時以「你抄下來的原值」為準,不要照抄任何文章寫死的數值(包含本文)。
💡 總結:預防再次發生
站長我處理這類通用型停止碼,養成的第一個習慣是:看到「例外沒被接住」這一族的碼(0x8E、0x1E、0x7E),先看例外碼,不要先看停止碼。 停止碼只告訴你「哪一層放棄了」,例外碼才告訴你「發生了什麼事」。同一個 0x8E,參數 1 是 0xC0000005 跟是 0x80000003,要處理的根本是兩件不同的事——前者去追驅動,後者去追「這台機器上為什麼有帶除錯判定式的驅動」。
第二個習慣是:參數 4 寫 Reserved 就真的別看它。 0x8E 的參數 4 官方明訂為保留欄位、沒有資訊,但它在藍屏上照樣會印出一串數字,很多人會拿那串數字去搜尋,然後被完全無關的結果帶偏。官方參數表就是用來省下這種冤枉路的。
第三,預防面真正有效的是三件不起眼的事:
- 磁碟保留 10%~15% 可用空間,別把系統碟塞到見底。這是 Microsoft 官方支援文件給的具體建議,而 0x8E 官方文件也把磁碟空間不足列為明確可能原因。
- 驅動只從裝置廠商官方頁面更新,不用第三方「驅動一鍵更新」工具。0x8E 的官方成因清單裡,「故障的裝置驅動或系統服務」就排在硬體不相容旁邊。
- 新硬體上機前先確認相容性。官方成因第一項就是硬體不相容:「確認任何新安裝的硬體與已安裝的 Windows 版本相容。」
最後補一句誠信說明:本文為深度資料查證型(E3)文章,全篇論述以 Microsoft Learn 官方 Bug Check 文件與官方支援文件為據,不含第一手實測數據、不含具體機型或 build 的實測結果;文中所有推導(尤其參數 3 直接餵 .trap 那一段)都已標明為推論。若你手上有 0x8E 的傾印檔願意提供,歡迎留言,站長會把實際判讀過程補進這篇。
❓ 常見問題
Q:0x8E 藍屏到底代表什麼意思?
代表一段跑在核心模式的程式碼丟出了例外,而沒有任何錯誤處理常式接住它,於是核心只能停機。它不指向特定的硬體或軟體,要靠藍屏上的參數 1(例外碼)才能判斷方向。
Q:0x8E 是不是跟 0x1E 一樣的問題?
定義幾乎相同,但參數語意不同:0x8E 的參數 3 是 trap frame、參數 4 保留;0x1E 的參數 3、4 是例外記錄的資訊參數(存取違規時參數 4 是驅動嘗試存取的位址)。因此 WinDbg 的判讀路線不一樣。另外 0x8E 官方文件獨有三項處置——確認磁碟空間、更換顯示卡、關閉 BIOS 記憶體 caching/shadowing。
Q:舊驅動程式是 0x8E 的主因嗎?
官方沒有給任何比例數字,所以不能說「主因」。官方列的可能原因是硬體不相容與故障的裝置驅動或系統服務兩大類,並補充 BIOS 不相容、記憶體衝突、IRQ 衝突也會產生此錯誤。實務上驅動確實是最常見的入手方向(因為藍屏往往會直接印出模組名稱),但請以你機器上的參數 1 與傾印檔為準,不要預設答案。
Q:要怎麼用 WinDbg 找出兇手模組?
三步:①!analyze -v 讀 Arguments 第一個值決定路線、看 MODULE_NAME;②ln <參數2> 反查例外位址落在哪個模組(這是官方明寫的路線);③.trap <參數3> 換 context 後跑 kb 看真正的呼叫堆疊。找堆疊裡第一個非 nt! 開頭的模組。
Q:修完之後又復發怎麼辦?
先確認參數 1 的例外碼跟上次是不是同一個。同一個例外碼=同一條路沒走完(常見是換了驅動版本但問題在硬體或 BIOS);換了例外碼=通常是原本的兇手被你換掉、露出下一個問題。這時候值得改用 Driver Verifier 主動掃,並回頭跑一次系統製造商的記憶體診斷——官方在成因不明時的建議順序就是先驗硬體相容性、再驗驅動。
Q:Driver Verifier 開了之後一直當機,是我做錯了嗎?
不是。官方明講「Driver Verifier 偵測到的所有違規都會造成 bug check」,而且通常是 0xC4;讓違規驅動立刻當機就是它的設計目的。查完務必用 verifier /reset 加重開機關閉它,別長期開著。
🔗 延伸閱讀
- UNEXPECTED_KERNEL_MODE_TRAP(0x7F)藍屏排錯:讀懂第一參數的陷阱編號揪出真兇
- IRQL_NOT_LESS_OR_EQUAL 0x0A 藍屏修復|WinDbg 揪真兇
- BSOD 跳 PAGE_FAULT_IN_NONPAGED_AREA(0x50)?別急著換 RAM,站長用 WinDbg 拆四個 Parameter 找真兇
- THREAD_STUCK_IN_DEVICE_DRIVER(0xEA)藍屏排錯教學
- 0x139 KERNEL_SECURITY_CHECK_FAILURE BSOD 修復|WinDbg 抓真兇 driver
📎 參考資料來源
📖 第一級|廠商官方:
- Bug Check 0x8E: KERNEL_MODE_EXCEPTION_NOT_HANDLED — Microsoft Learn — 2026-07-30 查證
- Bug check 0x1E: KMODE_EXCEPTION_NOT_HANDLED — Microsoft Learn — 2026-07-30 查證
- .trap (Display Trap Frame) — Microsoft Learn — 2026-07-30 查證
- Driver Verifier — Microsoft Learn — 2026-07-30 查證
- Troubleshooting Windows unexpected restarts and stop code errors — Microsoft Support — 2026-07-30 查證
- NTSTATUS values — Microsoft Learn — 2026-07-30 查證
- !analyze — Microsoft Learn — 2026-07-30 查證
⚠️ 本文核心事實以第一級為準,第二級為補充。本篇全數主張來自第一級官方文件,無第二級來源。
📅 本文查證戳記:2026-07-30 依據 Microsoft Learn 官方 Bug Check 文件撰寫,適用 Windows 10 / Windows 11。
若你在後續版本遇到步驟失效,歡迎在留言區回報,站長會更新文章。