PCIe 擴展卡插上後 BIOS 前光標閃爍卡死,該怎麼排查

整理 PCIe 擴展卡插上後主板卡在 BIOS 前光標閃爍、無法進入系統時的排查步驟,包括斷開外接設備、關閉 CSM、禁用 Option ROM、強制 PCIe Gen2、開啟 Above 4G Decoding 和更換插槽。

如果 PCIe 擴展卡插上後,機器連 BIOS 介面都進不去,只停在黑屏或主板啟動前的光標閃爍畫面,這通常不是 Linux 驅動問題,而是更早階段的硬體級卡死。

這個階段作業系統還沒有載入,所以 pci=nomsipcie_aspm=off 這類 Linux 核心參數完全幫不上忙。問題發生在 POST(加電自檢)階段,常見卡點包括 PCIe 鏈路訓練、PCIe 資源分配、Option ROM 載入、Legacy / UEFI 相容性衝突,或者擴展卡本身異常。

換句話說:如果連 BIOS 都進不去,先不要急著改 Linux。要先讓主板能完成自檢。

先理解這個故障意味著什麼

正常開機時,主板會掃描 PCIe 設備,給設備分配 bus、I/O、MMIO 等資源,並決定是否載入設備自帶的 Option ROM。某些 SATA 擴展卡、HBA、網卡、採集卡或轉接卡會帶有用於啟動支援或設備初始化的韌體,主板韌體可能會嘗試讀取它。

如果擴展卡、主板 BIOS、PCIe 插槽、電源、外接設備或 Option ROM 其中某一環不相容,就可能卡在主板自檢階段。典型表現是:

  • 黑屏,只剩光標閃爍。
  • 卡在主板 Logo 前後。
  • DelF2F11F12 無法進入 BIOS 或啟動選單。
  • 拔掉這張 PCIe 擴展卡後一切正常。
  • 換回原來的 NVMe、顯卡、網卡後都能啟動。

這種情況可以理解為「主板還沒來得及把控制權交給系統,就已經被這張卡卡住了」。

哪些 PCIe 擴展卡容易觸發這個問題

這類 POST 卡死不只會出現在 JMB585 SATA 擴展卡上。凡是需要主板在開機階段初始化、分配資源或載入 Option ROM 的 PCIe 設備,都可能觸發類似問題。

比較常見的設備包括:

  • JMB585、ASM1166 等 PCIe SATA 擴展卡。
  • LSI / Broadcom HBA 或陣列卡。
  • 2.5G、10G、萬兆電口或光口網卡。
  • PCIe 轉 M.2 / U.2 / SATA 轉接卡。
  • 視訊採集卡。
  • USB 3.x 擴展卡。
  • 帶 Option ROM 的老顯卡、老 RAID 卡或伺服器拆機卡。
  • 做工一般、韌體魔改、EEPROM 異常的廉價 PCIe 卡。

這些設備的問題不一定是「壞了」,也可能只是和目前主板 BIOS、插槽通道、PCIe 速率、啟動模式或地址資源分配不相容。

為什麼還沒進系統,Linux 核心參數無效

pci=nomsipcie_aspm=offlibata.force 這類參數都屬於 Linux 核心啟動參數。它們必須等核心載入後才會生效。

而 BIOS 前光標閃爍、主板 Logo 前卡死、按鍵進不了 BIOS,說明系統還停在 POST 階段。此時運行的是主板韌體,不是 Linux 核心。換句話說,Linux 還沒開始執行,自然也沒有機會讀取這些參數。

所以這類故障的排查重點不是先改 /etc/default/grub,而是先處理:

  • BIOS / UEFI 啟動模式。
  • CSM / Legacy 相容層。
  • PCIe Option ROM。
  • PCIe 鏈路訓練。
  • PCIe 地址空間和資源分配。
  • 擴展卡、插槽、供電和外接設備。

第一步:拔掉擴展卡上的外接設備

