PCIe 拡張カードを挿すと BIOS 前でカーソル点滅のまま固まるときの切り分け

PCIe 拡張カードを挿すと BIOS 前でカーソル点滅のまま止まり、システムに入れない場合の切り分け手順を整理します。接続機器の切り離し、CSM の無効化、Option ROM の無効化、PCIe Gen2 固定、Above 4G Decoding、有効なスロット変更を扱います。

PCIe 拡張カードを挿したあと、BIOS 画面にすら入れず、黒画面やマザーボード起動前のカーソル点滅で止まる場合、これは通常 Linux ドライバの問題ではありません。もっと早い段階のハードウェアレベルのフリーズです。

この段階では OS はまだ読み込まれていないため、pci=nomsipcie_aspm=off のような Linux カーネルパラメータは効きません。問題は POST、つまり電源投入時自己診断の段階で起きています。よくある停止点は PCIe link training、PCIe リソース割り当て、Option ROM の読み込み、Legacy / UEFI 互換性衝突、または拡張カード本体の異常です。

つまり、BIOS にすら入れないなら、まず Linux を直そうとするのではなく、マザーボードが POST を完了できる状態に戻す必要があります。

この故障が意味すること

通常の起動では、マザーボードは PCIe デバイスをスキャンし、bus、I/O、MMIO などのリソースを割り当て、デバイスが持つ Option ROM を読み込むか判断します。一部の SATA 拡張カード、HBA、NIC、キャプチャカード、変換カードは、起動サポートやデバイス初期化用のファームウェアを持っており、マザーボードファームウェアがそれを読もうとすることがあります。

拡張カード、マザーボード BIOS、PCIe スロット、電源、接続機器、Option ROM のどこかが合わないと、マザーボードの自己診断段階で止まることがあります。典型的な症状は次のとおりです。

  • 黒画面でカーソルだけが点滅する。
  • マザーボードロゴの前後で止まる。
  • DelF2F11F12 を押しても BIOS やブートメニューに入れない。
  • PCIe 拡張カードを抜くとすべて正常になる。
  • 元の NVMe、GPU、NIC に戻すと起動できる。

これは、マザーボードが OS に制御を渡す前に、そのカードで止められている状態だと理解できます。

どの PCIe 拡張カードで起きやすいか

この POST フリーズは JMB585 SATA 拡張カードだけの問題ではありません。起動時にマザーボードが初期化、リソース割り当て、Option ROM 読み込みを行う PCIe デバイスなら、同様の問題を起こす可能性があります。

よくある対象は次のようなものです。

  • JMB585、ASM1166 などの PCIe SATA 拡張カード。
  • LSI / Broadcom HBA や RAID カード。
  • 2.5G、10G、銅線または光の NIC。
  • PCIe to M.2 / U.2 / SATA 変換カード。
  • ビデオキャプチャカード。
  • USB 3.x 拡張カード。
  • Option ROM を持つ古い GPU、古い RAID カード、サーバー取り外し品。
  • 作りが粗い、ファームウェア改造、EEPROM 異常のある安価な PCIe カード。

これらは必ずしも「壊れている」とは限りません。現在のマザーボード BIOS、スロット配線、PCIe 速度、起動モード、アドレスリソース割り当てと相性が悪いだけのこともあります。

まだ OS に入っていないので Linux カーネルパラメータは無効

pci=nomsipcie_aspm=offlibata.force は Linux カーネル起動パラメータです。カーネルが読み込まれてから初めて有効になります。

BIOS 前のカーソル点滅、マザーボードロゴ前の停止、キーを押しても BIOS に入れない状態は、まだ POST 段階です。実行されているのはマザーボードファームウェアであり、Linux カーネルではありません。Linux が開始していないので、これらのパラメータを読む機会もありません。

この種の障害では、まず /etc/default/grub を編集するのではなく、次を確認します。

  • BIOS / UEFI 起動モード。
  • CSM / Legacy 互換レイヤー。
  • PCIe Option ROM。
  • PCIe link training。
  • PCIe アドレス空間とリソース割り当て。
  • 拡張カード、スロット、電源、接続機器。

第 1 ステップ:拡張カードに接続された機器を外す

まず低リスクの切り分けをします。PCIe 拡張カードはマザーボードに挿したまま、SATA ケーブル、外部接続ケーブル、ディスク電源など、カードに接続された機器を外します。カード単体だけを挿した状態にします。

その状態で起動して確認します。

  • ディスクや機器を外すと BIOS に入れる場合、拡張カード本体がマザーボードを固めている可能性は低く、特定のディスク、ケーブル、電源、ブートデバイス認識が原因かもしれません。
  • それでも固まる場合、拡張カードとマザーボード PCIe / BIOS の相性問題である可能性が高くなります。

