如何通过 EFI 从 USB 闪存启动?

如何通过 EFI 从 USB 闪存启动?

我已经在闪存驱动器上设置了以下分区表:

Disklabel type: gpt
Device        Start      End  Sectors  Size Type
/dev/sdb1      2048    34815    32768   16M EFI System
/dev/sdb2     34816   854015   819200  400M Microsoft basic data
/dev/sdb3    854016 21825535 20971520   10G Linux filesystem
/dev/sdb4  21825536 30214143  8388608    4G Linux filesystem

然后我sdb2以 asbootsdb1as 的形式挂载boot/efi并执行:

grub-install --target=x86_64-efi --efi-directory=boot/efi --recheck /dev/sdb
grub-mkconfig -o boot/grub/grub.cfg

根据命令的输出,一切都顺利进行。

但是,当我重新启动并从 BIOS 启动菜单中选择 USB 闪存驱动器时,它说启动失败:出现一些 BIOS 消息框 - 我甚至无法进入控制台等。

/sys/firmware/efi我的 SSD 驱动器上几乎相同的设置确实可以通过 EFI 完美启动 -启动后有一个文件夹。

我遗漏了什么或者做错了什么?

答案1

外部磁盘通常通过后备引导加载程序文件名启动,即EFI/BOOT/bootx64.efi(适用于具有 64 位 EFI 的 x86-64 系统)。您的安装过程将引导加载程序放在,并且可能使用了或boot/efi的名称,尽管我对此不是 100% 肯定。(您应该检查它是什么。)适当地重命名文件应该可以解决启动 GRUB 的问题,尽管您可能需要重新创建 GRUB 二进制文件才能让它在正确的位置查找。grub.efigrubx64.efigrub.cfg

需要注意的是:我并不熟悉该grub-install命令的每个细节,所以我可能会忽略其他问题。

相关内容