我遇到了这种情况:
SONY VAIO SVF1521V1EB
Windows 8 预装在 UEFI 中。
我决定以双启动方式安装 Ubuntu 13.10。因此我下载了 amd64 iso,刻录到 DVD 上,然后以 UEFI 模式从 DVD 启动并安装 Ubuntu。
运行正常,我安装了 Ubuntu 和 Windows 8。启动时 GRUB 询问我是否需要 Ubuntu 13.10 或 Windows Boot Loader (UEFI)。
我使用过几次 Ubuntu,效果还不错。
然后我需要启动 Windows 8。我启动了它并运行了一会儿。然后关闭了电脑。
当我启动它时,GRUB 不再出现!它直接在 Windows8 上启动!
我使用 DVD 重新安装了 Ubuntu,GRUB 又回来了,然后当我启动 Windows8 时 GRUB 又消失了。
Windows 会删除 GRUB 吗?如何安装“持久”版本的 GRUB?
非常感谢
编辑:我尝试了所有建议的解决方法,但都没有成功。我猜这是 VAIO 固件的问题,它的启动设置很奇怪。PC 制造商越来越糟糕了……他们只为 Windows 生产 PC,我甚至不会将其定义为操作系统。
再见
答案1
它真的消失了吗?或者只是不再是默认的了?
这可能只是一种误解,请查看固件设置屏幕中的启动顺序,或者efibootmgr
如果您使用的是 Ubuntu,请运行。Windows 实际上安装了两个引导加载程序:驱动器的默认 UEFI 引导加载程序在 中\EFI\boot\bootx64.efi
,根据我的经验,这将在 NVRAM 中创建一个链接到 的新条目\EFI\Microsoft\Boot\Bootmgfw.efi
,即“真正的”UEFI Windows 引导加载程序。很有可能,通过选择从 GRUB 菜单启动 Windows 条目,您启动了默认的 UEFI 引导加载程序,从而再次将 Windows 设置为默认引导加载程序。在这种情况下,只需将 Ubuntu 条目移到启动顺序中的顶部即可。
Windows 并不邪恶,Fedora 也是如此
我发现 Fedora 做了一些非常相似的事情,但 Windows 和 Fedora 的默认引导加载程序都没有移除来自 NVRAM 的条目。您的 Ubuntu 条目应该仍然在 NVRAM 中,并且您应该能够通过启动覆盖(华硕主板在设置屏幕中有此功能)、固件启动菜单(F8、F11 或 F12)或(如上所述)通过重新排列固件设置屏幕(以前称为 BIOS 设置屏幕)中的启动顺序来启动它。
我想指出的是,这不是一个坏主意或坏做法。如果您安装了操作系统,并且它从固件的 NVRAM 中的条目启动,则您无法取出驱动器并在另一台计算机上启动它。这就是 EFI 系统分区 (ESP) 上的默认引导加载程序发挥作用的地方,它可以启动操作系统或在 NVRAM 中为正确的引导加载程序创建新条目,或者两者兼而有之。
解决方法
- 始终通过固件启动菜单中的“Windows 启动管理器”条目启动 Windows(F8、F11 或 F12)。切勿使用默认引导加载程序(例如从固件启动菜单中选择硬盘),因为它会改变启动顺序。
- 创建自定义 GRUB 条目来启动 Windows。
msdos
请注意,您需要将示例中的每个出现的项更改为gpt
,因为您似乎正在使用 GPT 分区表,就像所有 Windows 8 预安装一样。 - 备份
\EFI\boot\bootx64.efi
并用 Gummiboot 替换它,它也会在 ESP 上找到 Windows Bootloader,但不会改变启动顺序。(仅遵循此答案中的第 1 步了解说明。 - 您还可以尝试建筑维基。 (这Rod Smith 的回答看起来很相似,但是 ESP 的 Microsoft 目录中的 GRUB 加载器看起来不太正确。)
当然,你可以将 1-3 组合起来。