先做最低風險的排查:只保留 PCIe 擴展卡插在主板上,把接在擴展卡上的 SATA 資料線、外接設備線纜或硬碟供電先斷開,讓這張卡處於「不掛設備」的狀態。

然後開機測試:

  • 如果拔掉硬碟或設備後能進 BIOS,說明擴展卡本身大概率沒有把主板卡死,問題可能在某塊硬碟、線材、供電或啟動盤識別上。
  • 如果仍然卡死,說明問題更可能在擴展卡和主板 PCIe / BIOS 相容性上。

為什麼硬碟也可能導致 POST 卡死?有幾種常見原因:

  • 某塊硬碟的引導扇區或分區表異常,主板 BIOS 誤判為啟動盤後讀取卡死。
  • 多塊機械碟同時上電,電源瞬時電流不足,導致 SATA 控制器或硬碟異常。
  • 某根 SATA 線接觸不良,導致控制器初始化階段等待超時。
  • 某塊硬碟本身健康狀態很差,拖慢整條初始化流程。

如果拔盤後能啟動,可以再一塊一塊接回硬碟,找到具體是哪塊盤或哪根線觸發問題。

第二步:拔卡進 BIOS,關閉 CSM

很多 PCIe 擴展卡卡在 POST 階段,和 CSM / Legacy 啟動相容層有關。

CSM 是 Compatibility Support Module,用來讓 UEFI 主板相容舊式 Legacy 啟動。問題在於,一些廉價 SATA 擴展卡或魔改卡可能帶有老舊 Option ROM。主板在 CSM 模式下會嘗試載入這些舊式啟動韌體,結果和現代 UEFI 韌體發生衝突。

CSM 和 Option ROM 為什麼會卡住 POST

POST 階段主板會枚舉 PCIe 設備,並判斷這些設備是否帶有可啟動韌體。很多老式存儲卡、RAID 卡、HBA、網卡和 SATA 擴展卡會提供 Option ROM,用來讓主板在作業系統啟動前識別設備,甚至支援從這張卡啟動。

問題是,Option ROM 往往很依賴 BIOS 實作。有些擴展卡的 Option ROM 老舊、魔改、損壞,或者只在特定伺服器主板上測試過。現代消費級主板在 CSM / Legacy 模式下嘗試載入它時,就可能出現初始化死循環、黑屏、光標閃爍或鍵盤無響應。

關閉 CSM、禁用 Storage OpROM 的目的,就是讓主板不要在啟動前嘗試執行這張卡自己的啟動韌體。只要系統盤不接在這張擴展卡上,多數 NAS 和資料盤場景並不需要從擴展卡啟動,交給 Linux / Windows 進入系統後再識別通常更穩。

操作步驟:

  1. 關機斷電,拔掉這張 PCIe 擴展卡。
  2. 使用主板原有顯卡、核顯或已有啟動盤開機,進入 BIOS。
  3. 找到 CSMCompatibility Support ModuleLegacy Boot 相關選項。
  4. 將 CSM 設置為 Disabled
  5. 啟動模式盡量改成 UEFI Only
  6. 保存 BIOS 設置並關機。
  7. 重新插上 PCIe 擴展卡測試。

如果關閉 CSM 後能正常過 POST,說明之前大概率是 Legacy Option ROM 或啟動相容層衝突。

第三步:禁用 PCIe / Storage Option ROM

有些 BIOS 會提供更細的 Option ROM 控制項,例如:

  • PCIe Option ROM
  • Storage OpROM
  • Mass Storage Controller Option ROM
  • Launch Storage OpROM Policy
  • Option ROM Messages

如果能找到類似選項,可以把擴展卡所在插槽或存儲控制器相關 Option ROM 設置為:

1
Disabled

或:

1
Do Not Launch

這樣做的意思是:不要嘗試從這張擴展卡載入啟動韌體,只把它當成普通 PCIe 設備交給作業系統識別。

