因此,我找到了一种通过 EFI 将 Windows 8 安装到我的 MacBook Air 上的方法——现在我的分区表看起来有点丑:
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_HFS MacHD 389.9 GB disk0s2
3: Microsoft Reserved 134.2 MB disk0s3
4: Microsoft Basic Data LINUX 50.0 GB disk0s4
5: Microsoft Basic Data 50.0 GB disk0s5
6: Microsoft Basic Data SCHULE 10.0 GB disk0s6
到目前为止一切顺利......问题是,我有一个混合方案 - 所以我有 GPT 和 MBR。
随着时间的推移,我发现gdisk
剥离我的 MBR,或者基本上删除它......但这不起作用,它仍然存在:
Disk size is 977105060 sectors (465.9 GiB)
MBR disk identifier: 0x00000000
MBR partitions:
Number Boot Start Sector End Sector Status Code
1 1 977105059 primary 0xEE
现在,当我尝试启动 Windows 8 时,它会显示启动屏幕,然后变黑并完全停止。我猜它正在执行以下操作:
- EFI“调用”Windows
- Windows 执行启动准备
- 出现下一个启动级别,看到 MBR,并尝试使用它进行启动。<- 失败。
由于我的 MBR 只是一个大分区,所以我很好奇它仍然试图从中启动。在安装过程中,我还能看到我的其他分区 - 超出 4 个分区的限制。
查看 Windows 驱动器,它似乎是 NTFS 驱动器,据我所知,EFI 无法从此类驱动器启动……但是,它可以从 Mac 的 HFS 启动。所以我对真正发生的事情有点困惑。
任何想法?
答案1
首先,混合型MBR,Windows 只能在 BIOS 模式下安装。因此,您声称您以 EFI 模式安装 Windows 并带有混合 MBR 的说法是可疑的;您肯定在这两点之一上错了。如果您确实有一个混合 MBR 并且您将其转换为保护性 MBR,Windows 将停止启动。这与您报告的症状一致,所以我怀疑您实际上是在 BIOS 模式下使用混合 MBR 启动的。如果此分析正确,则解决方案是使用、或其他工具恢复您的混合gdisk
MBR gptsync
。
其次,您提供的 MBR 数据是不是对于混合 MBR;它显示了一个有效的保护性 MBR,这是一个必要的有效 GPT 的一部分。因此,您应该不是尝试删除 0xEE 分区。这样做会导致您的 GPT 无效。我不确定 Mac 的固件会对此做出什么反应。
第三,关于 EFI 和 NTFS,Mac 的 EFI 固件包含 FAT 和 HFS+ 驱动程序,它可以从任一文件系统读取引导加载程序。相比之下,典型的基于 UEFI 的 PC 上的固件包含一个 FAT 驱动程序,仅此而已。从基于 UEFI 的 PC 上的 NTFS 驱动器启动 Windows 不是问题,因为 NTFS 驱动程序包含在存储在 FAT EFI 系统分区 (ESP) 上的 Windows 引导加载程序文件中。同样的事情可以在 Mac 上进行,但让 Windows 在 Mac 上以 EFI 模式启动可能很棘手。据说 Windows 8 比 Windows 7 要容易得多,但我碰巧没有任何关于如何做到这一点的参考资料。我感觉有些型号比其他型号更容易。
答案2
尝试使用 Mac OS X 的磁盘实用程序修复整个磁盘(选择磁盘本身,而不是其中一个缩进的分区)。希望它能发现您搞砸了 PMBR 并重新创建它。PMBR = 保护性 MBR:PMBR 会告诉不支持 GPT 的旧软件整个磁盘正在使用中,这样旧版软件就不会试图弄乱磁盘。
您的目标是拥有一个不受干扰的 PMBR,或者一个完美镜像 GPT 的 MBR。您不会希望拥有没有任何形式的 MBR 的 GPT。