快訊
2026-07-11
電腦疑難雜症

BAD_POOL_HEADER 0x19 藍屏怎麼修?讀懂四參數揪出兇手驅動

約 13 分鐘閱讀

⚡ 站長快讀:核心重點

  • 文章屬性:疑難排除(A5 底層除錯 / cornerstone)
  • 適用系統:Windows 10 / 11(含 24H2、25H2)
  • 難易度 / 耗時:⭐⭐⭐ / 約 20–40 分鐘
  • 核心結論:BAD_POOL_HEADER(0x19)是核心檢查「記憶體集區(pool)」標頭、發現區塊已損毀時觸發的藍屏;十之八九是行為不良的驅動程式踩壞集區,少數是實體記憶體故障。先讀第一個參數判類型,再用 Driver Verifier「Special Pool」揪兇手驅動。
  • 適用對象:反覆跳 0x19、換過記憶體還是藍屏、想自己找出兇手驅動的人

📌 快速答案

一句話答案:BAD_POOL_HEADER(0x19)代表 Windows 核心在配置或釋放「記憶體集區」時,發現集區區塊的標頭已經損毀;最常見的元兇是行為不良的驅動程式踩壞了別人的記憶體,其次才是實體記憶體故障。先關掉自動重新啟動看清停止碼,再依官方四參數搭配 Driver Verifier「Special Pool」與記憶體診斷,就能把範圍縮到某一支驅動或某條記憶體。

廣告

🧰 開始前的準備

  • 適用系統:Windows 10 全版本、Windows 11(含 24H2 / 25H2;介面用詞大同小異)
  • 權限需求:系統管理員(改記憶體傾印設定、開 Driver Verifier、跑 chkdsk 都需要)
  • 需要工具:系統內建的 Windows 記憶體診斷、Driver Verifier(verifier.exe)、事件檢視器;想讀當機檔再裝 WinDbg
  • 前置設定:想自己抓兇手,請先照〈當機藍屏一閃就重開?先設好記憶體傾印再抓兇手〉把「自動重新啟動」關掉、傾印設成「自動」或「核心」,否則當機當下什麼線索都留不下來。
  • 預計耗時:約 20–40 分鐘(視要不要跑 Driver Verifier 與記憶體測試而定)

⚠️ 動手前先讀這段(⭐⭐⭐ 高風險):本文會用到 Driver Verifier 與 chkdsk。Driver Verifier 會刻意讓有問題的驅動當機,微軟官方明講「執行 Driver Verifier 可能導致電腦當機,只在測試用的電腦上跑」;設定不當可能讓你開機就藍屏、進不了桌面。chkdsk 對已有壞軌的磁碟施作,也可能讓資料更難救。動手前先確認:重要資料已備份、BitLocker 復原金鑰在手、而且你知道怎麼進安全模式關掉 Driver Verifier(做法見文末〈萬一翻車〉)。符合任一「停止條件」就先停,別硬做。


🔍 症狀描述與錯誤訊息

先確認你遇到的是不是這隻。BAD_POOL_HEADER 的典型畫面,是電腦用到一半突然當機、跳出藍色(Windows 11 24H2 起改深色)當機畫面,底下寫著:

🙁 你的裝置發生問題,需要重新啟動⋯⋯
停止碼(Stop code):BAD_POOL_HEADER

有時只顯示十六進位代碼 0x00000019(簡寫 0x19),有時兩者一起出現。它的發作時機很跳:可能開機沒多久就當,也可能玩遊戲、插隨身碟、連藍牙、跑某個特定軟體時才觸發——因為真正的關鍵不是「你在做什麼」,而是當下哪一支驅動剛好動到那塊被寫壞的集區

這隻藍屏和你用到一半才跳的其他停止碼(例如 DPC_WATCHDOG、MEMORY_MANAGEMENT)性質不太一樣:0x19 是核心在管理自己的記憶體集區時抓到帳對不上,屬於「記憶體結構被破壞」這一類,和單純的驅動逾時、分頁錯誤不同層。判斷方向前,先把「藍屏前你剛做了什麼、剛裝了什麼」記下來,這條線索往往比任何工具都準。


🔎 問題根因:先看 Parameter 1

先給直接結論:依微軟官方 Bug Check 文件,0x19 的意思是「提出這次記憶體集區請求的當下,集區已經處於損毀狀態」,而且「不一定是這次呼叫者的錯」——很可能是前一支驅動早就把記憶體踩壞了,只是由後來這支剛好去動它的驅動「引爆」。這也是 0x19 難抓的原因:當機當下的那支驅動,常常是受害者而不是兇手。

