尝试在 MBP 上进行三重启动,导致 Windows 崩溃

尝试在 MBP 上进行三重启动,导致 Windows 崩溃

我有一台装有 OS X 10.11(El Capitan)和 Windows 8.1(通过 Bootcamp)的 MBP。现在我想将 Ubuntu 添加到包中,因此使用 OS X 中的磁盘实用程序创建了一个新分区。从那一刻起,Windows 8 就无法启动了 - 我收到启动错误 0xc000000e,并且 Win8 USB 驱动器中的所有恢复工具都不起作用。

我继续安装 Ubuntu,发现无法启动它,因为启动时按下“Alt”键时分区没有显示出来。通过 Ubuntu USB 棒重置 EFI 的启动顺序是可行的,但只要我启动 OS X,它似乎就会覆盖启动顺序,我又无法启动 Ubuntu。我了解了启动管理器,我想安装 rEFInd 来解决启动顺序问题。

我该怎么做?先修复 Windows,然后安装 rEFInd 还是反过来?我该如何修复 Windows?我已经尝试了上述步骤这里但它不起作用——Windows 仍然无法启动。

我使用 FileVault 2,已禁用 El Capitan 的“系统完整性保护”功能并安装了 gdisk。我很乐意根据要求为您提供我的分区表的读数。

答案1

首先,Windows 启动模式存在很大的不确定性。从 Windows 7 开始,大多数 Windows 双启动安装都使用 Boot Camp,也就是说,Windows 以 BIOS/CSM/传统模式启动,而 OS X 以 EFI/UEFI 模式启动。此设置需要混合型 MBR,这是不可靠的,也是危险的。不过,自 Windows 8 以来,Windows 在 Mac 上以原生 EFI/UEFI 模式启动的能力已大大提高。因此,您可能安装了这样的系统,但甚至没有意识到。在做任何事情之前,您应该弄清楚您使用的是哪种启动模式。确定这一点的最佳方法是检查您的EFI 系统分区 (ESP),这是一个 FAT 分区——通常/dev/disk0s1在 Mac 上。(您可能需要使用 来挂载它,mkdir /Volumes/ESP然后使用sudo mount -t msdos /dev/disk0s1 /Volumes/ESP。)查找EFI/Microsoft该分区上的目录树(即,/Volumes/ESP/EFI/Microsoft如果您按照我指定的方式挂载它),尤其是查找名为 的文件EFI/Microsoft/Boot/bootmgfw.efi。如果该文件存在,则有力地证明了 Windows 是以 EFI 模式安装的。如果不存在,那么您可能是以 BIOS 模式安装的 Windows。

如果您安装了 EFI 模式的 Windows,我建议您删除混合 MBR,转而使用传统的保护性 MBR,并尝试让所有操作系统以 EFI 模式启动。您可以gdisk在任何操作系统中执行第一个任务 - 键入x以进入专家菜单,然后n创建新的保护性 MBR,最后w将该更改保存到磁盘。大多数 Mac 用户使用已停用的 rEFIt 或其支持的分支 rEFInd 来管理启动选择任务。禁用系统完整性保护后,您应该能够通过运行其install.sh脚本从 OS X 安装 rEFInd。您可能需要编辑refind.conf以取消注释scanfor并从选项列表中删除hdbios- 这将使 rEFInd 无法显示 BIOS 模式启动选项,这在本设置中不起作用。(注意:我是 rEFInd 的作者gdisk和维护者。)

如果您安装了 BIOS/CSM/旧版 Windows,则需要保留已安装的混合 MBR,或者创建一个新的。您引用的过程创建了一个新的混合 MBR,但不清楚您在其中包含了哪些分区。您必须包括您的 Windows 启动分区和您打算在操作系统之间共享的任何分区。我听到有人声称 Windows 对其分区号很挑剔,因此您可能需要在重新创建混合 MBR 时摆弄该细节。rEFInd 也可用于管理此类配置上的多重启动设置;但在这种情况下,您应该不是hdbiosscanfor中的行中删除refind.conf

如果你认为你已经拥有 BIOS 模式的 Windows 设置但无法启动它,你可以考虑将其转换为 EFI 模式启动。请参阅这篇博文一个程序即可完成此操作。此示例基于 PC,其中指定的大部分操作已在您的案例中完成。您需要删除混合 MBR(如前所述),而不是从 MBR 转换为 GPT。大多数情况下,您需要执行该程序第二页后半部分的操作。请注意,我从未在 Mac 上执行过此操作,而且我不知道有哪个网站提供针对 Mac 的此操作说明(尽管可能存在这样的网站),因此如果您尝试,您可能会成为开拓者。

答案2

好的,我又尝试了一下,结果如下:
最终修复启动错误的是建议使用 Win8 恢复 USB 运行以下命令来访问控制台:

bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

我发现这个建议此主题虽然我之前尝试过最后三个命令,但第一个命令显然奏效了。当我重新启动并按下“Alt”时,Mac 启动管理器向我展示了标有“Windows”的选项。虽然其中一个再次给我同样的旧启动错误,但另一个最终引导了一个正常工作的 Windows 8。
然后我继续安装 rEFInd,它也为我提供了两个不同的 Windows 选项(引导加载程序?)。经过多次重启后,我终于能够发现,在我告诉 rEFInd 不要扫描 EFI 分区后,故障选项消失了。因此,似乎上一个答案提到的 Win8 的 EFI 启动(位于 ESP:EFI/Microsoft/Windows/Boot)已损坏。但是,rEFInd 使用 BOOTCAMP 分区上的选项可以正常启动。当我使用 Apple Boot Manager 时,它仍然显示两个选项。
因此,在我看来,命令(或命令s) 我曾经在 BOOTCAMP 分区上创建了一个引导加载程序,现在可以使用它来代替分区损坏的 EFI 引导加载程序。我很高兴有一个可以正常工作的三重引导!

相关内容