如何仅在插入 USB 设备时实现双重启动?

如何仅在插入 USB 设备时实现双重启动?

我有一台启用了 UEFI 的台式机。我的主要操作系统是 Windows,但有时我也想在 Linux 中测试我的代码,所以我安装了 grub 来双启动 Windows 和 Linux。为了让 Linux 正常工作,我必须在 Windows 中禁用快速启动,但这给我带来了一些烦恼。有什么方法可以默认启动 Windows(通过 mbr)并仅在插入特定 USB 设备时显示 grub 菜单?

答案1

如果您有一个在兼容 Grub 的文件系统中格式化的 USB 驱动器,则可以将 GRUB 安装在那里,甚至可以移动整个 /boot 分区。您应该在 USB 驱动器上创建 GPT 表,然后创建 ext4 分区。然后挂载它并在那里安装 GRUB。您必须将其重命名为特定名称,以便它无需在主板上注册即可工作。

grub-install --target=x86_64-efi --efi-directory=/usb_mount --bootloader-id=grub
mkdir /usb_mount/EFI/boot
cp /usb_mount/EFI/grub_uefi/grubx64.efi /usb_mount/EFI/boot/bootx64.efi

之后,将主板选项设置为首先尝试从 USB 驱动器启动,然后从 Windows 启动分区启动。这样,如果没有 USB 驱动器,它将启动 Windows。
但是,您没有解释为什么需要这样做,而不是将 Windows 设置为 Ubuntu 已安装的 Grub 中的默认启动项,这样除非采取行动选择另一个项,否则 Windows 会启动。这是做法。

相关内容