安装过程

安装过程

总结:在 Windows 10 / Ubuntu 中UEFI双启动场景中,从 Grub 启动 Windows 10 会导致 Windows 启动管理器覆盖/删除 Grub。我该如何阻止这种情况发生?

我的 PC 长期以来一直顺利地以 UEFI 单启动 Ubuntu 18.04。我最近决定安装 Windows 10 并进行双启动。在旧的 BIOS/MBR 时代,我已经多次这样做了,所以没有预料到会出现重大问题。

安装过程

我的安装过程是:

  • 安装 Windows 10。正如预期的那样,这会用 Windows 启动管理器覆盖 Grub。
  • 使用 live-USB 和启动修复重新安装 Grub。
  • 启动我现有的 Ubuntu 18.04 安装并运行,update-grub它自动获取新的 Windows 安装。
  • 使用 Grub 启动 Windows 10

问题

问题就出在这里。在 Windows 上待了一段时间后,我需要重新启动 Ubuntu。我重启了机器,令我惊讶的是,它直接启动到了 Windows 10,没有任何 Grub 的迹象。

我像以前一样恢复了 Grub,但发现每次启动 Windows 都会导致 Grub 每次“消失”。

设置

  • 生命值Z420:最新 BIOS
  • 启动设置:
    • 已启用 UEFI 启动模式
    • 已禁用传统启动模式
    • 安全启动已禁用
    • 已启用快速启动
  • sda带 GPT 表的 单个 SSD( )
    • sda1:EFI 系统分区
    • sda2:Ubuntu 18.04(安装sda1/boot/efi
    • sda3:Windows 10

我尝试过的事情

  • 围绕这个问题出现的许多答案似乎都建议使用 Legacy/MBR 双启动。我想避免将 GPT 切换到 DOS 分区表带来的麻烦和潜在的数据丢失,而且……现在是 2020 年了,感觉这应该不是问题!
  • efibootmgr我尝试按照建议停用并降低 Windows 启动管理器的优先级这里这里但是当我启动 Windows 时,Windows 启动管理器就会重新启用!

我将非常感激任何帮助。我觉得这应该不难!

答案1

抱歉,我回答了自己的问题,但希望将来它能对别人有所帮助。

根据评论中的建议,我尝试了以下操作:

  • 在 Windows 中禁用休眠模式
  • 在 BIOS 中禁用 Fastboot

但这些都不起作用。

当我正要尝试重命名原始启动管理器时,我偶然发现了答案。运行命令:

bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi

阻止了 Windows 启动管理器替换 Grub。我甚至成功重新启用了休眠和快速启动,而 Grub 却没有丢失。

注意:确保 EFI 路径正确无误非常重要。从 LiveUSB 运行引导修复程序以恢复 grub 后,它会告诉您要使用的完整路径,因为它并不总是与上面列出的路径相同。

相关内容