我已经很久没有使用 Boot Camp 原生启动了(我已经使用虚拟机一段时间了),但我想再次使用 Boot Camp 来玩 Windows 独有的游戏。但是当我尝试时,我收到一条消息,说分区不可启动。
因此,我想我应该重新安装 Windows,因为我现在有 Windows 8,而我的 Windows 7 分区上没有任何重要的东西。因此,我启动了 Boot Camp 助手,并告诉它再次将我的 Windows 分区合并到我的 Mac OS 分区中,但失败了。它告诉我,“[我的] 磁盘无法恢复到单个分区”。Windows 分区不见了,但我的 Mac OS 分区并没有比以前大。
我再次尝试使用磁盘工具,但收到一条消息,告诉我这是由于文件系统错误造成的。
因此我去查看了较低级别的情况,并发现 Lion 或 Mountain Lion 占用了我的 Mac OS 分区末尾的 650 MB 块来放置恢复分区,该分区现在夹在 Mac OS 分区和(现已不存在的)Windows 分区之间:
$ sudo gpt -r show disk0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 720414896 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
720824536 1269544 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
722094080 254679055
976773135 32 Sec GPT table
976773167 1 Sec GPT header
分区索引 1 是 200 MB EFI 分区;索引 2 是我的 Mac OS 分区;索引 3 是恢复分区;而那个空闲块就是我的 Windows 分区在被 Boot Camp 助手清理掉之前所在的位置。
显然,由于存在新的分区,系统无法将可用空间重新整合到我的 Mac OS 卷中。
我其实并不关心分区布局,因为我计划为 Windows 8 提供完全相同的大小。但是,我担心无法使用当前设置再次安装 Windows。
在这种情况下,如何在不破坏 Mac OS 安装的情况下在 Mac 上安装 Windows 8?
以下是我一直在思考的一些事情:
- 用于
gpt
在可用空间中创建一个分区,然后newfs
创建可以在其上安装 Windows 的内容,但这不会以与 Boot Camp 兼容的方式修改 MBR; - 将恢复分区移动到磁盘的最远端(就在辅助 GPT 表之前),然后使用磁盘工具将连续的可用空间合并到我的 Mac OS 分区中,然后正常使用 Boot Camp 助手,但我不知道如何移动分区;
- 备份所有内容,清理磁盘上的所有内容,重新安装 Mac OS,重新安装 Windows,恢复 Mac OS 上的备份,但这将花费很长时间,而且在我获得足够大的驱动器之前我无法执行此操作(不幸的是,我暂时不做任何备份)。
有什么指导吗?
答案1
有两种基本方法可以以最小的干扰在系统上安装 Windows。这两种方法都始于在那一大块可用空间中为 Windows 创建 GPT 分区。然后,您可以执行以下两项操作之一:
- 创造一个新鲜的混合型MBR在仅指 Windows 分区的磁盘上。虽然大多数用于执行此操作的“传统”工具(如)
gptsync
在您的环境中不起作用,但有些工具可以。我自己的GPT fdisk (gdisk
)是可以完成这项工作的。然后,您可以在 BIOS 模式下启动 Windows 安装程序并以此方式安装。然后,您应该能够使用 Option 键进入 Apple 的启动管理器进行启动,或者使用第三方启动管理器,例如改装或者重新索引。 - 擦除磁盘上可能存在的任何混合 MBR 数据并恢复传统的合法保护 MBR。然后,您可以启动 Windows 8 安装程序在 EFI 模式下并以此方式安装。您可能还希望使用 rEFIt 或 rEFInd 作为启动管理器。这种方法理论上更简洁,但据我所知,Apple 不支持它,并且它可能无法在所有计算机上正常工作。这篇冗长的论坛帖子描述了为此所做的努力,最初是在 Windows 7 上,后来是在 Windows 8 上。可能还有其他论坛帖子描述了如何做到这一点,但我没有现成的参考资料。
我强烈建议您阅读我提供的有关混合 MBR 的第一个链接;它们是一种丑陋的黑客,很容易崩溃,并且您的配置需要对它们进行操作,这很容易给您带来麻烦。如果您了解它们,那么您不太可能遇到混合 MBR 问题——无论是创建新的 MBR 还是验证旧 MBR 的所有痕迹是否都已消失。