ディスクが POST フリーズの原因になることもあります。たとえば:

  • ディスクのブートセクタやパーティションテーブルが壊れていて、BIOS がブートディスクと誤認し、読み込みで固まる。
  • 複数の HDD が同時にスピンアップし、瞬間電流が足りない。
  • SATA ケーブルの接触が悪く、コントローラ初期化がタイムアウトする。
  • ディスク自体の健康状態が悪く、初期化全体を遅らせる。

ディスクを外すと起動できる場合は、1 台ずつ戻して、どのディスクまたはケーブルが問題を起こしているか確認します。

第 2 ステップ:カードを抜いて 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、NIC、SATA 拡張カードは、OS 起動前にデバイスを認識したり、そのカードから起動したりするための Option ROM を提供することがあります。

問題は、Option ROM が BIOS 実装に強く依存することです。古い、改造された、壊れた、または特定のサーバーマザーボードだけで試された Option ROM では、現代のコンシューマーマザーボードが CSM / Legacy モードで読み込もうとしたとき、初期化ループ、黒画面、カーソル点滅、キーボード無反応を起こすことがあります。

CSM を無効化し、Storage OpROM を無効化する目的は、起動前にそのカード自身の起動ファームウェアを実行しないようにすることです。システムディスクがその拡張カードに接続されていないなら、多くの NAS やデータディスク用途ではカードから起動する必要はありません。Linux / Windows 起動後に認識させるほうが安定しやすいです。

手順:

  1. 電源を切り、PCIe 拡張カードを抜く。
  2. 元の GPU、iGPU、または既存の起動ディスクで起動し、BIOS に入る。
  3. CSMCompatibility Support ModuleLegacy Boot を探す。
  4. CSM を Disabled にする。
  5. 可能なら起動モードを UEFI Only にする。
  6. BIOS 設定を保存して電源を切る。
  7. PCIe 拡張カードを挿し直してテストする。

CSM を無効化して POST を通過できるようになった場合、Legacy Option ROM または起動互換レイヤーの衝突が原因だった可能性が高いです。

第 3 ステップ: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 デバイスとして OS に認識させるという意味です。

システムディスクがこのカードに接続されておらず、データディスク、NAS ディスク、倉庫用ディスク、NIC、キャプチャデバイスとして使うだけなら、通常そのカードから起動する必要はありません。Option ROM を無効化したほうが安定することがあります。

第 4 ステップ:PCIe 速度を Gen2 または Gen1 に固定する

多くのカードは PCIe Gen3 をうたっていますが、マザーボード、変換カード、ケーブル、スロット、拡張カードの品質が十分でないと、PCIe link training が Gen3 でまとまらず、マザーボードがデバイス初期化待ちのまま止まることがあります。

PCIe デバイスを挿すと、マザーボードとデバイスは x1、x2、x4 などのリンク幅と、Gen1、Gen2、Gen3 などの速度を協調します。この過程を Link Training と呼びます。

デバイス、スロット、変換カード、マザーボード配線、電源が不安定だと、高速な設定で協調できないことがあります。よくある症状は次のとおりです。

  • カードを挿すと BIOS 前で黒画面またはカーソル点滅。
  • マザーボードロゴで長く止まり、キー入力が効かない。
  • 起動できることもあれば、完全に固まることもある。
  • PCIe Gen2 に固定すると安定する。
  • 別スロットに移すと安定する。
  • 同じカードが短いスロットやチップセット側では使えるが、CPU 直結の長いスロットでは不安定、またはその逆。

これは OS レベルの「ディスク脱落」ではありません。マザーボードとデバイスがまだ PCIe リンク初期化を完了できていない状態です。Gen2 / Gen1 に固定する目的は、信号速度を下げ、理論帯域を少し犠牲にして安定起動を得ることです。

手順:

  1. PCIe 拡張カードを抜く。
  2. BIOS に入る。
  3. 対象スロットの速度設定を探す。例:PCIe SpeedPCIe Link SpeedMax Link Speed
  4. Auto または Gen3Gen2 に変更する。
  5. Gen2 でも不安定なら Gen1 を試す。
  6. 保存して電源を切り、カードを挿し直してテストする。

SATA HDD では Gen2 x1 または Gen2 x2 でも十分なことが多いです。安定性を優先するなら Gen3 にこだわる必要はありません。

BIOS に PCIe 速度設定がない場合に限り、物理的に速度を落とす方法を検討します。金指の一部ピンを絶縁テープで覆い、x1 モードへ落として、2 本目の PCIe lane や高周波信号品質が原因か確認する方法があります。ただし貼る位置を間違えやすく、接触不良も起こしやすいため、最初の選択肢にはしないほうがよいです。まず BIOS で速度を落とします。

