PCIe 拡張カードを挿したあと、BIOS 画面にすら入れず、黒画面やマザーボード起動前のカーソル点滅で止まる場合、これは通常 Linux ドライバの問題ではありません。もっと早い段階のハードウェアレベルのフリーズです。
この段階では OS はまだ読み込まれていないため、pci=nomsi や pcie_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 のどこかが合わないと、マザーボードの自己診断段階で止まることがあります。典型的な症状は次のとおりです。
- 黒画面でカーソルだけが点滅する。
- マザーボードロゴの前後で止まる。
Del、F2、F11、F12を押しても 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=nomsi、pcie_aspm=off、libata.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 起動後に認識させるほうが安定しやすいです。
手順:
- 電源を切り、PCIe 拡張カードを抜く。
- 元の GPU、iGPU、または既存の起動ディスクで起動し、BIOS に入る。
CSM、Compatibility Support Module、Legacy Bootを探す。- CSM を
Disabledにする。 - 可能なら起動モードを
UEFI Onlyにする。 - BIOS 設定を保存して電源を切る。
- PCIe 拡張カードを挿し直してテストする。
CSM を無効化して POST を通過できるようになった場合、Legacy Option ROM または起動互換レイヤーの衝突が原因だった可能性が高いです。
第 3 ステップ:PCIe / Storage Option ROM を無効化する
一部の BIOS には、より細かい Option ROM 制御項目があります。
PCIe Option ROMStorage OpROMMass Storage Controller Option ROMLaunch Storage OpROM PolicyOption ROM Messages
同様の項目がある場合は、拡張カードのスロットまたはストレージコントローラに関連する Option ROM を次のように設定します。
|
|
または:
|
|
これは、その拡張カードから起動ファームウェアを読み込まず、普通の PCIe デバイスとして OS に認識させるという意味です。
システムディスクがこのカードに接続されておらず、データディスク、NAS ディスク、倉庫用ディスク、NIC、キャプチャデバイスとして使うだけなら、通常そのカードから起動する必要はありません。Option ROM を無効化したほうが安定することがあります。
第 4 ステップ:PCIe 速度を Gen2 または Gen1 に固定する
多くのカードは PCIe Gen3 をうたっていますが、マザーボード、変換カード、ケーブル、スロット、拡張カードの品質が十分でないと、PCIe link training が Gen3 でまとまらず、マザーボードがデバイス初期化待ちのまま止まることがあります。
PCIe Gen3 link training 失敗の症状
PCIe デバイスを挿すと、マザーボードとデバイスは x1、x2、x4 などのリンク幅と、Gen1、Gen2、Gen3 などの速度を協調します。この過程を Link Training と呼びます。
デバイス、スロット、変換カード、マザーボード配線、電源が不安定だと、高速な設定で協調できないことがあります。よくある症状は次のとおりです。
- カードを挿すと BIOS 前で黒画面またはカーソル点滅。
- マザーボードロゴで長く止まり、キー入力が効かない。
- 起動できることもあれば、完全に固まることもある。
- PCIe Gen2 に固定すると安定する。
- 別スロットに移すと安定する。
- 同じカードが短いスロットやチップセット側では使えるが、CPU 直結の長いスロットでは不安定、またはその逆。
これは OS レベルの「ディスク脱落」ではありません。マザーボードとデバイスがまだ PCIe リンク初期化を完了できていない状態です。Gen2 / Gen1 に固定する目的は、信号速度を下げ、理論帯域を少し犠牲にして安定起動を得ることです。
手順:
- PCIe 拡張カードを抜く。
- BIOS に入る。
- 対象スロットの速度設定を探す。例:
PCIe Speed、PCIe Link Speed、Max Link Speed。 AutoまたはGen3をGen2に変更する。Gen2でも不安定ならGen1を試す。- 保存して電源を切り、カードを挿し直してテストする。
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 では、リソース不足やアドレス衝突で止まることがあります。
次を有効化してみます。
|
|
場所は BIOS の Advanced、PCIe Settings、PCI Subsystem Settings、Chipset などにあることが多いです。
これは PCIe デバイスが 4GB より上のアドレス空間を使えるようにし、複数デバイス環境のリソース割り当て問題を緩和します。GPU パススルー、マイニングカード、HBA、多 PCIe 構成でよく言及されますが、SATA 拡張カードの POST フリーズでも試す価値があります。
第 6 ステップ:PCIe スロットを変える
ひとつのスロットだけで試し続けないほうがよいです。PCIe スロットごとに背後のレーン元が違うことがあります。
- CPU に近い長いスロットは、通常 CPU 直結で GPU 用です。
- 一部の短いスロットや 2 本目の長いスロットは、チップセット PCH 側から来ています。
- 一部のスロットは NVMe、SATA、Wi-Fi、他のデバイスとレーンを共有します。
CPU 直結スロットで固まるなら、チップセット側の短いスロットや低帯域スロットを試します。PCH 側が不安定なら別のスロットも試します。
あわせてマザーボードマニュアルを確認し、「この M.2 を使うとこの PCIe スロットが無効になる」といった共有ルールがないか確認します。
効率的な切り分け順
できるだけ早く起動を戻したい場合は、この順序で試します。
- 拡張カードに接続された SATA ディスク、U.2 ディスク、外部ケーブルなどをすべて外し、カード単体でテストする。
- それでも固まるなら、カードを抜いて BIOS に入る。
CSMを無効化し、UEFI Onlyにする。Storage OpROMまたは関連する PCIe Option ROM を無効化する。Above 4G Decodingを有効化する。- 対象スロットを
Gen2に固定し、だめならGen1を試す。 - 保存して電源を切り、PCIe 拡張カードを挿し直してテストする。
- 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=nomsi、pcie_aspm=off、libata.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 のカーネルパラメータやドライバを切り分けます。