雖然 Windows 2000/XP 採用 NT 核心架構,穩定性遠勝 9x 系列,但「藍畫面死機」(Blue Screen of Death, BSOD) 仍會因驅動程式衝突、硬體故障、登錄檔損毀、資源耗盡等原因發生。本文系統解析 BSOD 結構、錯誤代碼解讀、三步驟標準處理流程,並提供核心記憶體傾印設定建議。
NT 架構將程式碼分為兩層:
當核心模式元件 (驅動/核心本身) 發生無法復原的錯誤 (如存取無效記憶體位址、分頁錯誤、堆疊溢位),核心會呼叫 KeBugCheck 或 KeBugCheckEx,立即停止所有 CPU、切換至藍底白字畫面、顯示停止代碼 (STOP Code) 並寫入記憶體傾印檔,防止資料損壞擴大。此即 BSOD。
格式:*** STOP: 0x0000001E (0xC0000005, 0x804FFB21, 0x00000000, 0x0000000C) KMODE_EXCEPTION_NOT_HANDLED
0x0000001E (16 進位),搜尋知識庫的關鍵字KMODE_EXCEPTION_NOT_HANDLED,直觀描述錯誤類型wdmaud.sys (音訊驅動) + 位址,直接指向嫌疑檔案系統自動給出的修復建議:安全模式解除安裝、驅動程式回溯、更新 BIOS、安裝修補程式等。多數情況需重開機後始能操作。
顯示核心偵錯器設定 (COM 連接埠、波特率) 及記憶體傾印寫入狀態。一般使用者無需理會。
預設會在 %SystemRoot%\Minidump 產生 Memory.dmp (完整傾印,大小 = 實體記憶體) 或小型傾印 (64KB/128KB/256KB)。
建議設為「無」:
理由:完整傾印動輒數百 MB 至數 GB,佔用磁碟、寫入耗時、難以傳送微軟支援;小型傾印雖小但資訊有限。遇到可重現的 BSOD,再臨時改為「小型傾印」收集證據即可。
eventvwr.mscHKLM\System\CurrentControlSet 登錄檔,解決驅動更新/軟體安裝導致的設定錯誤,無法修復損壞的檔案0x0000001E)stop 0x0000001E"0x0000001E" Windows XP| 代碼 | 符號名稱 | 高機率成因 | 首要對策 |
|---|---|---|---|
| 0x0000000A | IRQL_NOT_LESS_OR_EQUAL | 驅動程式存取錯誤記憶體位址、硬體衝突 | 更新/回溯驅動、拔除新增硬體 |
| 0x0000001E | KMODE_EXCEPTION_NOT_HANDLED | 核心模式程式例外、驅動 Bug、記憶體故障 | 查故障模組更新驅動、測試記憶體 |
| 0x00000024 | NTFS_FILE_SYSTEM | NTFS 檔案系統損毀、磁碟壞軌、磁碟機故障 | 執行 chkdsk /r、檢查磁碟健康 |
| 0x00000050 | PAGE_FAULT_IN_NONPAGED_AREA | 記憶體故障、驅動程式、防毒軟體濾鏡驅動 | MemTest86 測記憶體、更新防毒/驅動 |
| 0x0000007B | INACCESSIBLE_BOOT_DEVICE | 開機裝置驅動遺失/損壞、控制器模式變更 (AHCI/IDE)、病毒感染 MBR | 修復 MBR、載入正確控制器驅動、掃毒 |
| 0x000000D1 | DRIVER_IRQL_NOT_LESS_OR_EQUAL | 驅動程式在高 IRQL 存取分頁記憶體 | 更新/停用嫌疑驅動 (通常為網卡/聲卡/顯卡) |
| 0x000000F4 | CRITICAL_OBJECT_TERMINATION | 關鍵系統程序 (csrss.exe/winlogon.exe) 意外終止 | 掃毒、修復系統檔 (sfc /scannow)、檢查硬碟 |
若上述三部曲無解,轉向硬體檢查:
MemTest86+ (記憶體)、Prime95 (CPU/記憶體穩定度)、FurMark (顯卡/電源壓力測試)硬體確認無誤、驅動全更新、修補程式全打、系統檔修復 (sfc /scannow) 仍藍畫面 → 備份資料 → 重新安裝作業系統 → 格式化系統分區全新安裝。這是成本最低、成功率最高的最終方案。
核心心法: BSOD 不是魔鬼,是核心在保護你的資料。冷靜記下停止代碼,按「事件檢視器 → 最後正確設定 → 停止代碼查詢」三部曲走,90% 以上情況可在不重灌前提下解決。