首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grub2从USB3 PCIe卡启动

Grub2从USB3 PCIe卡启动
EN

Unix & Linux用户
提问于 2016-11-13 22:41:42
回答 3查看 2.7K关注 0票数 4

我有grub2安装在我的个人电脑的内部硬盘驱动器,我正在尝试启动一个debian安装在一个USB键。PC没有任何USB3端口,所以我增加了一个USB3 PCIe卡。我知道大多数PCIe USB3卡没有引导ROM,所以我的计划是从硬盘加载grub2,然后引导到USB3。

当USB键插入USB 2端口时,在安装过程中一切正常。当我尝试插入PCIe卡上的PCIe端口时,会出现以下错误:

区块引号错误:没有这样的设备:这里驱动器的UUID

之后,grub进入救援模式,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端口?

EN

回答 3

Unix & Linux用户

发布于 2019-04-07 09:14:10

不同的USB控制器需要不同的GRUB模块:

  • 对于USB1.x,GRUB有ohci.moduhci.mod
  • 对于USB2.0,GRUB有ehci.mod
  • 对于USB3.x,等效模块是xhci.mod,但在编写本文时,GRUB似乎仍然没有这个驱动模块。

大多数新系统似乎都有UEFI固件,该固件在固件级别支持USB,因此开发人员可能并不期望在GRUB中对本机USB3 XHCI控制器的支持很大。不幸的是,这意味着用户的附加卡,如你将是不走运的。

直到最近,大多数支持USB 3的系统还包括向后兼容的EHCI控制器和两者之间的切换协议。这将允许系统从最初驱动USB端口的EHCI控制器开始,并在加载驱动程序后切换到XHCI控制器。有了这样的系统,GRUB将实现大量的USB功能,只使用EHCI驱动模块。

随着Windows 7(上一个没有内置USB 3支持的主要操作系统)已经接近尾声支持,硬件制造商已经开始生产只有XHCI的芯片组和系统。这可能会增加对GRUB的XHCI驱动模块的需求。然而,一个功能齐全的XHCI驱动程序是一件很复杂的事情,而开发一个驱动程序则是一项相当大的工作。

如果您的系统使用UEFI固件,可能还有另一种可能性:如果您可以为XHCI控制器找到xhciDxe.efi UEFI驱动程序,则可以通过配置适当的UEFI变量来加载它,这将为UEFI固件功能的所有用户添加XHCI支持,包括UEFI版本的GRUB。据我所知,这是在苹果硬件上运行Linux时可能需要的东西;我对此没有经验,但我找到了一个版本的xhciDxe.efi这里。

票数 6
EN

Unix & Linux用户

发布于 2016-11-14 04:32:51

Grub2模块和linux内核模块不是一回事。换句话说,如果您在Linux上这样做

代码语言:javascript
复制
lspci -k

并检查您的PCIe卡使用的模块-这将不是相同的模块在grub2中。也许grub2甚至没有一个可比较的模块。

从grub2中尝试加载以下内容:

  • 艾斯普西
  • pcidump
  • pci
  • 塞普西

来源:http://www.linux.org/threads/understanding-the-various-grub-modules.7535/

票数 1
EN

Unix & Linux用户

发布于 2021-10-24 14:33:26

在PC (BIOS遗留系统)非UEFI上,通过PCI引导包含Linux或Windows的USB3.0驱动器的唯一方法是将系统安装在USB棒上,例如通过USB2.0(它将充当主引导通道),然后将OS克隆到在PCI-EUSB3.0上连接的最终驱动器。

当从USB2.0USB棒引导操作系统时,它将通过UUID自动调用PCI上的USB3.0连接驱动器。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/323069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档