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

ACPI_BIOS_ERROR(0xA5)藍屏排錯:問題出在主機板 BIOS,不是驅動程式

約 17 分鐘閱讀
廣告

⚡ 站長快讀:核心重點

  • 文章屬性:疑難排除(A5 底層除錯)
  • 適用系統:Windows 10 / Windows 11
  • 難易度 / 耗時:⭐⭐⭐ / 約 60 分鐘
  • 核心結論:先讀參數 1 再決定動哪裡——落在 0x10(電源狀態對映)先查主機板的睡眠與喚醒選項,落在 0x11(進不了 ACPI 模式)就直接更新韌體。
  • 適用對象:安裝 Windows 時、開機途中或睡眠喚醒後跳 ACPI_BIOS_ERROR、停止碼 0x000000A5 的人。

📌 快速答案

一句話答案:ACPI_BIOS_ERROR 代表主機板 BIOS 的 ACPI 實作不符規範,先讀參數 1 判斷屬於哪一類不相容,再更新主機板韌體;官方給的正解就是換一份新的 BIOS。


🧰 開始前的準備

  • 適用系統:Windows 10 / Windows 11 全版本(Microsoft 官方 Bug Check 0xA5 文件未限定 Windows 版本)
  • 權限需求:系統管理員(讀取傾印檔、進 BIOS/UEFI 設定都需要)
  • 需要工具:WinDbg(Microsoft Store 或 Windows SDK 提供)、主機板廠官方 BIOS 檔、一支 USB 隨身碟、事件檢視器
  • 預計耗時:約 60 分鐘(含下載韌體、更新與多次重開機)

🔍 症狀描述與錯誤訊息

這個碼的出場時機很集中:大多發生在「系統剛要把硬體交給 ACPI 管理」的那一刻。 三個最常見的情境是——用比較舊的主機板安裝新版 Windows、開機跑到 Windows 標誌就倒下、以及睡眠或休眠喚醒之後直接藍屏。共同點是它們都踩在同一條路徑上:作業系統要讀主機板韌體提供的 ACPI 表格,並據以建立裝置與電源管理的關係。

畫面上長什麼樣子,要看 Windows 版本。Microsoft 官方支援文件明講「停止碼錯誤的螢幕顏色和訊息會因你使用的 Windows 11 版本而有所不同」:

  • Windows 10 與 Windows 11 23H2 及更早版本:傳統藍底畫面,帶顏文字與「您的裝置遇到問題,需要重新啟動」之類的訊息。
  • Windows 11 24H2 及以上版本:官方已改為黑底畫面,版面與文案都不同。

停止碼:ACPI_BIOS_ERROR

看到黑底不代表是另一種錯誤。 官方對兩種版面的描述一致:螢幕底部會出現停止代碼(例如 PAGE_FAULT_IN_NONPAGED_AREAMEMORY_MANAGEMENT),若有,則一併顯示當時執行的模組名稱——停止碼才是判斷依據,底色不是

如果有留下傾印檔,在 WinDbg 裡看到的則是十六進位形式的 0x000000A5,後面跟著四個參數。Microsoft 官方在其他停止碼的文件裡也建議「檢查事件檢視器的『系統』紀錄,尋找有助於指出問題裝置或驅動程式的其他錯誤訊息」——同樣的作法在 0xA5 上一樣適用,可以當作事後回溯的入口(讀法見〈電腦當機、藍屏後想知道原因?用事件檢視器讀懂當機紀錄揪前兆〉)。

一個關鍵的分辨點:0xA5 幾乎不會伴隨「某個 .sys 檔名」。 以驅動程式為主因的停止碼(例如 DRIVER_POWER_STATE_FAILURE 0x9F)通常可以被 !analyze -v 指到某支驅動程式;0xA5 指向的是韌體提供的資料本身有問題,所以你常常會發現「怎麼查都查不到兇手驅動」——因為兇手不在驅動層。


🔎 問題根因

