我有一台支持 EFI/UEFI 的笔记本电脑。我有Windows 8.1和Ubuntu 12.04我安装操作系统的方式如下:
我在所需的分区中安装了 Win 8.1,然后安装了 ubuntu,并在安装 ubuntu 的同一分区中安装了引导加载程序。上次我这样做时,我使用引导修复来修复 grub,以便它同时显示 Windows 和 ubuntu 操作系统,并且它工作正常。这样 Windows 就完好无损了,如果 ubuntu 搞砸了(升级)或者我搞砸了(弄乱了它),我就不必重新安装 Windows。不过这次,引导修复向我显示了一条类似以下的消息:
WinEFI or WinUEFI (I'm not sure which one) detected, do you want to backup and rename the files
像个菜鸟一样,我点击了“是”。现在 grub 取代了两个引导加载程序,无论我从 bios 中选择哪个 efi 条目,我都会得到相同的 grub 屏幕。以前没有发生过这种情况,如果我将 ubuntu efi 作为主引导条目,我就会得到 grub 并能够选择 linux 或 windows。如果我将 win 8 引导条目作为主引导条目。我得到的是纯 windows。
最后(我知道)问题是... boot-repair 说它备份了 WinEFI 加载程序或什么的。有人知道我该如何恢复它吗?
提前致谢。
答案1
要撤消并将文件重命名为原始名称,只需勾选 Boot-Repair 的“恢复 EFI 备份”选项。
我还建议对您的 efi 分区进行完整备份。
看起来启动修复运行了其“有缺陷的”UEFI 重命名功能。我不确定它是否始终是必需的,但它是针对那些内部硬编码 UEFI 以仅启动 Windows efi 文件的 UEFI。因此,Boot-Repair 重命名 Windows 文件并使 grub2 的 shim 成为 Windows 文件。UEFI 认为它正在启动 Windows,但实际上是在启动 grub2,然后您可以从 grub2 菜单启动 Windows。
然后将 /EFI/microsoft/boot/shimx64.efi 重命名为 bootmgfw.efi 实际的 Windows 启动文件,最初是 bootmgfw.efi。/EFI/Microsoft/Boot/bkpbootmgfw.efi
使用重命名的文件,您无法直接从 UEFI 菜单启动 Windows,因为它实际上是 shim。这就是两个 UEFI 条目都启动 grub 的原因。如果您可以直接启动 Ubuntu 条目,则不需要重命名。
您还可以通过将 bkpbootmgfw.efi 改回其 bootmgfw.efi 名称来手动重命名文件。
并且您应该有另一份副本:Windows UEFI 安装应该在此处备份 bootmgfw.efi:来自正常运行的 Windows x86_64 安装的 C:\Windows\Boot\EFI\bootmgfw.efi。