如果你的系統盤不接在這張擴展卡上,而只是用它掛資料盤、NAS 盤、倉庫盤、網卡或採集設備,那麼通常不需要從這張卡啟動。禁用它的 Option ROM 反而更穩。

第四步:強制 PCIe 速率為 Gen2 或 Gen1

很多卡標稱走 PCIe Gen3,但主板、轉接卡、線材、槽位和擴展卡做工不夠好時,PCIe 鏈路訓練可能在 Gen3 階段談不攏,主板就會卡在等待設備完成初始化的階段。

PCIe Gen3 鏈路訓練失敗是什麼表現

PCIe 設備插上後,主板和設備會協商鏈路寬度和速率,例如 x1、x2、x4,以及 Gen1、Gen2、Gen3。這個過程叫 Link Training。

如果設備、插槽、轉接卡、主板走線或供電不穩定,雙方可能在較高速率上無法完成協商。常見表現是:

  • 插卡後卡在 BIOS 前黑屏或光標閃爍。
  • 主板 Logo 停很久,按鍵無響應。
  • 偶爾能啟動,偶爾完全卡死。
  • 強制 PCIe Gen2 後恢復正常。
  • 換到另一個槽位後恢復正常。
  • 同一張卡在短槽、芯片組槽上能用,在 CPU 直連大槽上不穩定,或反過來。

這不是作業系統層面的「掉盤」,而是主板和設備還沒完成 PCIe 鏈路初始化。強制 Gen2 / Gen1 的目的,是降低訊號速率,犧牲一點理論帶寬換穩定啟動。

更穩妥的做法是先讓它降速:

  1. 拔掉這張 PCIe 擴展卡。
  2. 進入 BIOS。
  3. 找到對應 PCIe 插槽的速率設置,例如 PCIe SpeedPCIe Link SpeedMax Link Speed
  4. AutoGen3 改成 Gen2
  5. 如果 Gen2 仍不穩定,再嘗試 Gen1
  6. 保存關機,重新插卡測試。

對 SATA 機械碟來說,Gen2 x1 或 Gen2 x2 通常已經夠用。穩定性優先時,不必執著 Gen3。

如果 BIOS 沒有提供 PCIe 速率設置,才考慮物理降速方案。有人會通過給擴展卡金手指部分引腳貼絕緣膠帶,讓卡退回 x1 模式,以此驗證是否是第二條 PCIe lane 或高頻訊號品質導致卡死。這種方法有風險,容易貼錯位置或造成接觸問題,不建議作為第一選擇。優先用 BIOS 降速。

第五步:開啟 Above 4G Decoding

如果主板上同時有 NVMe、顯卡、無線網卡、HBA、採集卡或多個 PCIe 設備,BIOS 在 POST 階段需要給它們分配地址空間和 MMIO 資源。老主板或資源分配策略比較保守的 BIOS,可能因為資源不足或地址衝突卡住。

可以嘗試開啟:

1
Above 4G Decoding

常見位置在 BIOS 的 AdvancedPCIe SettingsPCI Subsystem SettingsChipset 或類似選單下。

它的作用是允許 PCIe 設備使用 4GB 以上的地址空間,有助於緩解多設備環境下的資源分配問題。雖然這個選項常被顯卡直通、礦卡、HBA 和多 PCIe 設備場景提到,但對某些 SATA 擴展卡卡 POST 的情況也值得嘗試。

第六步:換 PCIe 插槽

不要只在一個槽位上反覆試。不同 PCIe 插槽背後的通道來源可能不同:

  • 靠近 CPU 的長槽通常是 CPU 直連,優先給顯卡使用。
  • 一些短槽或第二條長槽可能來自芯片組 PCH。
  • 某些槽會和 NVMe、SATA、Wi-Fi 或其他設備共享通道。

如果擴展卡插在 CPU 直連大槽上卡死,可以嘗試插到芯片組引出的短槽或帶寬較低的槽上。反過來也一樣,如果 PCH 槽不穩定,也可以試試其他槽位。

