# 硬件限制

对于 macOS,你需要在涉足安装之前意识到有许多的硬件限制。这些限制直到 Apple 支持更多的硬件时才能解决,所以我们会被 Apple 或者由社区创建的补丁限制。

主要的需要检查的硬件部分有:

对于此话题的更多详细的指南,请查看这些:

# CPU 支持

对于 CPU 支持,我们有以下的分析:

  • 32 位和 64 位 CPU 都被支持
    • 这是操作系统支持你的架构的需求,更多信息请查看下方的“CPU 要求”部分
  • 英特尔桌面 CPU 都被支持
    • 在此指南中,从 Yonah 到 Comet Lake 都被支持。
  • 英特尔高端桌面和服务器 CPU。
    • 在此指南中,从 Nehalem 到 Cascade Lake X 都被支持。
  • 英特尔酷睿“i”系列和至强系列笔记本 CPU
    • 在此指南中,从 Arrendale 到 Ice Lake 都被支持。
    • 注意,凌动移动端、赛扬和奔腾 CPU 不被支持
  • AMD 的 Bulldozer(第 15 代)、Jaguar(第 16 代)和 Ryzen(第 17 代)桌面端 CPU
    • 笔记本 CPU 不被支持
    • 注意,不是 macOS 的所有功能都支持 AMD,更多信息请查看下方

更多深层的信息请查看这里:Hackintosh 硬件避坑指南

CPU 要求

架构要求

  • 32 位 CPU 支持 10.4.1 到 10.6.8
    • 注意,10.7.x 需要 64 位用户空间,所以将 32 位 CPU 限制到了 10.6
  • 64-bit CPU 支持 10.4.1 到当前最新版本

