
Ich habe einen PC mit Intel DP55KG „Kenigsberg“-Motherboard. Er hat keinen USB 3.0-Bus (xHCI). Ich habe eine USB 3.0-Adapterkarte (Inateck KT4006) installiert (funktioniert gut, sowohl unter Windows als auch unter Ubuntu 18); aber ich möchte von einem Ubuntu-System booten, das sich auf einer USB-Festplatte befindet; und vor dem Booten erkennt das BIOS den zusätzlichen USB 3.0-Bus (und das Gerät), der durch den Adapter erstellt wird, nicht.
Daher kann ich die USB-Festplatte nicht zum Booten auswählen, wenn sie über den USB 3.0-Adapter angeschlossen ist. (Dieselbe USB-Festplatte funktioniert nach dem Booten einwandfrei, wenn sie mit dem USB 3.0-Adapter verbunden ist).
Antwort1
Wenn das Motherboard nicht mit einem xHCI-Controller ausgestattet ist, ist es wahrscheinlich, dass in seiner Firmware auch keine xHCI-Treiber integriert sind. Ohne diese weiß die Firmware einfach nicht, wie sie USB-Geräte über diesen Controller auflisten soll.
(Tatsächlich Ihr Motherboardist älterdie erste Version von xHCI um einige Monate, daher kann die Standard-Firmware unmöglich Treiber dafür haben.)
In der Zwischenzeit kann das Betriebssystem USB 3.0 problemlos verwenden, da es nicht von Firmware-Funktionen abhängig ist – sowohl Windows als auch Linux haben ihre eigenen xHCI- (und EHCI-, OHCI-)Treiber, die über den PCI-Bus direkt mit dem Controller kommunizieren.
Um dies zu umgehen, können Sie GRUB und die Ubuntu- /boot
Partition auf einem anderen Speichermedium ablegen (z. B. einer SATA-Festplatte oder einem USB 2.0-Flash-Laufwerk). Dadurch kann das Motherboard GRUB starten, und sobald GRUB den Ubuntu-Kernel+initrd lädt, wird der xHCI-Controller über Linux-Treiber nutzbar und das System sollte normal booten.
(Das ist eigentlich der ganze Sinn eines initrd – es enthält alle Treiber, die der Kernel braucht, um auf das Root-Dateisystem zuzugreifen.)