MBR 分区表只支持4个主要分区,如果按照一般的情况来安装 Windows 的话是不能再添加一个分区的。如果不幸对这个磁盘进行了分区,根据分区的方式会出现如下情况:
安装 Windows 时或后将 GPT 保护分区格式化
GPT 保护分区包含从 LBA1~LBA409639的所有数据,其中 GPT 头 和 GPT 主体部分都在这里。格式化这个分区意味着磁盘从混合分区表格式变为 MBR 分区表格式。尽管两个系统都还能继续启动,但对于 OS X 来说是灾难,首先磁盘无法进行动态分区,无法用 Boot Camp 助理移除 WIndows ,无法更新 OS X 等等。
安装 Windows 后在 OS X 里添加一个分区
这种做法对于 Windows 来说是一个灾难,当在 OS X 里添加一个分区后,GPT 分区表会跟 MBR 分区表同步,这时 GPT 已经有5个分区了,第5个刚好是 BootCamp ,所以 MBR 分区表自动将 BootCamp 踢出去,造成 Windows 无法引导。
传统的 BIOS 启动 Windows 在 BIOS 移交控制权后,Windows 全权掌握硬件服务层。
在 EFI 主板上使用兼容模式 CSM 来启动的 Windows 也是类似的。
对比起 WIndows 来说,OS X 并不掌握全部的硬件服务,OS X 需要 EFI 系统给出的硬件编程接口才能访问硬件。
BootCamp 启动的 Windows 则有点特别,与普通 EFI 主板上的兼容模式不同,Windows 在访问硬件需要经过 EFI 系统。这样做的作用就是 EFI 全权控制着 WIndows 的硬件访问能力,只要苹果有意,完全可以在驱动上限制 Windows 。
从 Boot Camp 引导的原理来看,要在 Mac 上实现单独安装 Windows 是非常简单的。Boot Camp 程序是固化在 EFI 系统里的,所以通过简单设置一下 Nvram 的变量,就可以引导 Windows,无需混合分区表格式。修改 Nvram 变量需要通过运行在 WIndows 下的 BootCamp 程序,这意味着,只要装好了苹果提供的 BootCamp 驱动,你的 Windows 就能运行在 Mac 上。更有甚者在第二块磁盘上安装一个完全独立的 Windows ,而且是基于纯净的 MBR 分区表上安装,这样可以忽略掉与 OS X 共享一个磁盘又不能多分区的尴尬。
尽管在 Mac 上单独装 Windows 也是很简单的,但 Mac 本身的 EFI 版本比较低,比很多 PC 主板的还低,所以一些较旧的型号甚至连 U 盘也不识别。这种旧型号的机器想要用上 Windows 得将磁盘拆下接到其它机器上装好系统再装回 Mac 。