我知道这个话题已经被广泛讨论过,但是相信我,这个问题还没有解决:
我想在运行 El Capitan 的 MacBookPro8.2(2011 年初)上安装 EFI Windows 10。使用 Bootcamp Assistant,您只能在 BIOS 模式下安装 Windows,因为它会将 GPT 磁盘转换为混合 MBR。
对于大多数 Mac 用户来说,解决这个问题的方法是直接启动包含 Windows ISO 文件的 USB 驱动器。在此 MBP 型号中,您必须使用光驱并从 CD 执行安装,因为它不允许您从 USB 启动任何内容。
然而,启动 CD(或任何与此相关的事)在 EFI 模式下不允许。只显示 BIOS 选项,因此安装程序认为您的计算机在 BIOS 模式下运行,并要求您在安装 Windows 之前将 GPT 磁盘转换为 MBR(显然是在 BIOS 模式下)。
到目前为止,请相信我,我没有犯过刻录安装程序的错误,也没有被损坏的 USB 端口欺骗,这是此特定 MBP 型号(8.2,2011 年初)的问题。
我曾尝试使用虚拟机(例如 OSX 中的 virtualbox)安装 Windows,但也没有成功(不记得具体原因,安装过程中出现了一些错误)。我甚至尝试将 HDD 作为外部驱动器连接到另一台计算机以从中执行安装,我不知道这是否疯狂,但无论如何它都没有成功。
我尝试了所有能找到的解决方案,但都失败了。我花了太多时间安装和重新安装两个操作系统,并一次又一次刷新驱动器,最后我放弃了,只继续安装 MBR。我失去了新 SSD 承诺的快速启动功能,也无法从 Windows 操作系统访问内置 GPU。
也许只有 reEFInd 创建者 Rod Smith 知道如何实现这一点,但我真的很感谢您的任何建议......
答案1
在该型号的笔记本电脑上,无法以原生 EFI 模式运行任何版本的 Windows。我知道这一点,因为我有一台 2011 年末的 17 英寸 MacBook Pro,并且花了数年时间尝试让它运行。
我最接近的一次是通过将 install.wim 提取到硬盘驱动器并手动安装引导加载程序并使用 rEFInd 引导它来运行 Windows 7 原生 EFI。但它只适用于 Microsoft 基本 VGA 驱动程序(视频性能很差,不支持 Direct3D),而且我根本无法让声音正常工作——即使使用 Apple 的 Boot Camp 驱动程序也是如此。然而,我从未成功使用过 Win8 或 10。
归根结底,有四件事对你不利:
- Apple 是第一个将动态切换 GPU 推向市场的公司。他们在 AMD、nVidia 或 Intel 正式支持图形切换之前,就利用自己设计的硬件 GMUX 芯片实现了这一功能。该芯片对 Windows 是不可见的,因为它的内存地址位于旧 DOS 时代的影子 RAM 区域,Windows 至今仍在使用该区域。Apple 通过在固件的 BIOS 兼容性模块启动时将 GPU 锁定到独立适配器来解决此问题。如果没有此 BIOS 模拟,Windows 会在该区域看到无效的 ROM,并且无法加载视频驱动程序。
- Apple 还为显示器配备了定制的双链路 DDC,这样每个通道都会将不同的时钟信号从一个 GPU 传输到另一个 GPU 并传送到屏幕。当 OS X 切换 GPU 时,它也会将笔记本电脑面板从一个通道切换到另一个通道。同样,Apple 通过将 DDC 锁定到独立 GPU 传输到屏幕的单个通道来解决 Windows 中的这个问题。您还会注意到,将外部显示器连接到 MacBook 也会强制激活独立 GPU。与集成 GPU 的连接不会传输到 Thunderbolt 端口。
- Apple 真的很喜欢硬件开关!Mac 电脑中还有两个音频 DSP,由电脑侧面耳机插孔中的开关控制。一个是模拟的,为内置扬声器和耳机供电,另一个是数字的,用于光纤 S/PDIF 连接。即使在 OS X 中,这也是一个问题,因为有些人报告说开关卡住了,除非他们用牙签插入插孔并摇动开关,否则他们没有音频。我自己也遇到过这个问题。据我所知,这纯粹是 Apple 的问题,因为我从未在 PC 上看到过组合式耳机/光纤连接器。同样,除非 Apple 的 BIOS 兼容模式强制使用一个 DSP 或另一个 DSP,否则 Windows 不知道如何处理音频路由。我不知道是否可以在 bootcamp 中使用 S/PDIF,因为我没有任何光学设备可以测试。
- 最后,EFI 依赖于操作系统和固件之间的双向通信,Apple 早在 90 年代 EFI 出现之前就支持这种通信,但这对 Windows 世界来说还是新鲜事。在 EFI PC 上安装 Windows 时,Microsoft 的引导加载程序 (BCD) 会尝试使用 Apple 不支持的 EFI 命令使系统可启动。这是因为 OS X 不需要引导加载程序。Apple 的固件知道如何在没有引导加载程序的情况下启动自己的操作系统,并且他们已经运营了十多年,而不必关心其他操作系统对其 EFI 实现的看法。因此,bcdboot.exe 在尝试使系统可启动时会生成错误,并且 BCD 不了解 Apple 枚举 SATA 设备的方式。rEFInd 可能会有所帮助,但您肯定需要第三方实用程序来创建 Windows 启动的 BCD 存储。
在 2011 款 Mac 上确实可以以原生 EFI 模式启动 Linux。 这是一篇很好的文章可以为您指明正确的方向。基本上,您使用 Grub 将一些字节放入 GMUX 的内存区域以关闭独立 GPU,然后将一些参数传递给内核,使英特尔的驱动程序使用正确的屏幕信号。即使 Grub 可以在启动 Windows 之前将这些字节放入内存,英特尔的 Windows 驱动程序似乎也不支持非标准信号(或者如果它支持,我不知道它们需要在注册表中的哪里设置)。
所以是的...让 Windows 在 2011 年的 MacBook Pro 上启动原生 EFI 就像一颗甜美可口的水果,似乎你几乎可以伸手抓住,但它就是这样几乎触手可及,用不可能完成的任务来戏弄你,比如坦塔罗斯的折磨。