无法修复GRUB以进行双启动 – 保持直接启动到Windows

在我最近更新BIOS(使用Windows)和玩Boot Order(使用LiveUSB)之间的某个时间,我的grub菜单丢失了。 以前,我能够通过这种方式修复GRUB菜单:

  • 启动到Windows
  • 转到高级启动选项
  • 在那里选择我的Ubuntu分区
  • 获得高级重启 – >查看我的GRUB菜单。

然后,我能够选择Ubuntu操作系统,登录,运行启动修复并返回我的GRUB菜单。

但是,现在经过启动修复过程后,我仍然无法恢复双启动grub菜单。 我的笔记本电脑一直装入Windows。

附加信息:我还检查了Boot Order的设置方式与我使用LiveUSB之前的方式相同,但没有帮助。 我也试过其他一些组合 – 没有成功……

我的PC上有Ubuntu 16.04和预安装的Windows 8.1。 安全启动和传统模式被禁用…这是我最后一次使用它时启动修复给我的:

https://paste.ubuntu.com/25652485/

我也使用Grub Customizer来改变grub菜单中操作系统的顺序,但据我所知,在这种特殊情况下它对grub菜单消失没有影响。 当我使用grub-repair,并且不通过Grub Customizer进行任何更改时,菜单仍然没有出现。

可能是这个问题的原因,我该如何解决?

EFI希望默认的引导加载程序是/efi/boot/bootx64.efi。 Windows特别关注确保它启动。

拳头关闭,从8.1上的窗口并没有真正关闭,它暂停到磁盘(像一个hibernate),以便它更快地启动。 第二,它改变EFI以在引导顺序中首先进入条目0000(窗口)。 如果双启动,您应该关闭Windows中的快速启动。

一个解决方法:将grubx64.efi重命名为bootx64.efi,然后替换文件efi / boot / bootx64.efi。这使得grub成为默认的引导加载程序。 将原始efi / boot / bootx64.efi保存在windows文件夹中,以备日后再更换时使用。

第二:在ubuntu中时,使用efibootmgr删除所有Windows和Ubuntu条目。 并重新启动计算机。 确保你启动的第一个系统是ubuntu,以便将它放在条目0000中。然后启动windows。

在某些较新的系统上,如果默认路径为空,则允许选择OS。 暂时将/efi/boot/bootx64.efi移动到另一个地方,看看EFI设置是否允许您选择要启动的操作系统。

PS:我确实有一个较旧的系统,在BIOS更新后拒绝启动grub。 将grub安装到/ dev / sda修复它。 这被认为是一个奇怪的球。 EFi不应该关注引导加载程序的MBR。