0x19 的第一個參數(Parameter 1)代表 violation 的類型,其餘三個參數的意義會跟著 Parameter 1 變。以下是官方文件裡最常見的幾種,對照你 WinDbg !analyze -v 或藍屏參數看是哪一類:

Parameter 1代表的損毀類型白話解讀
0x2Special Pool 樣式檢查失敗開了 Special Pool 後抓到:配置區塊的擁有者把它自己那塊踩壞了
0x3集區 freelist 損毀空閒清單的 flink / blink 對不上(健康時參數 2、3、4 應相同)
0x20集區區塊標頭大小損毀標頭記錄的大小被改壞
0x21區塊後方資料損毀呼叫端寫過頭(overrun),踩到自己配置區塊的後面
0x22釋放的位址沒有追蹤紀錄通常是重複釋放(double free)或釋放一塊從沒配置過的記憶體
0xD~0xF、0x23~0x25已釋放區塊的標頭在釋放後被改常是「前一塊」寫過頭波及,未必是這塊原擁有者的錯

看不懂沒關係,重點是把 violation 分成兩大陣營:一種是「有人正在寫壞集區」(0x2、0x21 這類 overrun),另一種是「集區的鏈結帳目對不上」(0x3、0x20、0x22 這類 freelist / double free)。兩者最後的抓兇手法一樣——用 Driver Verifier 把嫌疑驅動的每次配置都放進 Special Pool 監控,讓它一踩線就當,並在當機檔裡指名道姓。

廣告

要補一句常見的誤會:0x19 不等於 0x1A。MEMORY_MANAGEMENT(0x1A)是核心的虛擬記憶體 / 分頁表管理出錯,層級不同;0x19 是集區區塊層級的標頭檢查失敗。兩者都可能跟壞掉的實體記憶體有關,但除錯切入點不一樣,別把兩篇的做法混著用。


🔬 底層機制:什麼是「集區」,標頭又是怎麼被寫壞的?

這段是重點,搞懂它你就不會亂槍打鳥。「集區(pool)」是 Windows 核心與驅動程式向系統要記憶體的地方。依微軟官方文件,記憶體管理員會建立兩種集區:

  • 分頁集區(paged pool):裡面的資料在實體記憶體不夠時,可以被暫時換出到磁碟。
  • 非分頁集區(nonpaged pool):保證常駐實體記憶體,核心與驅動用它存放「在無法處理分頁錯誤的時機(例如執行中斷服務常式 ISR、延遲程序呼叫 DPC)也必須讀得到」的資料。

每一塊從集區配置出來的記憶體,前面都有一段標頭(header),記著這塊多大、前一塊多大、屬於誰(以四個字元的 pool tag 標記)。核心靠這些標頭把整個集區像串珠一樣鏈起來。問題就出在:如果某支驅動配置了 16 bytes 卻寫了 20 bytes,多出來的 4 bytes 就會蓋掉「下一塊」的標頭;等到核心下次要走訪或釋放那塊時,一算帳發現標頭數字對不上、或 freelist 的前後指標兜不攏,立刻 0x19 停機自保——因為繼續跑下去等於拿被污染的記憶體做事,只會錯得更離譜。

換句話說,0x19 是核心的「誠信檢查」在保護你,不是核心自己壞掉。真正動手腳的,絕大多數是某支在核心模式跑的驅動程式(顯卡、網卡、防毒的核心元件、VPN 的虛擬網卡、老舊的週邊驅動都是常見嫌疑);少數情況是實體記憶體某個 bit 壞了,讓標頭「無中生有」地變樣。想真的打開當機檔看是哪個 pool tag、哪支模組出手,可以照〈WinDbg 藍畫面 minidump 分析教學〉用 !analyze -v 起手,再往 pool 方向追。


🛠️ 解決方案

⚠️ ⭐⭐⭐ 高風險提醒:方法三會用到 Driver Verifier,它會刻意讓問題驅動當機、有機率造成開機藍屏迴圈。每一步動手前,先確認資料已備份、BitLocker 復原金鑰在手、且已讀過文末回退步驟。看到「停止條件」符合任一項就先停,別硬做。

方法一:先關自動重啟、看清停止碼與參數

