无论我做什么,我都无法在我想要启动的 USB 上安装 Grub2,它总是自行安装到我的内置 SSD 上。我尝试根据 3 个不同的教程手动分区,尝试手动将其安装在我的 USB 上sudo grub-install /dev/sda
(sda 是我的 USB,因为内置驱动器标记为 nvme 而不是 sda)
它就是不起作用。奇怪的是,它甚至说它安装了引导加载程序,但实际上并没有,它只是使用安装到 nvme ssd 的引导加载程序。
我查看了其他论坛帖子,但似乎没有一个解决方案有效。我对 Linux 相当陌生,我需要在 USBdisk 上手动创建 efi 分区吗?这个 EFI 分区需要位于磁盘的前面吗?如果这是一个愚蠢的问题,我很抱歉,但我真的不知道为什么它不会将引导加载程序写入我的 USBdisk。
答案1
可启动 USB 模板
Sudodus 的创造者韓國已经很好心地制作了一个用于创建可启动 ISO 文件的模板。
https://phillw.net/isos/linux-tools/uefi-n-bios/dd_grub-boot-template-for-uefi-n-bios.img.xz
此模板创建 BIOS 和 EFI 启动分区并安装 GRUB。它使磁盘的其余部分保持打开状态并准备好进行任何您需要的启动。
grub.cfg 文件设置为启动 ISO 文件,但可以修改为启动 GRUB2 可以启动的任何文件。
如果您使用的是 Windows 并且安装了 7zip,Rufus 或 Etcher 将直接安装此模板,否则应先从 .xz 中提取 .img 文件。
如果你使用的是 Linux,韓國将安装图像而不需要先提取.img 文件。
如果使用 Rufus/Etcher 创建,请重新安装 GRUB 以进行 BIOS 启动:
sudo mount /dev/sdx2 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sdx