双启动:Windows 8 可以,Ubuntu 也可以,但只有当 DVD 位于磁盘驱动器中时才能启动

双启动:Windows 8 可以,Ubuntu 也可以,但只有当 DVD 位于磁盘驱动器中时才能启动

我有一台装有 Windows 8.1 的新电脑,并开始使用 Ubuntu 12.04.3 进行双启动。我可以从 grub 菜单顺利启动 Windows 8,Ubuntu 出现在菜单上,我可以选择它,但它将停留在空白屏幕上,颜色与 grub 菜单相同,并且什么也不做,没有错误消息。但是,如果我在启动之前将 Ubuntu DVD 放入磁盘驱动器,我可以从 grub 菜单中选择 Ubuntu,它总是可以完美启动。

我注意到的一件事是,如果磁盘不在驱动器中,在显示 grub 菜单之前,我会看到一条小消息“efi 磁盘读取错误”多次出现。如果磁盘已插入,则不会出现该消息。有人能告诉我发生了什么吗?

额外细节:

在我安装 Ubuntu 之后,最初的问题是 Windows 未被识别,并且没有出现在 grub 中。我运行了 boot-repair(结果) 从我的 Ubuntu 安装中恢复(安装 Ubuntu 后 BIOS 无法从光驱启动)。在此之后,一切似乎都很好 - 我可以启动 Windows 和 Ubuntu,我无法告诉你这是否是因为磁盘插入了。我当时没有注意到这一点。

此后,我在 Windows 上安装了各种软件,还让 Ubuntu 上的 grub 菜单定制器移动菜单选项,并将一些我不打算经常使用的选项推入文件夹中。但仅此而已。今天早上我注意到,除非磁盘在驱动器中,否则我无法启动 Ubuntu。

答案1

关于“efi 磁盘读取错误”消息,我认为您需要禁用 Windows“快速启动”功能,如下所述:

这样做并不能解决更重要的“黑屏”问题,但从长远来看,这个问题至少同样严重,因为不解决这个问题可能会导致文件系统损坏,在极端情况下,甚至无法启动计算机。

“黑屏”问题众所周知,但原因和解决方法却多种多样。最普遍的解决方法似乎是使用nomodeset内核选项,但还有其他几种方法,其中许多方法只适用于特定芯片组。搜索此网站后,会发现几个与此主题相关的问题,例如:

我不能保证其中任何一个(或这里或其他地方的许多其他问题)会对您有所帮助,但我建议您从这些答案开始。

答案2

还:

看起来启动修复运行了其“有缺陷的”UEFI 重命名功能。我不确定它是否始终是必需的,但它是针对那些内部硬编码 UEFI 以仅启动 Windows efi 文件的 UEFI。因此,Boot-Repair 重命名 Windows 文件并使 grub2 的 shim 成为 Windows 文件。UEFI 认为它正在启动 Windows,但实际上是在启动 grub2/shim,然后您可以从 grub2 菜单启动 Windows。

检测到内核错误。是否要激活 [备份并重命名 Windows EFI 文件]?是(如果任何选择失败,请重试其他选择)

然后将 /EFI/microsoft/boot/shimx64.efi 重命名为 bootmgfw.efi 实际的 Windows 启动文件(最初是 bootmgfw.efi)变成这样:

/EFI/Microsoft/Boot/bkpbootmgfw.efi

使用重命名的文件,您无法直接从 UEFI 菜单启动 Windows,因为它实际上是 shim。并且 Windows 更新可能会重写 bootmgfw.efi 文件并覆盖 shim 版本,因此如果您只能启动 Windows 版本,则必须重新运行启动修复。如果您可以在 UEFI 菜单中启动 Ubuntu 条目,请撤消重命名。

要撤消并将文件重命名为其原始名称,只需勾选 Boot-Repair 的“恢复 EFI 备份”选项。Windows UEFI 安装应该在此处备份 bootmgfw.efi:

来自正常运行的 Windows x86_64 安装的 C:\Windows\Boot\EFI\bootmgfw.efi。

相关内容