第 5 ステップ:Above 4G Decoding を有効化する

マザーボード上に NVMe、GPU、無線カード、HBA、キャプチャカード、複数の PCIe デバイスがある場合、BIOS は POST 段階でアドレス空間と MMIO リソースを割り当てます。古いマザーボードや保守的な BIOS では、リソース不足やアドレス衝突で止まることがあります。

次を有効化してみます。

1
Above 4G Decoding

場所は BIOS の AdvancedPCIe SettingsPCI Subsystem SettingsChipset などにあることが多いです。

これは PCIe デバイスが 4GB より上のアドレス空間を使えるようにし、複数デバイス環境のリソース割り当て問題を緩和します。GPU パススルー、マイニングカード、HBA、多 PCIe 構成でよく言及されますが、SATA 拡張カードの POST フリーズでも試す価値があります。

第 6 ステップ:PCIe スロットを変える

ひとつのスロットだけで試し続けないほうがよいです。PCIe スロットごとに背後のレーン元が違うことがあります。

  • CPU に近い長いスロットは、通常 CPU 直結で GPU 用です。
  • 一部の短いスロットや 2 本目の長いスロットは、チップセット 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. 対象スロットを Gen2 に固定し、だめなら Gen1 を試す。
  7. 保存して電源を切り、PCIe 拡張カードを挿し直してテストする。
  8. POST を通過できたら、ディスクや機器を 1 つずつ戻す。

この手順は、もっとも多い 2 つの原因、Legacy / Option ROM 衝突と PCIe Gen3 link training の相性問題を優先して処理します。

カード故障かマザーボード相性かを判断する

上記をすべて試してもカーソル点滅で止まる場合は、次の 2 つで交差検証します。

  • 同じ拡張カードを別の PC に挿して試す。
  • 正常動作が確認できている同種の PCIe 拡張カードを現在のマザーボードに挿して試す。

判断の目安は次のとおりです。

  • 同じカードが複数の PC で一挿しで固まる:カード本体のハードウェアまたはファームウェア問題の可能性が高い。
  • このカードは現在のマザーボードだけで固まり、別 PC では正常:マザーボード BIOS、スロット配線、PCIe 速度、リソース割り当ての相性問題の可能性が高い。
  • 現在のマザーボードで他の同種カードは正常:元のカードが怪しい。
  • 現在のマザーボードで他の PCIe デバイスも不安定:スロット、電源、BIOS 設定、PCIe レーン共有を疑う。

同じカードが複数の PC で固まり、他のカードは現在のマザーボードで正常なら、次を疑います。

  • 拡張カードの EEPROM / Option ROM データ破損。
  • 拡張カードのショートまたは電源異常。
  • 金指、はんだ、クロック、電源チップのハードウェア問題。
  • 複数のマザーボード BIOS と相性が悪いファームウェア。

特定の 1 枚のマザーボードだけで固まるなら、BIOS、スロットレーン、PCIe 速度、CSM、リソース割り当ての問題である可能性が高いです。

OS パラメータを BIOS 段階の解決策にしない

繰り返しますが、Linux に入っていない限り、pci=nomsipcie_aspm=offlibata.force のようなカーネルパラメータは効きません。

これらは OS がハードウェアを引き継いだ後の問題、たとえば Linux 上のディスク脱落、割り込み異常、PCIe ASPM 復帰失敗を扱うものです。BIOS 前のカーソル点滅や POST 段階のフリーズでは、実行される機会がありません。

この種の問題で見るべきなのは次です。

  • BIOS 設定。
  • PCIe link training。
  • Option ROM。
  • スロットとリソース割り当て。
  • 拡張カードと接続機器の物理状態。

まとめ

PCIe 拡張カードを挿すと BIOS 前でカーソル点滅のまま止まる場合、本質的には POST 段階で止まっています。よく効く切り口は次です。

  • 接続機器をすべて外し、ディスクや電源の誘因を除外する。
  • CSM を無効化し、純 UEFI にする。
  • Storage / PCIe Option ROM を無効化する。
  • PCIe 速度を Auto / Gen3 から Gen2 または Gen1 へ下げる。
  • Above 4G Decoding を有効化する。
  • 別の PCIe スロットを試す。

これらがすべて無効で、そのカードが他の PC でも固まるなら、拡張カード本体のハードウェアまたはファームウェア破損を強く疑います。NAS やストレージサーバーでは、見た目のスペックより安定性が重要です。POST レベルのフリーズでは、まずマザーボードが安定して自己診断を通過できるようにし、その後で Linux のカーネルパラメータやドライバを切り分けます。

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。