マザーボードの起動時に、USB 3.0 アダプタ経由で接続された USB ドライブが認識されない

マザーボードの起動時に、USB 3.0 アダプタ経由で接続された USB ドライブが認識されない

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

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

答え1

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

(実際、マザーボード以前のxHCI の最初のリリースから数か月遅れているため、デフォルトのファームウェアに xHCI 用のドライバーが存在しない可能性があります。

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


これを回避するには、GRUB と Ubuntu/bootパーティションを別のストレージ (SATA HDD や USB 2.0 フラッシュ ドライブなど) に配置します。これにより、マザーボードで GRUB を起動できるようになり、GRUB が Ubuntu カーネル + initrd をロードするとすぐに、xHCI コントローラーが Linux ドライバーを通じて使用可能になり、システムが正常に起動するようになります。

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

関連情報