在混合双启动 MBR 类型 eHDD 上为 GRUB2 添加 EFI 功能

在混合双启动 MBR 类型 eHDD 上为 GRUB2 添加 EFI 功能

我正在尝试创建一个通用(BIOS/EFI)可启动 USB HDD,它可以为我提供便携式 32 位和 64 位“Windows To Go”环境,以及基于 64 位 Ubuntu 的发行版和基于 64 位 Debian 的 Linux 发行版。

使用 WinToUSB(需要 MBR 表),我能够创建 32 位和 64 位 Windows 10 Pro Windows To Go 环境(在单独的分区上),这些环境可以在 BIOS 和 EFI 系统上启动。

然后,我在另一个分区上以 BIOS 模式安装了基于 64 位 Ubuntu 的发行版,之后我可以选择从 GRUB2 启动到 Windows 引导加载程序。

当我尝试向基于 Ubuntu 的安装中添加 EFI 功能时遇到了困难。

为了添加 EFI 功能,我尝试使用基于 Ubuntu 发行版的安装介质在基于 EFI 的机器上启动。然后,我连接了我的 USB HDD,挂载了 Linux 分区并绑定了各种系统目录,然后 chroot 以安装和更新 grub,报告成功找到 Linux 并添加了 EFI 条目。

然而,在 USB HDD 上重新启动时,我只看到了适用于我的 32 位和 64 位 Windows To Go 的 Windows 引导加载程序,而没有 EFI 模式下的 GRUB2 的迹象。

我发现一个模糊的帖子建议我需要运行:

grub-install --target x86_64-efi --efi-directory /mnt --boot-directory=/mnt/boot –removable

但是没有提到我需要挂载到 /mnt 的内容。

由于我对 Linux 的了解尚不充分且有限,所以我希望你们能够提供帮助。

是否可以在 MBR 类型的 USB HDD 上安装基于 EFI 的 GRUB2?如果可以,我该如何在不破坏我的混合双 Windows to Go 的情况下完成此操作?

当前 MBR 分区如下:

  1. 500MB FAT32(系统启动)
  2. 80GB NTFS(64 位 Windows 10 Pro Windows To Go)
  3. 80GB NTFS(32 位 Windows 10 Pro Windows To Go)
  4. 30GB EXT4(基于 64 位 Ubuntu 的 Linux 发行版)
  5. 4GB LINUX 交换空间

相关内容