双系统引导教程

适用场景:Windows 11 + Linux Mint 双系统,安装时引导器被装进错误的 EFI 分区,或 Windows 更新后 Mint 的 EFI 引导文件丢失。你会学到在 Mint 系统内重建引导(grub-install + 修 fstab)和在 LiveOS 下用 Boot-Repair 修复两种方案。

问题背景

ubuntu 安装的时候有一个祖传 bug,安装的时候即使指定 efi 分区,ubuntu 也会把 efi 文件安装到硬盘的第一个 efi 分区。同样的 mint"完美"地继承了这个 bug。这样会导致一个问题:win11 更新系统后,可能会发生 mint 的 efi 引导文件丢失的事情。因此安装 mint 系统后,我们需要修复这个错误。我们可以手动指定 mint 系统的 efi 分区。

进入 Mint 系统补救

  • 进入 mint 系统
  • umount 现有的 /boot/efi 并重新挂载上正确的分区(应该是空的)
  • 使用 grub-install,重建缺失的 EFI 文件
  • 修改 /etc/fstab 更正挂载到挂载选项,否则即使会在正常启动操作系统后挂载上错误的 /boot/efi 目录
  • 恢复第一个操作系统的 EFI 分区(因为默认的安装策略修改了它)
    • 如果第一个系统是同版本 mint,那么需要修正旧的 EFI 分区下的 \EFI\UBUNTU\grub.cfg 文件中的 uuid 即可,把它改回去指向第一个 efi 的根目录
    • 如果是其他的 Linux 系统,可以重启回第一个操作系统后使用 grub-install 重构它的 EFI 分区
    • 如果第一个系统是 Windows,那么应该删除 EFI 分区下的整 ubuntu 目录和 BOOT 目录下的所有子文件,并把 \EFI\Microsoft\Boot\bootmgfw.efi 复制到 \EFI\BOOT\Bootx64.efi(EFI 文件系统不分文件名大小写),也可以使用 dism++ 修复引导
  • 使用 efibootmgr 调整启动项目(就是修改 NVRAM 配置)

在 LiveOS 环境下补救(使用 Boot-Repair)

从 mint 官网下载的 mint 系统 iso 镜像自带 boot-repair,因此我们直接使用 mint 官方的 iso 镜像进入 liveos。

打开 Boot-Repair

点击左下角 mint 的标志,在搜索框搜索 bootrepair 然后打开。

选择高级选项

一定要选择高级选项不要选择推荐修复。

image-20250721221605698

指定系统所在的分区(硬盘)和单独的 efi 分区

单独的efi分区需要提前创建,或者在安装系统的时候创建。

image-20250721221723368

最后点击 apply

使用 efibootmgr 调整启动项目

调整启动项目就是修改 NVRAM 配置。先查看当前启动项:

sudo efibootmgr -v

如果 Linux 的引导项缺失,可以参考使用 efibootmgr 管理 UEFI 启动项一文,用 -c -w -L 参数重建;如果只是顺序不对,用 -o 参数调整 BootOrder 即可。

验证与自查

  1. 重启后出现 GRUB 菜单,包含 Linux Mint 与 Windows 两个引导项
  2. sudo efibootmgr 输出中 Linux 引导项存在且位于 BootOrder 前列
  3. cat /etc/fstab | grep efi 确认 /boot/efi 指向正确的 EFI 分区(UUID 与 lsblk -f 一致)
  4. 进入系统后运行 sudo update-grub 能扫描到 Windows Boot Manager

参考