根因只有一句話:主機板 BIOS 的 ACPI 實作沒有完整遵循 ACPI 規範。 Microsoft 官方對 Bug Check 0xA5 的定義原文是「This bug check indicates that the Advanced Configuration and Power Interface (ACPI) BIOS of the computer is not fully compliant with the ACPI specification.」——它不是含糊的「相容性問題」,而是明確把責任指到韌體那一側。

廣告

ACPI 是硬體與作業系統之間的一份契約。規範本身由 UEFI Forum 底下的 ACPI 規範工作小組(ASWG)維護,截至 2026 年 8 月的最新版本是 ACPI Specification 6.6(2025 年 5 月發布)。主機板廠在寫 BIOS 時,必須依規範產生一整組資料表與方法;Windows 開機時把這些表格讀進來、逐一解析,並用它們決定「哪個裝置掛在哪條匯流排」「哪根中斷線對應哪個裝置」「進入睡眠時哪個裝置該切到哪個電源狀態」。

契約有一方沒照寫,Windows 就沒有安全的路可以走。它不能猜,也不能硬上——猜錯的後果是把中斷送錯裝置、或把資源分配到作業系統已經在用的記憶體。所以核心的處置是直接停下來,丟出 0xA5。

這也是為什麼「重灌 Windows」對 0xA5 幾乎沒有效果:重灌換掉的是作業系統那一側,而出錯的表格躺在主機板的韌體晶片裡,重灌一百次它還是同一份。


🔬 底層機制:這個錯誤訊號從哪裡來?

要理解參數怎麼讀,得先知道這條訊號鏈的形狀。

開機時,韌體會在記憶體裡放一個 RSDP(根系統描述指標),由它指向 XSDT/RSDT(擴充/根系統描述表),再由那張表列出後續所有 ACPI 表格的位址——包括描述電源管理暫存器的 FADT(固定 ACPI 描述表)、描述中斷控制器的 MADT,以及裝載 AML 位元組碼的 DSDT/SSDT

Windows 這一側,ACPI.sys 內含一個 AML 直譯器。它會執行韌體提供的控制方法(如 _PRW_PRT_CRS_STA 等),把結果轉成核心看得懂的裝置擴充與命名空間物件。0xA5 就是這個直譯與建構過程中丟出來的——任何一步「表格找不到、方法回傳型別不對、資源清單解析不了、對映關係湊不出來」,都會落在這個停止碼底下。

廣告

官方把可能的失敗情形拆成四張參數表,分別對應四類失敗環節:

ACPI_BIOS_ERROR 0xA5 參數 1 四大分群:隨插即用與電源管理、中斷繞送、其他失敗、記憶體使用問題
參數 1官方歸類代表的失敗環節
0x010x110x140x16隨插即用(PnP)與電源管理找不到 SCI 向量、控制方法執行失敗、_PRW/_PRx 格式或元素數不符規範、資源描述元解析失敗、載入表格時發生致命錯誤
0x20010x100010x1000E(無 0x10004)中斷繞送失敗或不相容_PIC 控制方法評估失敗、_PRT 對不到裝置或連結節點、找不到 FADT、找不到 RSDP/XSDT、表格長度與版本不一致
0x20000其他失敗FADT 裡的 PM_TMR_BLK 沒有指向可用的 ACPI 計時器區塊
0x1000記憶體使用問題記憶體操作區域試圖對映到已配置給作業系統使用的記憶體

這張表的四個重點:

  1. 參數 1 是一張分類表,不是記憶體位址。 拿它去查符號或模組沒有意義,它要拿來「歸類」。另外注意這些編號不是連續的——官方表格未定義 0x120x130x10004,查不到對應列不代表你抄錯,而是官方本來就沒列。
  2. 同一個參數 1 之下,其餘三個參數的語意是浮動的——官方明講「其他參數的意義取決於參數 1 的值」,所以一定要先定案參數 1。
  3. 中斷繞送那一群(0x1xxxx)是主機板設計與韌體編碼問題的重災區,幾乎必然要靠新 BIOS 解決。
  4. 0x1000 那一列最容易被誤讀成記憶體故障,但它講的是「韌體宣告的記憶體操作區域和作業系統的配置撞在一起」,換記憶體條沒用。

