USB3 PCIeカードからGrub2を起動する

USB3 PCIeカードからGrub2を起動する

PCの内蔵ハードドライブにgrub2をインストールし、USBフラッシュドライブからDebianインストールを起動してみました。 PCにはUSB 3ポートがなく、USB 3 PCIeカードを追加しました。ほとんどのPCIe USB3カードには起動ROMがないことがわかっているので、ハードドライブからgrub2をロードしてからUSBフラッシュドライブから起動する予定です。

USBキーをUSB 2ポートに接続すると、すべての設定が正しく機能します。 PCIeカードのUSB3ポートに接続しようとすると、次のエラーが発生します。

ブロック参照エラー:該当デバイスなし:ここにドライブのUUID

その後、グラブはリカバリモードになり、lsは(hd0)、(hd0、msdos1)、(hd0、msdos2)のみを表示します。したがって、grubがUSBキーを「見る」ことができないのと同じです。

usb、usbms、xhci、echi、uhciのinsmodを/boot/grub/grub.cfgに追加しました。 USB 3ポートがLinuxで動作することを知っています。これは、ハードドライブのディストリビューションで実行するときにポートのUSBキーを介してインストールできるためです。 grub2にPCIe USBポートをサポートさせる方法はありますか?

ベストアンサー1

USBコントローラごとに異なるGRUBモジュールが必要です。

  • USB 1.xの場合はGRUBにohci.moduhci.mod
  • USB 2.0の場合、GRUBにはehci.mod
  • USB 3.xの場合、そのモジュールはありますが、xhci.modこの記事を書いている時点では、GRUBにこのドライバモジュールがないようです。

ほとんどの新しいシステムには、ファームウェアレベルに組み込まれているUSBをサポートするUEFIファームウェアがあるように見えるため、開発者はGRUBがネイティブUSB3 XHCIコントローラのサポートを必要としないと予想できます。残念ながら、これはあなたのような追加のカードユーザーが運がないことを意味します。

最近まで、ほとんどのUSB 3対応システムには、以前のバージョンと互換性のあるEHCIコントローラと2つの間のスイッチングプロトコルが含まれていました。これにより、システムがEHCIコントローラから起動し、最初にUSBポートを駆動し、ドライバがロードされた後にXHCIコントローラに切り替えることができます。これらのシステムにより、GRUBはEHCIドライバモジュールのみを使用して多数のUSB機能を実装できます。

Windows 7(内蔵USB 3をサポートしていない最後の主要なオペレーティングシステム)がサポート終了に近づくにつれて、ハードウェアメーカーはXHCI専用のチップセットとシステムの製造を開始しました。これにより、GRUBのXHCIドライバモジュールの必要性が高まる可能性があります。しかし、フル機能のXHCIドライバは複雑な問題であり、それを開発するのはかなり難しい作業です。

システムがUEFIファームウェアを使用している場合は、別の可能性があります。xhciDxe.efiXHCI USBコントローラ用のUEFIドライバが見つかった場合は、適切なUEFI NVRAM変数を設定してそれらをロードできます。これにより、XHCI USBはUEFIファームウェア機能ユーザーをサポートします。 GRUBのUEFIバージョンを含みます。私が知っている限り、これはAppleハードウェアでLinuxを実行するときに必要なことです。しかし、ここでバージョンを見つけましたxhciDxe.efi

おすすめ記事