同時建議查看主板說明書,確認是否存在「插了某個 M.2 後某個 PCIe 槽失效」之類的共享規則。

推薦的高效排查順序

如果你想盡快恢復啟動,可以按這個順序來:

  1. 拔掉擴展卡上所有外接設備,例如 SATA 硬碟、U.2 盤、外接線纜,只留卡本體測試。
  2. 如果仍卡死,拔卡進入 BIOS。
  3. 關閉 CSM,切到 UEFI Only
  4. 禁用 Storage OpROM 或相關 PCIe Option ROM。
  5. 開啟 Above 4G Decoding
  6. 把對應 PCIe 插槽強制改成 Gen2,不行再試 Gen1
  7. 保存關機,重新插上 PCIe 擴展卡測試。
  8. 如果能過 POST,再逐塊接回硬碟或設備。

這套路徑優先處理最常見的兩類問題:Legacy / Option ROM 衝突,以及 PCIe Gen3 鏈路訓練不相容。

如何判斷是卡壞了還是主板相容性問題

如果做完上面步驟仍然卡在光標閃爍,還可以做兩個交叉驗證:

  • 把這張擴展卡插到另一台電腦上測試。
  • 換一張確認正常的同類 PCIe 擴展卡插到目前主板上測試。

判斷邏輯可以這樣看:

  • 同一張卡在多台電腦上一插就卡死:更像擴展卡本身有硬體或韌體問題。
  • 這張卡只在目前主板卡死,換電腦正常:更像主板 BIOS、插槽通道、PCIe 速率或資源分配相容性問題。
  • 目前主板換其他同類擴展卡正常:更支持原卡異常。
  • 目前主板換其他 PCIe 設備也不穩定:要懷疑主板插槽、供電、BIOS 設置或 PCIe 通道共享問題。

如果這張卡在多台電腦上一插就卡死,而其他擴展卡在目前主板正常,基本可以懷疑:

  • 擴展卡 EEPROM / Option ROM 資料損壞。
  • 擴展卡存在短路或供電異常。
  • 金手指、焊點、晶振或電源晶片有硬體問題。
  • 卡的韌體和多個主板 BIOS 都不相容。

如果它只在某一台主板上卡死,則更可能是主板 BIOS、插槽通道、PCIe 速率、CSM 或資源分配問題。

不要把系統參數當成 BIOS 階段解法

需要特別強調:只要機器還沒進入 Linux,pci=nomsipcie_aspm=offlibata.force 這類核心參數都不會生效。

這些參數只能處理作業系統接管硬體之後的問題,例如 Linux 下掉盤、中斷異常、PCIe ASPM 喚醒失敗等。對於 BIOS 前光標閃爍、POST 階段卡死,它們沒有機會執行。

所以這類問題的排障重點是:

  • BIOS 設置。
  • PCIe 鏈路訓練。
  • Option ROM。
  • 插槽和資源分配。
  • 擴展卡和外接設備的物理狀態。

小結

PCIe 擴展卡插上後卡在 BIOS 前光標閃爍,本質上是 POST 階段就被卡住。最常見的突破口是:

  • 斷開所有外接設備,排除硬碟或供電誘因。
  • 關閉 CSM,切換到純 UEFI。
  • 禁用 Storage / PCIe Option ROM。
  • 將 PCIe 速率從 Auto / Gen3 降到 Gen2 或 Gen1。
  • 開啟 Above 4G Decoding。
  • 更換 PCIe 插槽測試。

如果這些都無效,並且這張卡在其他電腦上也會卡死,就要高度懷疑擴展卡本身硬體或韌體損壞。對 NAS 和存儲伺服器來說,穩定性比參數漂亮更重要。遇到這類 POST 級卡死,優先讓主板能穩定過自檢,再談 Linux 裡的核心參數和驅動排查。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計