三個值得單獨拆開看的參數 1

0x11:系統無法進入 ACPI 模式。 這一類的細節在參數 2:0x1 找不到 RSDT、0x3 無法載入 RSDT、0x6 PM1 控制暫存器裡的 SCI_EN 一直沒有被設起來、0x7 表格的總和檢查碼不正確、0x9 不支援的韌體版本(此時參數 3 會給 FADT 版本)、0xA 找不到 MADT。看到 0x9 幾乎可以直接跳到「這片主機板的 FADT 版本 Windows 不吃」,更新 BIOS 是唯一路。

0x02:ACPI BIOS 無法處理 PCI 根匯流排的資源清單。 這一類的細節在參數 3:0x0/0x1 是韌體的資源清單編碼方式讓 ACPI 轉不成正確格式、0x2 是資源清單根本是空的、0x3 是在 _CRS 裡找不到目前的匯流排編號。官方對 0x0/0x1 的註解寫得很直白——「這大概代表 BIOS 的清單編碼程序有錯」。

0x10:系統與裝置的電源狀態對映不正確——這就是「睡眠喚醒才藍屏」的來源。 細節同樣在參數 3:0x0_PRx 對映回一個不支援的 S 狀態、0x1 是找不到能對應該 S 狀態的 D 狀態、0x2 是裝置宣稱自己能在某個 S 狀態下喚醒系統,但系統實際上根本不支援那個 S 狀態。三種都是韌體對「睡眠層級」的描述前後矛盾,所以問題不會在平常使用時出現,只會在系統真的要進出睡眠時炸開。

這一段就是本文和一般「0xA5 修復教學」最大的差別:多數文章只會叫你更新 BIOS,但參數 1 落在 0x10 還是 0x11,決定了你該先看主機板的睡眠選項、還是直接死心去刷韌體。

廣告

🛠️ 解決方案

⚠️ 執行前警語(高風險操作):下列方法二涉及主機板韌體刷寫,屬不可逆操作。開始之前請先備份硬碟資料、確認電源穩定(筆電請接上變壓器),並把目前 BIOS 設定逐頁拍照或抄錄——那份紀錄就是你之後唯一的還原基準。

⛔ 停止條件清單(符合任一項,請不要往下做)

– 不確定主機板的確切型號與版本(Rev.),或不確定目前的 BIOS 版本

– 尚未備份硬碟資料

– 已啟用 BitLocker 但手邊沒有修復金鑰

– 公司或學校管控的設備,未取得資訊人員授權

– 手上沒有可開機的救援 USB

– 電源不穩、正在使用不斷電系統以外的臨時供電,或筆電未接電源

– 進到 BIOS 後,畫面上的選單與主機板廠官方說明對不起來

方法一:先用 WinDbg 讀出參數 1,把不相容的類別定案

官方在 0xA5 頁面直接指定了偵錯工具的用法:用 !analyze -v 擴充命令,它會把「與這個特定錯誤相關的資料」全部列出來,包括裝置擴充與命名空間物件。

在 WinDbg 載入傾印檔後執行:

!analyze -v

-v 後面可以再帶 0 到 99 的數字提高詳細程度,不帶數字時預設等同 -v1;想看更完整的資訊可以用 -vv。若手邊沒有傾印檔、只抄到藍屏畫面上的參數,也可以用查詢模式把 bug check 的說明叫出來:

!analyze -show A5

-show 後面可以再接最多四個以空白分隔的 bug check 參數,用來進一步縮小範圍。注意 -show 只列在官方文件的核心模式語法區,需要在核心偵錯工作階段下執行(已載入核心傾印檔、或已連上核心目標);手上完全沒有傾印檔時未必叫得出來。

