我已经在闪存驱动器上设置了以下分区表:
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
以 asboot
和sdb1
as 的形式挂载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.efi
grubx64.efi
grub.cfg
需要注意的是:我并不熟悉该grub-install
命令的每个细节,所以我可能会忽略其他问题。