- 文档
- 教程
【免费下载链接】OpenCore-Install-Guide
Repo for the OpenCore Install Guide
macOS 11 Big Sur 是苹果自 macOS 10.15 Catalina 之后的一次重大版本换代,它引入了签名系统卷(Signed System Volume,SSV)、APFS 系统卷快照机制以及新的 SIP 标志位,同时淘汰了一批老旧 SMBIOS 与硬件驱动。本文基于 OpenCore Install Guide 仓库的 extras/big-sur/README.md 整理出完整的 Big Sur 黑苹果(Hackintosh)部署指南,覆盖安装前的 SMBIOS 与硬件兼容性检查、kext 与 OpenCore 版本要求、已知问题清单,以及从启动卡死到内核崩溃(Kernel Panic)的系统性故障排查方案。阅读完成后,你将能够判断自己的平台是否满足 Big Sur 安装前提,并能够针对Forcing CS_RUNTIME for entitlement、max_cpus_from_firmware not yet initialized、X99/X299 RTC 问题、ramrod卡死等典型故障给出可落地的修复配置。
安装前必备条件(Prerequisites)
在动手安装 Big Sur 之前,需要依次确认三个前提:你的 SMBIOS 是否仍被系统支持、硬件驱动是否被裁剪、以及 OpenCore、kext 与 config.plist 是否足够新。
受支持的 SMBIOS:哪些机型被 Big Sur 淘汰
Big Sur 从 macOS 中移除了若干基于 Ivy Bridge 与 Haswell 的 SMBIOS。如果你的机器在 Catalina 下正常工作,且不属于下列被移除的名单,那么可以放心继续:
| 被 Big Sur 移除的 SMBIOS | 说明 |
|---|---|
| iMac14,3 及更早 | 注意 iMac14,4 仍然受支持 |
| MacPro5,1 及更早 | |
| Macmini6,x 及更早 | |
| MacBook7,1 及更早 | |
| MacBookAir5,x 及更早 | |
| MacBookPro10,x 及更早 |
仍受 macOS Big Sur 支持的 SMBIOS 列表如下:
| 仍受支持的 SMBIOS |
|---|
| iMac14,4 及更新 |
| MacPro6,1 及更新 |
| iMacPro1,1 及更新 |
| Macmini7,1 及更新 |
| MacBook8,1 及更新 |
| MacBookAir6,x 及更新 |
| MacBookPro11,x 及更新 |
完整的 SMBIOS 支持矩阵(含各机型的 CPU 家族、GPU、board-id 与初始/最终支持版本)可查阅 extras/smbios-support.md。需要说明的是,SMBIOS 的选择不只是 CPU 配对那么简单,它同时决定 CPU 电源管理(XCPM 支持)、GPU 电源管理(AGPM)、USB 映射与 DRM 行为,因此被淘汰的老机型不能简单沿用旧 SMBIOS。
对于手中机型需要“翻译”到新 SMBIOS 的用户,官方给出如下迁移建议:
- iMac13,1 → 迁移到 iMac14,4
- iMac13,2 → 迁移到 iMac15,1
- iMac14,2 与 iMac14,3 → 迁移到 iMac15,1
- 注意:使用 NVIDIA GPU 的 AMD CPU 用户可能更适合 MacPro7,1
- iMac14,1 → 迁移到 iMac14,4
受支持的硬件:哪些驱动与网卡被移除
Big Sur 虽然裁掉了不少 SMBIOS,但真正被移除的硬件并不算多,主要集中在这几类:
- 消费级 Ivy Bridge CPU(U / H / S 后缀):这些 CPU 依然可以无大碍地引导系统,但 Big Sur 中没有任何官方 Mac 使用消费级 Ivy Bridge。Ivy Bridge-E 处理器由于被 MacPro6,1 采用而仍然受支持。
- Ivy Bridge 核显(HD 4000 与 HD 2500):苹果计划移除这两款核显驱动,不过在 macOS 11.0.1 中这些驱动依然存在。
- BCM4331 与 BCM43224 无线网卡:这两款网卡被移除支持。潜在的变通方案是注入打过补丁的 IO80211Family(即社区流传的 IO80211 Patches 方案)。
- 部分 SATA 控制器:苹果直接从
AppleAHCIPort.kext中删除了AppleIntelPchSeriesAHCI类。由于类是整段移除,试图通过修改 ID 来欺骗系统(即 SATA-unsupported.kext 的常见做法)在很多情况下会失败,对其他用户还会引发不稳定。
针对 SATA 问题的部分修复方案是注入 Catalina 版本的修补后AppleAHCIPort.kext,仓库中提供了现成的样例: extra-files/CtlnaAHCIPort.kext.zip。官方建议为该 kext 设置MinKernel为20.0.0,以规避潜在冲突。这样它既能在 Catalina 下工作,也能在 Big Sur 下工作,如果愿意甚至可以移除 SATA-unsupported.kext。
其他值得注意的变化:
- MSI Navi 显卡用户不再需要
ATY,rom或-wegnoegpu补丁即可引导安装程序。 - 第二阶段安装要求 NVRAM 正常工作。Asus 9 系列主板以及 NVRAM 有问题的 X99 / X299 用户,需要先在另一台机器上完成安装,再把 SSD 移回原机。
保持 OpenCore、kext 与 config.plist 处于最新版本
确保你使用的是最新版的 OpenCore、各 kext 与 config.plist,避免出现莫名其妙的兼容性问题。不确定自己正在使用哪个 OpenCore 版本时,可以在终端执行以下命令:
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version注意:上述命令要求Misc -> Security -> ExposeSensitiveData中包含位0x2。推荐值为0x6,它同时包含位0x2与位0x4。
AMD 用户特别提醒
AMD 用户务必更新 AMD OS X 提供的内核补丁(kernel patches),否则将无法引导 Big Sur。仓库中对应的 AMD 平台配置指南可参考 AMD/zen.md(覆盖 Ryzen/Threadripper 17h 与 19h),其中详细说明了Kernel -> Patch中algrey - Force cpuid_cores_per_package等补丁的Replace值需要按 CPU 物理核心数改写(例如 8 核 5800X 的 Replace 值为B8 08 0000 0000/BA 08 0000 0000/BA 08 0000 0090)。若你的平台还在使用旧的 FX 系列,可参考 AMD/fx.md。
Intel HEDT 用户特别提醒(X79 / X99 / X299)
Big Sur 为 ACPI 增加了新要求,X79、X99 与 X299 用户需要补充新的 SSDT:
- X79:
SSDT-UNC - X99:
SSDT-UNC+SSDT-RTC0-RANGE - X299:
SSDT-RTC0-RANGE
这些 SSDT 的用途与配置方式在 config-HEDT/skylake-x.md 中有对应说明:SSDT-RTC0-RANGE用于启用 macOS 中的 legacy RTC 时钟,是所有 Big Sur 用户都需要确认 RTC 设备兼容性的关键表;SSDT-UNC则用于关闭未被使用的 uncore PCI Bridge,避免 IOPCIFamily 内核崩溃。仓库的 ACPI 编译产物参考可查看 Misc-files/SSDT-GPIO.aml 与 Misc-files/SSDT-XOSI.aml(命名与加载方式一致:.aml放入EFI/OC/ACPI并在ACPI -> Add中登记)。
需要预编译文件时,可以参考 Getting Started with ACPI 中的预编译 SSDT 章节;本仓库的 extra-files 目录也提供了一批可直接引用的补丁样例,例如SSDT-EC-USBX-AMD.aml、SSDT-PMC.aml、SSDT-XOSI.aml等。
已知问题清单(Known Issues)
Big Sur 上线后损坏了不少功能,主要集中在以下几个方面:
- Lilu:用户态(user-space)补丁严重损坏,导致部分功能失效,包括:
- DiskArbitrationFixup
- MacProMemoryNotificationDisabler
- SidecarEnabler
- SystemProfilerMemoryFixup
- NoTouchID
- WhateverGreen 的 DRM 与
-cdfon补丁
- AirportBrcmFixup:强制加载特定驱动可能有效,例如 BCM94352Z 用户可能需要在 boot-args 中添加
brcmfx-driver=2,其他芯片组需要不同取值。也可以尝试将AirPortBrcm4360_Injector.kext的MaxKernel设置为19.9.9。 - SATA 支持损坏:原因即上文提到的苹果移除
AppleIntelPchSeriesAHCI类,解决方案是加入 Catalina 修补版AppleAHCIPort.kext(extra-files/CtlnaAHCIPort.kext.zip),并将MinKernel设为20.0.0。 - XhciPortLimit 在 macOS 11.3 Beta 2 及更新版本中损坏:自 macOS 11.3 起
XhciPortLimit会导致开机循环。建议要么安装更老的系统(如 macOS 10.15 Catalina),要么寻找 11.2.3 或更早的 Big Sur 安装包。如果你已经完成 USB 端口映射并禁用XhciPortLimit,则可以无碍引导 macOS 11.3+。
另外,虽然不是故障,但 SIP 新增了一个标志位:要在 Big Sur 上彻底禁用 SIP,需要将csr-active-config设置为FF0F0000。关于各版本 SIP 标志位的完整说明与逐位解读,可参考 troubleshooting/extended/post-issues.md 中的 “Disabling SIP” 一节——该节给出了从00000000(完全启用)到03000000(禁用 kext 签名与文件系统保护)、FF030000(High Sierra 全禁用)、FF070000(Mojave/Catalina 全禁用)、FF0F0000(Big Sur 全禁用,新增 authenticated root 标志)的完整取值链。同时需要注意:Big Sur 的软件更新可能因禁用 SIP 而失效,特别是CSR_ALLOW_UNAUTHENTICATED_ROOT与CSR_ALLOW_APPLE_INTERNAL这两个标志,建议只按需关闭具体位而不是整体禁用。在 OpenCore 中修改csr-active-config后,若此前已经设置过该变量,还必须同步在NVRAM -> Delete中登记覆盖,否则变量不会被改写。
安装流程
官方指南已针对 Big Sur 更新,请根据你的操作系统环境选择对应的安装教程:
- macOS 用户:installer-guide/mac-install.md
- Windows 用户:installer-guide/windows-install.md
- Linux 用户:installer-guide/linux-install.md
以 macOS 平台为例,安装介质制作的核心链路是:通过 App Store、softwareupdate --fetch-full-installer或 Munki 脚本获取安装器 → 使用磁盘工具将 U 盘格式化为 GUID 分区图的 HFS+ → 执行createinstallmedia写入安装器 → 挂载 EFI 分区并放入 OpenCore 引导环境(详见 installer-guide/mac-install.md 的 “Setting up the installer” 与 “Setting up OpenCore's EFI environment” 小节)。
若你希望在 VMware Fusion 虚拟机中安装 Big Sur(例如用于测试),仓库在 extras/big-sur/fusion.md 中提供了完整流程:使用 extra-files/raw2vmdk.jar 将.img磁盘镜像转换为链接式 VMDK,再通过原始磁盘直通(raw disk passthrough)或 USB 直通两种方式挂载目标盘,最后编辑 vmx 文件把sata0:1设备类型改为rawDisk并引导安装。注意虚拟机内的 macOS 无法使用 AppleHV 框架(AMD 平台常见限制),相关内容可参考 troubleshooting/extended/post-issues.md。
故障排查(Troubleshooting)
Big Sur 的安装与使用伴随着一批具有代表性的故障现象,下面按症状逐项给出根因与修复方案。
卡在Forcing CS_RUNTIME for entitlement
这个阶段实际上是 macOS 正在对系统卷进行密封(seal)操作,表面上看起来像是系统卡死了。千万不要以为卡住就重启,密封过程需要相当长的时间,一旦中途重启会破坏整个安装。
Intel X99 / X299 主板卡在PCI Configuration Begins
如前文所述,Intel HEDT 主板的 RTC 设备在 ACPI 中可能存在区域缺失问题。解决方法是用SSDT-RTC0-RANGE检查你的 RTC 设备并补齐缺失的区域(OpenCorePkg 的 AcpiSamples 中提供该表源码)。X299 平台的完整 ACPI 配置可对照 config-HEDT/skylake-x.md 的 ACPI 小节。
卡在ramrod(^^^^^^^^^^^^^)处
如果在ramrod段卡住——具体表现为:能启动、命中该错误、然后自动重启回到该错误形成循环——说明你的 SMC 模拟器(SMC emulator)已损坏。修复方式有两种:
- 确保使用最新构建的 VirtualSMC 与 Lilu,并添加
vsmcgen=1boot-arg; - 切换到 FakeSMC,并可用上文提到的
MinKernel/MaxKernel技巧将 FakeSMC 限制在 Big Sur 及更新系统上加载。
切换 kext 时务必确认 config.plist 中没有同时启用 FakeSMC 与 VirtualSMC,否则会引发冲突。
X79 / X99 在 IOPCIFamily 上内核崩溃
根因是 ACPI 中启用了未使用的 uncore PCI Bridge,IOPCIFamily 在探测未知设备时触发内核崩溃。解决方法是在系统中加入SSDT-UNC。
DeviceProperties 注入失效
Big Sur 对设备是否存在于 ACPI 中变得非常挑剔,尤其是为 WhateverGreen 或 AppleALC 注入关键属性时,可能发现注入不再生效。请使用 IORegistryExplorer 检查硬件上是否有acpi-path属性,验证 ACPI 是否定义了你的硬件。如果找不到该属性,就需要创建一个提供完整路径的 SSDT(OpenCorePkg 的 AcpiSamples 中提供了SSDT-BRG0示例),因为你的 ACPI 表中很可能存在一个未被登记的 PCI Bridge。
- 注意:这个问题在更早的 macOS 版本上也可能出现,但 Big Sur 上最常遇到。
键盘与鼠标失灵(legacy 系统)
某些较老平台的 USB 端口正常工作,但基于 HID 的键鼠设备失灵。解决方法是在config.plist -> Kernel -> Patch中加入如下补丁:
| Key | Type | Value |
|---|---|---|
| Base | String | _isSingleUser |
| Count | Integer | 1 |
| Enabled | Boolean | True |
| Find | Data | (空) |
| Identifier | String | com.apple.iokit.IOHIDFamily |
| Limit | Integer | 0 |
| Mask | Data | (空) |
| MaxKernel | String | (空) |
| MinKernel | String | 20.0.0 |
| Replace | Data | B801000000C3 |
| ReplaceMask | Data | (空) |
| Skip | Integer | 0 |
早期内核崩溃:max_cpus_from_firmware not yet initialized
Big Sur 内核新增了acpi_count_enabled_logical_processors方法,部分硬件会在此处触发早期内核崩溃。解决方法:确保 OpenCore 版本为 0.6.0 或更新,并启用AvoidRuntimeDefragQuirk(该 Quirk 位于Booter -> Quirks,其作用是修复 UEFI 运行时服务如时间、NVRAM 与电源控制等)。
- 注意:由于崩溃发生在极早期,你只能通过串口日志,或重启进入一个已知正常的 macOS 安装并查看记录在 NVRAM 中的 panic 日志来捕获它。大多数用户看到的仅仅是
[EB|#LOG:EXITBS:START]。
以下为典型的崩溃日志形态(屏显与串口/NVRAM 记录):
传统平台边缘情况(如 HP DC7900)
在部分硬件(主要是 HP DC7900)上,内核仍无法确定你的 CPU 支持多少线程,导致同样的内核崩溃,此时需要硬编码 CPU 核心数。在config.plist -> Kernel -> Patch中添加如下补丁(将B8 04 00 00 00 C3中的04替换为你硬件支持的 CPU 线程数):
| Key | Type | Value |
|---|---|---|
| Base | String | _acpi_count_enabled_logical_processors |
| Count | Integer | 1 |
| Enabled | Boolean | True |
| Find | Data | (空) |
| Identifier | String | Kernel |
| Limit | Integer | 0 |
| Mask | Data | (空) |
| MaxKernel | String | (空) |
| MinKernel | String | 20.0.0 |
| Replace | Data | B804000000C3 |
| ReplaceMask | Data | (空) |
| Skip | Integer | 0 |
无法更新到更新的 Big Sur 版本
一般有两大原因:
- 损坏的更新工具(Broken Update Utility)——运行测试版系统时最常见的错误,优先尝试此方案;
- 损坏的密封(Broken Seal)。
损坏的更新工具
这是每个测试版周期都会出现的问题,通常重新取消注册再注册即可:
# 从 beta 目录取消注册 sudo /System/Library/PrivateFrameworks/Seeding.framework/Resources/seedutil unenroll # 重新注册 sudo /System/Library/PrivateFrameworks/Seeding.framework/Resources/seedutil enroll DeveloperSeed然后回到系统设置检查,更新应该就会出现。如果仍未出现,执行以下命令:
# 通过终端列出软件更新 softwareupdate -l这通常能让更新工具重新正常工作。如果依旧有问题,请检查下一节的 “损坏的密封”。
损坏的密封(Broken Seal)
苹果为系统盘引入快照机制后,OS 更新能否正确应用高度依赖快照。因此当驱动器密封损坏时,macOS 会拒绝更新。可以用diskutil apfs list自行验证系统卷的Snapshot Sealed是否返回YES:
# 列出所有 APFS 卷 diskutil apfs list # 找到你的系统卷 Volume disk1s8 A604D636-3C54-4CAA-9A31-5E1A460DC5C0 --------------------------------------------------- APFS Volume Disk (Role): disk1s8 (System) Name: Big Sur HD (Case-insensitive) Mount Point: Not Mounted Capacity Consumed: 15113809920 B (15.1 GB) Sealed: Broken FileVault: No | Snapshot: 4202EBE5-288B-4701-BA1E-B6EC8AD6397D Snapshot Disk: disk1s8s1 Snapshot Mount Point: / Snapshot Sealed: Yes如果Snapshot Sealed返回Broken,按以下步骤处理:
- 将 OpenCore 更新到 0.6.4 或更新版本(要求包含修复提交
ba10b5d或更新); - 回滚到更旧的快照——主要针对那些动过系统卷的用户,回滚方法参见 troubleshooting/extended/post-issues.md 的 “Rolling back APFS Snapshots” 一节(进入恢复分区选择 “Restore From Time Machine Backup” 即可回滚)。
内核崩溃:Rooting from the live fs
完整错误信息为:
Rooting from the live fs of a sealed volume is not allowed on a RELEASE build这是 Beta 10 中启用 Secure Boot 引导时与旧版 OpenCore 之间的兼容问题。将 OpenCore 更新到 0.6.4 即可解决(同样要求包含ba10b5d提交或更新)。关于 Apple Secure Boot 在 config.plist 中的配置(Misc -> Security -> SecureBootModel,Big Sur 到 Sonoma 推荐值为Default),可参考 config.plist/security.md。
Asus Z97 与 HEDT(X99 / X299)第二阶段安装失败
Big Sur 对原生 NVRAM 的依赖更强,否则安装程序会陷入重启循环。解决方式二选一:
- 在另一台机器上完成 Big Sur 安装,然后转移整个驱动器;
- 修复主板 NVRAM——主要适用于 Asus Z97 系列。
笔记本在内核cannot perform kext scan上崩溃
这是因为内核缓存中存在同一 kext 的多份拷贝,具体来说是存在多份 VoodooInput。请检查Kernel -> Add,确保只启用 1 份 VoodooInput。
- 注意:VoodooI2C 与 VoodooPS2 都内置捆绑了一份 VoodooInput,禁用哪一份视个人偏好而定。
macOS 11.3+ 重启在AppleUSBHostPort::createDevice: failed to create device
根因是XhciPortLimit在 macOS 11.3 及更新版本中损坏。解决办法是必须禁用Kernel -> Quirks下的XhciPortLimit,但前提是你已经正确完成了 USB 端口映射(否则可能丢失设备识别)。USB 映射与 USBX 电源属性的完整做法可参考仓库中的 AMD/AMD-USB-map.md 示例流程。
结语与后续指引
macOS 11 Big Sur 的引入使黑苹果生态发生了显著变化:签名系统卷与快照机制抬高了安装与更新的门槛,csr-active-config需要新的FF0F0000值,XhciPortLimit 在 11.3+ 失效,SMBIOS 支持范围整体前移。本文覆盖了从前提检查到典型故障的完整链路;对于配置细节,建议结合仓库中的平台专项文档(如 config-HEDT/skylake-x.md、AMD/zen.md)与通用故障手册(如 troubleshooting/extended/post-issues.md、troubleshooting/extended/kernel-issues.md)交叉阅读。若你计划在虚拟化环境(VMware Fusion)中先行验证,extras/big-sur/fusion.md 提供了逐步操作指南;后续若要升级到 macOS 12 Monterey,可参考 extras/monterey.md 中的新注意事项(如蓝牙栈重写、蓝延 kext 调整与 T2 SMBIOS 的 OTA 更新约束)。
- 文档
- 教程
【免费下载链接】OpenCore-Install-Guide
Repo for the OpenCore Install Guide
相关推荐
彻底解决macOS 11+兼容性难题:360Controller驱动的Big Sur适配全攻略
彻底解决macOS 11+兼容性难题:360Controller驱动的Big Sur适配全攻略 macOS Big Sur(11.0+)的系统架构升级给硬件驱动
驱动开发360Controller驱动终极解决方案:macOS Big Sur兼容性完整指南
360Controller驱动终极解决方案:macOS Big Sur兼容性完整指南 360Controller是macOS平台上最受欢迎的Xbox手柄驱动程序
驱动开发为 react-admin 构建可测试的组件与 Hooks:基于 ra-core 的单元测试完整指南
为 react admin 构建可测试的组件与 Hooks:基于 ra core 的单元测试完整指南 react admin(简称 ra)的核心包 ra cor
文档教程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考