拿到參數 1 之後,對回上一節那張表歸類。這一步不能跳過——它決定了你接下來是先動 BIOS 設定,還是直接更新韌體。WinDbg 的環境設定與傾印檔判讀流程,可以參考〈BSOD 出現 WHEA_UNCORRECTABLE_ERROR?用 WinDbg 實戰分析〉的準備段落。

方法二:更新主機板 BIOS/UEFI 到最新版(官方第一順位解法)

官方在「Resolution」段的原話是:如果你不是在做偵錯,這個錯誤表示你必須取得一份新的 BIOS,請聯絡供應商或上網取得。這句話的份量要看清楚——它不是「建議試試看」,而是把更新韌體列為這個停止碼的標準處置。

實際操作以主機板廠官方工具為準,兩大台廠的官方流程原則如下:

華碩(ASUS EZ Flash 3)

  • 官方步驟第一項就是「更新 BIOS 版本前,請先備份所有硬碟資料」。
  • USB 隨身碟需為 FAT16/32 格式的單一磁區,建議 1GB 以上。
  • 到華碩下載中心輸入主機板型號,取得對應的 BIOS 檔並解壓縮,確認隨身碟根目錄有 .CAP 檔。
  • 開機出現 ASUS LOGO 時按 DEL 進入 BIOS,按 F7 切到進階模式,在 Tool 頁面選 ASUS EZ Flash 3。
  • 官方明文警告:更新 BIOS 時請勿關閉或重置系統,以免系統開機失敗。

微星(MSI M-FLASH)

  • 隨身碟格式化為 FAT32(格式化會清空隨身碟,先備份)。
  • 從官網搜尋主機板型號下載 BIOS,解壓後把整個資料夾複製到隨身碟根目錄;官方特別提醒不要放進子資料夾,以免讀不到。
  • 開機時連按 Delete 進入 BIOS,選 M-FLASH,挑到 BIOS 檔後開始更新。
  • 官方明文警告:更新過程中不要關機、斷電或拔除隨身碟
  • 更新完成後系統會自動重開,再進一次 BIOS 確認版本號確實變了。

⚠️ 兩家的工具名稱、進入路徑與支援機種都會隨世代改版(本節以華碩 EZ Flash 3 與微星 M-FLASH 的官方說明為準)。動手前請務必以「你手上這個型號」在原廠支援頁對應到的那一篇說明為準,不要拿別的型號的步驟硬套。

☠️ 風險天花板(請務必先看懂再動手):BIOS 更新中途斷電、或刷入型號不符的韌體,主機板可能直接無法開機。這種情況清 CMOS 通常救不回來——CMOS 存的是設定值,被寫壞的是韌體本體。此時只能靠主機板本身具備的 BIOS Flashback 按鈕或雙 BIOS 機制,兩者都沒有就得送修。動手前請先確認你這片板子有沒有這層保險。

方法三:載入 BIOS 預設值,再逐項回推電源管理設定

如果參數 1 落在 0x10(電源狀態對映)這一類,或你在藍屏之前剛好動過 BIOS 的省電、喚醒、休眠相關選項,先做這一步:

  1. 進入 BIOS,先把目前每一頁設定拍照存證
  2. 載入原廠預設值(華碩在 BIOS 畫面按 F5,官方 Q&A 中也把這一步列為「更新 BIOS 後系統不穩定」的標準處置)。
  3. F10 儲存並重開機。
  4. 若 0xA5 消失,再把你原本需要的設定一次加回一項,每加一項就完整測一輪睡眠與重開機,直到找出觸發的那一項。

這一步的價值在於它可逆、成本低,而且能把「韌體本身有 bug」與「某個設定組合踩到 bug」兩件事分開。

方法四(最後手段,且有明確代價):安裝期停用 ACPI 模式

官方寫明:如果你拿不到更新的 BIOS,或最新的 BIOS 仍然不符 ACPI 規範,可以在文字模式安裝階段關閉 ACPI 模式——在提示安裝儲存裝置驅動程式時按 F7;系統不會給任何提示告訴你按鍵已生效,但它會靜默停用 ACPI 並讓安裝繼續。

