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.mod
とuhci.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.efi
XHCI USBコントローラ用のUEFIドライバが見つかった場合は、適切なUEFI NVRAM変数を設定してそれらをロードできます。これにより、XHCI USBはUEFIファームウェア機能ユーザーをサポートします。 GRUBのUEFIバージョンを含みます。私が知っている限り、これはAppleハードウェアでLinuxを実行するときに必要なことです。しかし、ここでバージョンを見つけましたxhciDxe.efi
。
答え2
Grub2モジュールとLinuxカーネルモジュールは同じではありません。つまり、Linuxでこれを行うと
lspci -k
そして、PCIeカードがどのモジュールを使用しているかを確認してください。 grub2と同じモジュールではありません。おそらく、grub2には同様のモジュールがないかもしれません。
grub2で以下をロードしてみてください:
- lspci
- PCIダンプ
- PCI
- PCI設定
源泉:http://www.linux.org/threads/understanding-the-various-grub-modules.7535/
答え3
UEFI以外のPC(BIOS LEGACY)でLinuxまたはWindowsを含むUSB 3.0ドライブからPCI-Eを介して起動する唯一の方法は、USBスティックにシステムをインストールすることです。たとえば、USB 2.0(プライマリドライブとして機能する)を介して起動チャネル)、次にPCI-E USB 3.0接続で動作する最終ドライブにオペレーティングシステムを複製します。
USB 2.0 USBスティックからオペレーティングシステムを起動すると、UUIDを介してPCI-EのUSB 3.0接続ドライブが自動的に呼び出されます。