web-dev-qa-db-ja.com

起動時にマザーボードが、usb-3.0アダプターを介して接続されたUSBドライブを識別しない

IntelDP55KG「Kenigsberg」マザーボードをベースにしたPCを持っています。 USB 3.0バス(xHCI)はありません。 USB 3.0アダプターカード(Inateck KT4006)をインストールしました(WindowsとUbuntu 18の両方で正常に動作します)。しかし、USBHDDにあるUbuntuシステムから起動したいと思います。また、起動する前に、BIOSはアダプターによって作成された追加のUSB 3.0バス(およびデバイス)を認識しません。

そのため、USB 3.0アダプターを介して接続されている場合、起動用のUSBHDDを選択できません。 (同じUSB HDDは、起動後、usb 3.0アダプターに接続して正常に動作します)。

4
Helen Craigman

マザーボードにxHCIコントローラが付属していない場合は、ファームウェアに実際にxHCIドライバも組み込まれていない可能性があります。それがないと、ファームウェアはこのコントローラーを介してUSBデバイスを列挙する方法を単に知りません。

(実際、マザーボードpredates xHCIの最初のリリースは数か月であるため、デフォルトのファームウェアにそのドライバーを含めることはできません。)

一方、OSはファームウェア機能に依存しないためUSB 3.0を問題なく使用できます。WindowsとLinuxの両方に、PCIバスを介してコントローラーと直接通信する独自​​のxHCI(およびEHCI、OHCI)ドライバーがあります。


これを回避するには、GRUBとUbuntu/boot異なるストレージ上のパーティション(例:SATAHDDまたはUSB2.0フラッシュドライブ)。これにより、マザーボードがGRUBを起動できるようになり、GRUBがUbuntukernel + initrdをロードするとすぐに、xHCIコントローラーがLinuxドライバーを介して使用可能になり、システムが正常に起動するはずです。

(これが、実際にはinitrdを持つことの要点です。これには、カーネルがルートファイルシステムにアクセスするために必要なすべてのドライバーが含まれています。)

7
user1686