SEE 要求:

  • 所有英特尔版本的 OS X/macOS 需要 SSE3
  • 所有 64 位版本的 OS X/macOS 需要 SSSE3
    • 对于缺少 SSSE3 的 CPU(例如一些 64 位奔腾 CPU),推荐运行 32 位用户空间(i386-user32
  • macOS 10.12 和更高版本需要 SSE4
  • macOS 10.14 和更高版本需要 SSE4.2

固件要求:

  • OS X 10.4.1 到 10.4.7 需要 EFI32(例如 IA32(32 位版本)的 OpenCore)
    • OS X 10.4.8 到 10.7.5 支持 EFI32 和 EFI64
  • OS X 10.8 和更高版本需要 EFI64(例如 x64(64 位版本)的 OpenCore)
  • OS X 10.7 到 10.9 需要 PartitionDxe.efi 以启动恢复(Recovery)分区

内核要求:

  • OS X 10.4 和 10.5 需要 32 位的内核扩展,因为只支持 32 位内核空间
    • OS X 10.6 和 10.7 支持 32 位和 64 位的内核空间
  • OS X 10.8 和更高版本需要 64 位内核扩展,因为只支持 64 位内核空间
    • 运行 lipo -archs 以知道你的内核扩展支持什么架构(记得在二进制文件上运行,并且不需要 .kext 后缀名)

特殊要求:

  • Lilu 和它的插件需要 10.8 或更高版本来运行
    • 我们推荐在低版本的 OS X 中使用 FakeSMC
  • OS X 10.6 和更低版本需要启用 RebuildAppleMemoryMap
    • 此项用于解决低版本的内核问题
英特尔 CPU 支持表

支持来源于原生内核(即没有修改):

CPU 世代 初始支持版本 最高支持版本 注释 CPUID
奔腾 4 10.4.1 10.5.8 仅用于开发包 0x0F41
Yonah 10.4.4 10.6.8 32 位 0x0006E6
Conroe, Merom 10.4.7 10.11.6 不支持 SSE4 0x0006F2
Penryn 10.4.10 10.13.6 不支持 SSE4.2 0x010676
Nehalem 10.5.6 当前版本 N/A 0x0106A2
Lynnfield, Clarksfield 10.6.3 10.14+ 无核芯显卡支持 0x0106E0
Westmere, Clarkdale, Arrandale 10.6.4 0x0206C0
Sandy Bridge 10.6.7 0x0206A0(M/H)
Ivy Bridge 10.7.3 11+ 无核芯显卡支持 0x0306A0(M/H/G)
Ivy Bridge-E5 10.9.2 N/A 0x0306E0
Haswell 10.8.5 0x0306C0(S)
Broadwell 10.10.0 0x0306D4(U/Y)
Skylake 10.11.0 0x0506e3(H/S) 0x0406E3(U/Y)
Kaby Lake 10.12.4 0x0906E9(H/S/G) 0x0806E9(U/Y)
Coffee Lake 10.12.6 0x0906EA(S/H/E) 0x0806EA(U)
Amber, Whiskey, Comet Lake 10.14.1 0x0806E0(U/Y)
Comet Lake 10.15.4 0x0906E0(S/H)
Ice Lake 0x0706E5(U)
Tiger Lake N/A N/A 未经测试 0x0806C0(U)
macOS 中的 AMD CPU 限制

很遗憾,很多 macOS 中的功能完全不支持 AMD,且很多其他部分都有损坏。它们包括:

  • 基于 AppleHV 的虚拟机
    • 包括 VMWare、Parallels、Docker、Android Studios 等等
    • 唯一的可能性是 VirtualBox,因为它有自己的虚拟化技术
    • VMware 10 和 Parallels 13.1.0 支持它们自己的虚拟化技术,但是使用过期的虚拟机软件会产生很大的安全风险
  • Adobe 支持
    • 大部分的 Adobe 套装基于英特尔 的 Memfast 指令集,运行于 AMD CPU 会导致崩溃
    • 你可以关闭一些功能,例如 RAW 支持来解决崩溃问题:Adobe Fixes
  • 32 位支持
    • 对于 Mojave 和更低版本中一些依然基于 32 位的软件,需要注意 Vanilla 的补丁不支持 32 位指令集
    • 一个解决办法是安装一个 自定义内核,但是这样会损失你的 iMessage 支持
  • 很多应用程序上持续存在的问题
    • 基于音频的应用程序更容易遇到问题,例如 Logic Pro
    • DaVinci Resolve 已经被发现偶尔会出现问题

# 显卡支持

显卡支持很复杂,涉及到市面上几乎所有的显卡,通常的分析是下面这样的:

带有独立显卡的笔记本电脑的重要注意事项:

  • 90% 的独立显卡都不会正常工作,因为它们的配置方式不被 macOS 支持(可切换显卡)。如果带有的是 NVIDIA 的独立显卡,那么这通常叫做 NVIDIA Optimus 技术。因为不可能利用独立显卡作为内置屏幕的显示输出,所以一般情况下建议屏蔽它们,并将它们的电源关闭(稍后将会涵盖在此指南中)。
  • 然而,在有些情况下,独立显卡驱动了任何外接显示输出(HDMI、mini DisplayPort 等等),可能工作也可能不工作;在那种情况下,它们会正常工作,你需要保持它打开并运行。
  • 然而,有些笔记本电脑罕见地不支持可切换显卡,所以可以使用独立显卡(如果被 macOS 支持),但是接入并安装通常会导致问题。

被支持的显卡的完整列表,请查看显卡买家指南

英特尔显卡支持表
显卡世代 初始支持版本 最新支持版本 注释
第 3 代 GMA 10.4.1 10.7.5 需要 32 位内核和补丁
第 4 代 GMA 10.5.0
Arrendale(HD Graphics) 10.6.4 10.13.6 只支持 LVDS、eDP 但不支持外接显示输出
Sandy Bridge(HD 3000) 10.6.7 N/A
Ivy Bridge(HD 4000) 10.7.3 10.15.7
Haswell(HD 4XXX, 5XXX) 10.8.5 当前版本
Broadwell(5XXX, 6XXX) 10.10.0
Skylake(HD 5XX) 10.11.0
Kaby Lake(HD 6XX) 10.12.4
Coffee Lake(UHD 6XX) 10.13.6
Comet Lake(UHD 6XX) 10.15.4
Ice Lake(Gx) 10.15.4 需要在启动参数中添加 -igfxcdc-igfxdvmt
Tiger Lake(Xe) N/A N/A 无可用驱动

注意:Apple 在 macOS 11 Big Sur 中保留了 Ivy Bridge 的核芯显卡的驱动,然而它们正在计划移除。请意识到它们可能会在过些时候被删除。

AMD 显卡支持表
显卡世代 初始支持版本 最新支持版本 注释
X800 10.3.x 10.7.5 需要 32 位内核
X1000 10.4.x N/A
Terascale 10.4.x 10.13.6
Terascale 2/3 10.6.x
GCN 1 10.8.3 当前版本
GCN 2/3 10.10.x
Polaris 10, 20 10.12.1
Vega 10 10.12.6
Vega 20 10.14.5
Navi 10 10.15.1 需要在启动参数中添加 agdpmod=pikera
Navi 20 11.1 当前的驱动无法使用
Nvidia 显卡支持表
显卡世代 初始支持版本 最新支持版本 注释
GeForce 6 10.2.x 10.7.5 需要 32 位核心和 NVCAP 补丁
GeForce 7 10.4.x 需要 NVCAP 补丁
Tesla 10.4.x 10.13.6
Tesla V2 10.5.x
Fermi 10.7.x
Kepler 10.7.x 当前版本 N/A
Kepler V2 10.8.x
Maxwell 10.10.x 10.13.6 需要 WebDriver
Pascal 10.12.4
Turing N/A N/A 无驱动可用
Ampere

# 主板支持

大部分情况下,只要 CPU 被支持,主板也一样支持。以前,B550 主板有一些问题:

但是感谢近期所做的开发,B550 主板现在已经可以配合附加的 SSDT-CPUR 启动。更多的信息将会在收集文件Zen 的 config.plist 部分

# 存储支持

大部分情况下,所有基于 SATA 的驱动器都被支持,而且大部分 NVMe 的驱动器也一样运行得好。这里只有一小部分例外:

  • 三星 PM981、PM991 and 镁光 2200S NVMe SSD
    • 这些 SSD 不能很好地兼容(会导致内核错误)所以需要 NVMeFix.kext 以修复这些内核问题。注意,即便使用 NVMeFix.kext,这些驱动器仍可能导致启动问题。
    • 另一方面,三星 970 EVO Plus NVMe SSD 也存在同样的问题,但是已经在固件更新中被修复了;在这里获取更新(通过 Windows 下的 Samsung Magician 或可启动的 ISO)。
    • 同时需要注意的是,为 HDD 加速而使用英特尔傲腾内存或者镁光 3D XPoint 的笔记本电脑在 macOS 中不受支持。一些用户曾报告在 Catalina 中成功运行——甚至是读写也完全支持,但是我们强烈推荐移除傲腾内存以排除潜在的启动问题。

# 有线网络

实际上,所有的有线网络适配器在 macOS 中都有某种形式的支持,无论是使用内建驱动或是社区制作的内核扩展。主要的例外情况:

  • Intel 的 2.5GB 以太网 i225 网卡
    • 在高端桌面 Comet Lake 主板上被发现
    • 可行的变通办法:来源示例
  • Intel 的服务器网卡
  • Mellanox 和 Qlogic 服务器网卡

# 无线网络

大部分笔记本电脑自带的 Wi-Fi 芯片都不被支持,因为它们通常由英特尔或高通制造。如果你比较幸运,你可能会有一块 Atheros 芯片,但是对它的支持仅持续到了 High Sierra。 最佳选项是获取一块博通(Broadcom)的无线网卡,查看 无线网卡买家指南以获得推荐的产品。

# 杂项

  • 指纹传感器
    • 目前没有任何方式来模拟 Touch ID 传感器,所以指纹传感器不能工作。
  • Windows Hello 面部识别
    • 一些笔记本电脑带有连接至 I2C 的 Windows Hello 面部识别(并使用你的核芯显卡),它们将不会工作。
    • 一些笔记本电脑带有连接至 USB 的 Windows Hello 面部识别,如果你比较幸运,那你可能会得到摄像头的功能,但没有更多别的作用。
  • 英特尔智音技术(Intel Smart Sound Technology)
    • 带有英特尔智音技术的笔记本电脑,将不会有任何连接到英特尔智音技术的设备正常工作,因为它不被支持。你可以在 Windows 上的设备管理器中查看。
  • 耳机组合插孔
    • 一些带有耳机组合插孔的笔记本电脑可能无法通过它得到音频输入,所以不得不使用内建麦克风或者外接的 USB 音频输入设备。
  • Thunderbolt USB-C 接口
    • (Hackintosh 的)Thunderbolt 接口在 macOS 中的支持目前依然存在问题,目前很多笔记本电脑都带有的 Alpine Ridge 控制器更是如此。有人曾尝试过让控制器保持通电,这可以让 Thunderbolt 接口和 USB-C 工作在热插拔模式下,但这是以内核错误和/或 USB-C 睡眠后中断为代价的。如果你想使用 USB-C 一侧的端口并且可以正常睡眠,你必须将它接入并且保持接入状态。
    • 注意:这不适用于仅限 USB-C 的接口——仅适用于 Thunderbolt 3 和 USB-C 混合的接口。
    • 在 BIOS 中关闭 Thunderbolt 可以解决这个问题。