兩件事要誠實講清楚:

  • 代價很實際。 停用 ACPI 等於放棄由 ACPI 統一管理的那一整層——睡眠與休眠、電源按鈕行為、部分中斷繞送與裝置電源管理都會受影響。這是「先讓系統裝得起來」的權宜手段,不是修好。
  • 現代機器上不一定找得到那個按鍵時機。 官方這段敘述寫的是文字模式安裝(text-mode setup)的操作,那是較早世代的安裝介面;在現行 Windows 10/11 的 UEFI 安裝流程中,未必會出現「提示安裝儲存裝置驅動程式」這個節點。因此實務上請把方法二當主線,方法四只在舊平台、且確認官方已無新 BIOS 可用時才考慮。

✅ 驗證修復結果

改完之後,別只靠「這次開機沒藍屏」下結論。0xA5 常常只在特定時機出現,要用對的動作去踩它:

  • 回 BIOS 確認版本號真的變了。 微星官方流程把「更新完成後再進一次 BIOS 確認版本已更新」明列為收尾動作;華碩 EZ Flash 3 的官方說明沒有這一步(它的最後一步是更新完成後自動重開機),但仍建議你自己進 BIOS 核對一次版本號。
  • 針對症狀重現路徑各測 3 次:原本是安裝時炸,就重跑一次完整安裝流程;原本是喚醒時炸,就完整做 3 次睡眠→喚醒、3 次休眠→喚醒。
  • 檢查系統紀錄有沒有新的 BugCheck 事件——沒有新增,才代表這幾次是真的沒有觸發,而不是你剛好沒踩到。
  • 如果還有留下傾印檔,再跑一次 !analyze -v,確認新的傾印不是同一組 0xA5 參數。若參數 1 換了一個值,那是另一類不相容,要重新歸類。

🔙 萬一翻車:回退步驟

情境一:BIOS 更新成功,但系統反而變得不穩定

先載入 BIOS 預設值:進 BIOS 按 F5(華碩官方 Q&A 對「更新完 BIOS 後系統不穩或當機」給的就是這一招),再按 F10 儲存離開。若原本有必要的自訂設定,依方法三的節奏一次加回一項。

情境二:改了 BIOS 設定之後開不了機

拿出你在動手前拍的設定照片,逐項改回你自己記錄的原值

⚠️ 這裡有個常見的錯誤:憑印象把選項填成「應該是 Enabled 吧」。各主機板廠、各 BIOS 版次的原廠預設值並不一樣,同一個功能在不同版次可能預設開、也可能預設關,消費級板與工作站板的差異尤其大。沒有紀錄就不要猜——直接載入原廠預設值(F5F10),那才是有定義的狀態。

情境三:BIOS 刷寫中斷,主機板無法開機

停止一切自行嘗試。 確認這片主機板是否具備 BIOS Flashback 按鈕或雙 BIOS 晶片,有的話依主機板廠官方手冊操作;沒有的話請送修或聯絡主機板廠。清 CMOS 對「韌體被寫壞」無效——它清的是設定值,不是韌體本體。

備份提醒:上述三個情境的回退能不能成立,取決於你有沒有在動手前做兩件事——備份硬碟資料(華碩官方步驟第一項),以及把 BIOS 設定逐頁拍照。這兩件事花不到十分鐘,卻是唯一能把「改壞了」變回「改回去」的東西。


💡 總結:預防再次發生

站長我處理過的 0xA5 案例裡,有一個共同的味道:它幾乎都出現在「新舊落差」的接縫上——舊主機板裝新版 Windows、老平台換上新的 NVMe 或擴充卡、或是一片出廠 BIOS 從沒更新過的板子。ACPI 表格是主機板廠在出貨時寫死的,而作業系統會一直往前走;落差夠大時,韌體那份契約就開始對不上。

