我安装了 Ubuntu 13.04。安装过程很顺利。但是,安装结束后,没有 grub 让我在 Ubuntu 和 Windows 8 之间做出选择。因此,我使用了 EasyBCD。grub 现在在启动时出现。但是,它只能运行 Windows 8。在运行 Ubuntu 时,它会说“最近的硬件和软件更改导致了这种情况……使用系统修复等……它还会提到一些关于 BCD 的内容。”
因此,我又做了一些实验,但不幸的是,我最终删除了 BCD 条目(或其他与 mbr 相关的条目),因此 Windows 和 Ubuntu 都无法启动。在阅读了大量有关 Microsoft 如何发布仅识别 Windows 8 的笔记本电脑的资料后,我禁用了安全启动,使用了 Ubuntu 修复和 Windows 8 修复。在此过程中,我最终使用了 bootrec.exe 之类的命令,还遇到了 grub-rescue 之类的问题。
经历了这一切噩梦之后,我现在又回到了原点。我不想再做傻事了。谁能告诉我设置 grub 以允许我在启动时选择操作系统的最简单方法是什么?
答案1
你的系统当前的状态很不清楚,所以很难说什么最好的继续进行的方法除了运行额外的诊断程序。启动信息脚本至少会提供一些相关信息——但考虑到您尝试过的方法数量,该脚本返回的内容仍会存在一些不确定性。如果您运行此脚本并需要建议,请编辑您的帖子以包含指向RESULTS.txt
Boot Info Script 返回的文件的链接,并在此回复中添加评论以提醒我新信息。
如果 Windows 正在启动,那么至少有一件事你可以尝试,而且很有可能成功:安装我的rEFInd 启动管理器在 Windows 中。请确保安装 ext4fs 驱动程序(或适用于 Ubuntu 的任何文件系统的驱动程序)。根据您的配置,这可能使您能够使用指向 Linux 内核的 rEFInd 图标(名称包含字符串的文件vmlinuz
)直接启动 Linux。如果 Windows 是不是启动时,您可以尝试从 CD-R 或 USB 闪存驱动器使用 rEFInd。(rEFInd 下载页面包含这两种介质的图像链接。)这可能会启动 Windows 和/或 Linux,但我不能对此做出任何承诺。
另一条评论:启动配置数据 (BCD) 是 Windows 特有的启动加载程序构造。因此,当您尝试启动 Linux 时收到有关 BCD 的消息,这清楚地表明您不是启动 Linux。此外,我听说 EasyBCD 在协助 EFI 系统上的双启动配置方面几乎毫无用处。因此,您不应该为该软件烦恼。相反,使用固件自己的启动管理器、GRUB、rEFInd 或其他启动管理器来选择要启动的操作系统。
目前,处理安全启动的最简单方法是禁用它。但是,如果您必须在启用安全启动的情况下启动,则可以这样做。理论上,Ubuntu 支持安全启动,但我已经看到足够多的问题报告,很明显这种支持远非完美。如果您使用第三方工具(如 rEFInd),则需要采取额外步骤才能使其与安全启动配合使用。rEFInd 文档包括有关安全启动的页面,因此,如果您想将 rEFInd 与安全启动结合使用,请查阅它。对于其他引导加载程序,我编写了一个有关安全启动的更多通用页面。