先別急著修,先看清楚。照前置設定把「自動重新啟動」關掉,讓藍屏停在畫面上,抄下 Parameter 1(判 violation 類型)。若已設好記憶體傾印,當機會在 C:\Windows\Minidump 留下 .dmp 檔——這才是抓兇手的原始證據。沒有 dump,後面的工具幾乎都使不上力。

方法二:回想「藍屏前你動了什麼」——先處理近期驅動

這一步能解掉最多案例,而且零風險。 0x19 大量發生在「剛更新 / 剛安裝某支驅動之後」。回想藍屏是不是從某次 Windows Update、顯卡驅動更新、裝了新週邊(印表機、VPN、虛擬光碟、防毒)之後才開始:

廣告
  • 剛更新就壞 → 到「裝置管理員」對該裝置回復驅動程式,或移除後裝廠商官網的舊穩定版。
  • 剛裝某軟體(尤其含核心驅動的防毒 / VPN / 虛擬裝置)就壞 → 先移除它試試。
  • 不確定是哪支 → 進安全模式,若在安全模式不再藍屏,幾乎可確定是某支非必要的第三方驅動在搞鬼,再逐一停用。

方法三:用 Driver Verifier 的 Special Pool 揪出兇手驅動

方法二找不到,就請出核彈級工具。Driver Verifier 是 Windows 內建的驅動檢驗器(verifier.exe),它會即時監看驅動行為,一抓到違規就主動觸發 bug check、把兇手釘在當機檔裡。針對 0x19,關鍵選項是 Special Pool:它把被監控驅動的每一次配置單獨放進一段特殊記憶體,只要一寫過頭就當場抓包(此時停止碼常變成 0xC1 SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION 或 0xC4)。

大方向如下(完整逐步、選項意義與注意事項見〈Driver Verifier 完整使用教學〉):

  1. 系統管理員身分開命令提示字元,輸入 verifier 開啟 Driver Verifier Manager。
  2. 選「建立自訂設定」,勾選 Special Pool(和 Pool Tracking 等記憶體相關檢查)。
  3. 別一次驗所有驅動——官方明講 Special Pool 一次只驗一支(或少數幾支)最有效,而且驗全部很吃資源、還可能耗盡 Special Pool 資源。優先鎖定你懷疑的第三方驅動。
  4. 重新開機讓它跑。撐一段時間後當機,用 WinDbg 開 dump 跑 !analyze -v,兇手模組就會現形。
  5. 抓完務必關掉:verifier /reset 後重開機,別讓它一直開著拖慢系統。

💡 官方小提醒:在 Windows build 20150 到 25126 之間,若在清單中選了 ntoskrnl 可能出現 invalid state 錯誤,避開它或升級到 25126 之後的版本即可。

方法四:測實體記憶體(排除壞 RAM)

若 0x19 時好時壞、換過驅動也沒用、或伴隨其他不同停止碼亂跳,官方建議懷疑實體記憶體。先跑內建的 Windows 記憶體診斷:控制台搜尋「記憶體」→「診斷電腦的記憶體問題」,重開機後測試,結果會寫進事件檢視器「系統」記錄的 MemoryDiagnostics-Results。內建工具過了不代表 RAM 一定沒事,要更嚴謹可用 MemTest86 跑多輪。內建工具怎麼看、怎麼判讀,見〈記憶體診斷〉延伸閱讀。有兩條以上記憶體的話,一次只留一條交叉測,能快速鎖定是哪一條或哪個插槽。

方法五:修系統檔與磁碟

排除驅動與 RAM 後,補做系統檔與磁碟健康檢查,清掉「被污染的系統元件」這條可能性:

  • 系統管理員命令提示字元先跑 sfc /scannow 修系統檔。
  • 接著 DISM /Online /Cleanup-Image /RestoreHealth 修系統映像(這兩步分開執行)。
  • 懷疑磁碟有問題再跑 chkdsk C: /f /r(高風險,對有壞軌的碟先備份;會要求下次開機時排程檢查)。

方法六:移除近期更新 / 系統還原

如果時間點對得上某次 Windows 品質更新,從「設定 → Windows Update → 更新記錄 → 解除安裝更新」移掉最近那筆;或用系統還原退回藍屏開始前的還原點。這招見效快,但只是把系統狀態倒帶,若根因是硬體或某支你之後又會裝回來的驅動,問題可能再犯——當成爭取時間、縮小範圍的手段。


✅ 驗證修復結果

別看到一次沒當就收工——0x19 常有「幾天才發作一次」的假復原。確認三件事:

