
저는 Intel DP55KG "Kenigsberg" 마더보드 기반 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의 첫 번째 릴리스가 출시되므로 기본 펌웨어에는 해당 드라이버가 있을 수 없습니다.)
한편 OS는 펌웨어 기능에 의존하지 않기 때문에 USB 3.0을 잘 사용할 수 있습니다. Windows와 Linux 모두 PCI 버스를 통해 컨트롤러와 직접 통신하는 자체 xHCI(및 EHCI, OHCI) 드라이버가 있습니다.
이 문제를 해결하려면 GRUB와 Ubuntu /boot
파티션을 다른 저장소(예: SATA HDD 또는 USB 2.0 플래시 드라이브)에 배치하면 됩니다. 이렇게 하면 마더보드가 GRUB을 시작할 수 있으며, GRUB가 Ubuntu 커널+initrd를 로드하자마자 Linux 드라이버를 통해 xHCI 컨트롤러를 사용할 수 있게 되고 시스템이 정상적으로 부팅됩니다.
(실제로 이것이 initrd의 핵심입니다. 여기에는 커널이 루트 파일 시스템에 액세스하는 데 필요한 모든 드라이버가 포함되어 있습니다.)