三個實務上真的有用的預防動作:

  • 裝新系統前,先去主機板廠的支援頁看一次 BIOS 更新說明。 廠商的版本說明裡若出現 ACPI、power management、S3/S4、wake 這類字眼,那就是為你這種情境修的。
  • 舊主機板要裝新版 Windows,把更新 BIOS 排在第一步,而不是出事後才做。 這是成本最低的順序。
  • 不要為了保住某個跑分設定而停在舊 BIOS。 韌體層的相容性修正很少會被回頭移植到舊版次。

最後一個觀念:0xA5 是少數「可以相當肯定不是驅動程式的錯」的停止碼。當你看到它,方向就已經給定了——往韌體查,不要在驅動程式裡繞。這一點和 DRIVER_POWER_STATE_FAILURE(0x9F)剛好相反,後者要找的是沒有及時完成電源 IRP 的那支驅動程式;兩者雖然都常在睡眠喚醒時出現,但排查路線完全不同(對照〈電腦睡一睡、關機就藍屏?DRIVER_POWER_STATE_FAILURE(0x9F)先揪出這支驅動程式〉)。


❓ 常見問題

Q:0xA5 是不是一定要更新 BIOS?

以官方立場來說,是的,而且官方在那一段沒有給任何以參數 1 為條件的例外。Microsoft 在 Bug Check 0xA5 的處置段直接寫「你必須取得一份新的 BIOS」,官方唯一提到的替代路徑是「拿不到合規 BIOS 時,於文字模式安裝階段按 F7 停用 ACPI」——那是權宜手段,不是修好。至於本文方法三的「先載入 BIOS 預設值」,那是站長建議的低成本先行測試(用來分辨究竟是韌體本身有 bug,還是某個設定組合踩到 bug),不是官方列的例外;只要主機板廠有更新版韌體,更新它永遠是正解。

Q:安裝 Windows 時就跳 ACPI_BIOS_ERROR,連系統都進不去,怎麼辦?

在另一台電腦上到主機板廠官網下載最新 BIOS,用主機板內建的韌體更新工具(華碩 EZ Flash 3、微星 M-FLASH)直接在 BIOS 環境裡更新——這類工具的設計本來就是不必進作業系統。更新完成後載入預設值再重新安裝。官方另有「安裝時按 F7 停用 ACPI」的最後手段,但那屬於文字模式安裝時代的作法,現代 UEFI 安裝流程未必有那個提示點。

Q:平常用都好好的,只有睡眠喚醒後才跳,也是 BIOS 的問題嗎?

大機率是,而且官方參數表直接支持這個判斷:參數 1 為 0x10 那一組講的就是「系統與裝置的電源狀態對映不正確」,包含 _PRx 對映回不支援的 S 狀態、找不到對應的 D 狀態,以及裝置宣稱能在某個 S 狀態喚醒系統、但系統實際不支援。這些描述全部落在韌體對睡眠層級的宣告上,所以只有在真的進出睡眠時才會爆。

Q:這個碼跟其他驅動類藍屏差在哪?我要不要先跑 Driver Verifier?

不要先跑。Driver Verifier 是用來壓測驅動程式的,而 0xA5 的定義從一開始就把責任指向韌體;拿它去驗驅動,大機率只會多換來一次無關的藍屏。順序應該是:先用 !analyze -v 讀參數 1 歸類 → 更新 BIOS → 若換了新 BIOS 仍重現,才回頭考慮其他方向。


🔗 延伸閱讀


📎 參考資料來源

📖 第一級|廠商官方與標準組織:

⚠️ 本文核心事實(停止碼定義、參數語意、官方處置順序)以第一級來源為準;主機板更新步驟以各廠官方說明為準,不同型號的選單位置可能不同。

📅 本文查證戳記:2026-08-01 依據 Microsoft 官方 Bug Check 0xA5 文件、UEFI Forum ACPI 規範頁與華碩、微星官方 BIOS 更新說明整理,全文為官方文件交叉查證(E3),非第一手實測。

若你在後續 BIOS 版次或 Windows 版本遇到步驟失效,歡迎在留言區回報,站長會更新文章。


廣告