我安装了 Manjaro 作为我的第一个发行版,一切都很顺利,直到grub
。当我在 grub 菜单中选择 Windows 10 而不是 Linux 时,Windows 需要很多启动时间比平常要长。启动后,一切正常 - 直到下一次启动时grub
完全跳过并自动加载 Windows。
我发现恢复的唯一方法grub
是进入我的 UEFI 设置并重新排列启动顺序,以便 Manjaro 位于顶部。一旦 Windows 启动,就会重新排列,以便 Manjaro 位于列表底部。
总结:
- Grub 工作正常,直到 windows 加载,此时它不再使用
- 要恢复 grub,我必须重新安排 UEFI 启动顺序。这在下次 Windows 启动之前有效
- Linux 不会出现此问题,我可以多次启动它而没有任何问题。
我如何才能防止 Windows 10 重新排序 UEFI 中的启动顺序以便grub
一直使用?
答案1
事实证明,这个问题是由 Windows 10 设置引起的。使用该命令bcdedit /set {bootmgr} path \\EFI\\Manjaro\\grubx64.efi
似乎可以完全解决问题。无论上次启动什么操作系统,Manjaro 引导加载程序 (grub) 仍然会出现。
答案2
这是该问题的最佳结果,因此添加了所有发行版的信息:
所选答案中的“Manjaro”字符串特定于 OP 发行版,因此这可能不适合您。为了使此答案在所有 Linux 发行版中更通用:
步骤1:使用此处的选项之一浏览您的 EFI 分区如何在 Windows 10 上访问 efi 分区? (对我来说,在管理员 cmd 终端中运行“mountvol P: /S”是可行的。)使用“dir P:\EFI”找出你的发行版在这个 UEFI 分区中设置的路径。例如,对于 Fedora,它变成 \EFI\fedora\grubx64.efi
第2步:现在运行 bcedit 命令 bcdedit /set {bootmgr} path \EFI\YourDistroPath\grubx64.efi
步骤3: 在 Windows 10 中禁用快速启动 这会随着 Windows 更新而不断变化。对我来说,电源和睡眠设置->其他电源设置->选择电源按钮的功能。单击“更改当前不可用的设置”,这将启用快速启动选项。
步骤4:关机,不要重启。然后就好了。
步骤5:(可选)向 Microsoft 支持部门发送电子邮件,礼貌地要求他们停止发布破坏您的引导加载程序的软件。
答案3
在 EFI 设置中禁用所有与 fastboot 相关的选项,如果这不能解决问题,请备份 ESP 分区中的每个文件,然后您可以尝试将 grubx64.efi 移动或复制到 /EFI/Boot/bootx64.efi 和/或,如果仍然不起作用,请将 windows efi 文件 bootmgw.efi 复制到另一个位置,为其指定另一个文件名(假设为 win.efi),然后将 grubx64.efi 复制到旧的 bootmgw.efi 上并为 win.efi 创建一个新菜单项。它仍然不起作用,我不知道该说什么。记得备份!!请记住,windows 和/或 grub 更新可能会覆盖您的更改。
答案4
有一个误解,设置启动顺序不是正确的解决方案,而是 1._ 首先安装 Windows,但是,一旦安装了 Windows,就安装任何 Linux 发行版,这是当您在同一个 HHD 中安装两个操作系统时,如果您在不同的 HHD 中安装,那么,请确保 Linux 发行版插入“IDE 0”,当然,如果 Windows 是在之前或之后安装的,无论怎样,只需在 IDE 0 中插入安装程序即可。我推荐 Ubuntu,无论您决定以何种方式安装,大多数配置都只需运行 Ubuntu 的恢复,(重新启动并按住 Shift 键以激活恢复),允许互联网连接,然后首先以 root 身份在命令提示符中写入:/sbin /modprobe zfs 然后你写 exit,一旦进入恢复菜单,更新 grub 和启动顺序,grub 就会覆盖。这是对我有用的正确程序...