我已安装 Ubuntu 12.10,方法是在 Windows 8 中创建可用空间,然后使用该空间创建 3 个分区,一个用于 SWAP,一个用于 GRUB(安装点为 /boot),一个用于实际操作系统。我这样做是为了在我想要删除 Ubuntu 时不会覆盖 Windows 8 引导加载程序。如果我从 BIOS 中选择引导加载程序,我仍然可以启动 Ubuntu。
我想将 Ubuntu 添加到 Windows 8 引导加载程序中,有人告诉我使用 EasyBCD。问题是它实际上并没有将 Windows 定向到 GRUB 文件,而是指向类似的东西autogrub0.mri
。我发现了另一个名为 Visual BCD 的程序,它允许我实际设置引导加载程序路径和驱动器。
从这里开始,我不太清楚该怎么做。我相信我已经将它设置为正确的驱动器,但我不知道我是否指向了正确的文件。我认为是/boot/grub/x86_64-efi/grub.efi
。我不知道这是否是正确的文件,我是否需要删除它,/boot
或者是否/
需要删除它\
,因为这是 Windows 使用的。
抱歉,帖子太长了,请帮忙!
答案1
您是否在使用 UEFI 和安全启动?我假设您使用的是 UEFI 文件。我还建议您至少尝试让安全启动工作时禁用它。完成后重新启用它并重新测试。
我假设您正在运行 64 位 Windows 8,因此必须按照 UEFI 标准使用 64 位引导加载程序,然后您必须运行 64 位版本的 Ubuntu。如果不是,那么您必须禁用 UEFI。我建议只使用 64 位版本重新安装。
回答你的问题:
如果你使用的是 64 位 Ubuntu,我认为你应该使用的文件位于
/boot/efi/EFI/ubuntu/grubx64.efi
如果您使用安全启动,我认为您将需要启动此文件,因为它已签名:
/boot/efi/EFI/ubuntu/shimx64.efi
如果你使用的是 32 位 Ubuntu,则必须禁用 UEFI
因此,这里有一个关于 EasyBCD 的链接,看起来你必须需要 2.2 才能获得 EFI 支持
https://neosmart.net/forums/showthread.php?t=9342
如果您使用 Windows 引导加载程序,您可能需要使用最后加载的 GRUB 来查找有关 GRUB 的线程并将其设置为零时间,因此如果您选择 Ubuntu,您将永远不会看到它。
我同意另一个答案,我强烈建议运行 GRUB 作为引导加载程序。它工作得很好,它检测 Windows .efi 文件并启动它们(虽然这不是安全启动,但这是一个错误#1091464)。如果 EasyBCD 允许您在 SecureBoot 中启动所有操作系统,我会感到惊讶。我使用 Grub Customizer 删除不需要的条目,为其添加背景并减少计时器。它更具可定制性,并且具有很多支持和历史记录。
答案2
希望你现在已经弄清楚了其他的事情。
但是我只想建议您不要使用 Windows 引导加载程序,因为它在识别 Linux 分区时非常不稳定。我曾经让它工作正常,但在 Windows 更新后它又不见了,我也让它保留了 Ubuntu 列表,但在升级 Ubuntu 版本和重新安装 Ubuntu 后都无法真正启动它。
相反,使用 Grub 非常容易,如果您决定 Ubuntu 不适合您(希望永远不会出现这种情况),您可以使用“安全混音”liveCD/USB 卸载 Ubuntu 并运行 Boot Repair,以便它像往常一样直接加载到 Windows 中。我听过有人说他们不喜欢 Grub,但根据我的经验,它很少会遇到识别其他操作系统的问题,如果出现问题,只需运行 Boot Repair 即可轻松修复,它有一个很好的支持系统来帮助您解决任何您无法解决的问题。(我不认为微软会过于热衷于帮助您运行 Ubuntu 分区,这就是为什么您在这里而不是在那里问。)
再次,希望您已经找到了解决办法,但我只是想让您以及任何可能遇到同样问题的人意识到,让 Windows 引导加载程序正常工作会更加困难,并且最终肯定会遇到更多麻烦。
答案3
如果您决定 Ubuntu 不适合您(希望永远不会出现这种情况),您可以使用“安全混音”liveCD/USB 来卸载 Ubuntu 并运行 Boot Repair,以便它像往常一样直接加载到 Windows 中。
有趣的是,在我的联想 U410 上我不需要做任何这些 - Ubuntu 列在 BIOS 设置的启动部分;我所做的就是在那里将其删除,Windows 引导加载程序就会恢复正常。