廣告
  • 壓力測試下不再藍屏:平常怎麼用就怎麼操(玩遊戲、插拔週邊、跑那個會觸發的軟體),連續數天正常。
  • 事件檢視器乾淨:進「事件檢視器 → Windows 記錄 → 系統」,確認開機與使用期間沒有新的 Event ID 41(不正常關機)或儲存 / 記憶體相關的 critical 錯誤。
  • Driver Verifier 已關:跑過方法三的話,務必確認已 verifier /reset 並重開機,verifier /querysettings 顯示無啟用中的驗證,別讓它長期開著。

🔙 萬一翻車:回退步驟

⭐⭐⭐ 操作難免有意外,最容易出事的就是 Driver Verifier 造成開機藍屏迴圈,先記好退路:

情境一:開了 Driver Verifier 後一開機就藍屏

這是最常見的翻車。進安全模式關掉它就好:重開機時進「修復環境(WinRE)→ 疑難排解 → 進階選項 → 啟動設定 → 重新啟動」,按 4/5/6 進安全模式;進去後開系統管理員命令提示字元,執行 verifier /reset,重開機即恢復。Special Pool 只在你重開機驗證時作用,關掉就沒事。

情境二:連安全模式都進不去

還有救。從 WinRE 進「命令提示字元」,把離線的 SYSTEM 登錄檔載入後,刪掉 Driver Verifier 的設定值(VerifyDriversVerifyDriverLevel)即可解除;不熟登錄檔操作的話,改用「系統還原」退回啟用 Driver Verifier 之前的還原點,是更安全的做法。這也是為什麼動手前一定要先建還原點或映像備份——真的鎖死時,還原比什麼都快。

情境三:改驅動 / 移更新後更糟

裝置管理員的「回復驅動程式」可以退回上一版;移錯更新想裝回來,從 Windows Update 重新檢查即可。每次只動一項、動前記下原狀態,就不會越修越亂。


💡 總結:預防再次發生

站長我處理這類 case 的經驗是:0x19 幾乎都在跟你說「有某支核心模式的程式在亂寫記憶體」,而不是「你的電腦要壞了」。所以與其急著換記憶體、重灌,不如先回想上一步裝了什麼、更新了什麼,再用 Driver Verifier 讓兇手自己跳出來——這條路比盲猜省事太多。真正是壞 RAM 的比例不高,但一旦其他招都無效、又時好時壞,就務必老實測記憶體,別跳過。

預防上給三個實用習慣:一、驅動只從裝置或晶片組廠商官網、Windows Update 拿,少用來路不明的「驅動一鍵更新」工具,那是 0x19 的常客;二、裝含核心驅動的軟體(防毒、VPN、虛擬光碟、監控工具)前先設好還原點,出事好回頭;三、平時就把記憶體傾印設好、定期做映像備份,真要除錯時你手上才有 dump、翻車時也有退路。最後老話一句:這支停止碼看起來嚇人,但它其實是核心在幫你把「被寫壞的記憶體」擋在門外——把「是誰寫壞的」這條線一環一環查回去,通常比你想的好解。


❓ 常見問題

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

不一定,而且多數情況不是。依官方文件,0x19 是集區標頭損毀,最常見的元兇是行為不良的驅動程式踩壞記憶體;實體記憶體故障只是可能性之一。先照方法二、三從驅動查起,真的時好時壞、又排除不了驅動,再認真測 RAM。

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

Windows Update 也會更新驅動;背景靜默更新的儲存、網路、顯示驅動,或既有驅動在特定情境(睡眠喚醒、插拔裝置)才踩線,都可能觸發。回想藍屏起始的時間點,對照更新記錄,常能找到源頭。

Q:一定要會用 WinDbg 才能修嗎?

不一定。方法二(處理近期驅動)、方法四(測記憶體)、方法五(修系統檔)都不需要 WinDbg。但若反覆發作又找不到兇手,用 Driver Verifier + WinDbg 讀 dump 幾乎是唯一能「指名道姓」的路,值得花時間學。

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

正常。Driver Verifier 是刻意加重檢查、一抓到違規就當機,本來就會拖慢系統、增加當機。它是拿來短期抓兇手的,不是長期開著的;抓到後務必 verifier /reset 關掉並重開機。


🔗 延伸閱讀

📎 參考資料來源

📖 第一級|廠商官方:

⚠️ 本文核心事實以第一級官方文件為準。本文為依微軟官方文件整理之深度解析(非站長第一手實測),停止碼參數與工具行為以你機器的實際版本與當機檔為準。

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

廣告