安装后处理
macOS 安装完成后,还需要进行一系列配置来完善系统功能。本章节涵盖音频、USB映射、电源管理、睡眠、iServices、DRM、安全等关键配置。
目录
- 1. 修复音频
- 2. USB映射
- 3. 修复电源管理
- 4. 修复睡眠
- 5. 修复 iServices
- 6. 修复 DRM
- 7. 将 OpenCore 安装到硬盘
- 8. 更新 OpenCore 和 macOS
- 9. 安全设置
- 10. 笔记本专用设置
- 11. 美化设置
- 12. 多重启动
- 13. 其他修复
1. 修复音频
使用 AppleALC 修复音频
前提条件:已安装 Lilu 和 AppleALC,确保 VoodooHDA 不存在(会与 AppleALC 冲突)。
验证 kext 是否加载:
kextstat | grep -E "Lilu|AppleALC|AppleHDA"
查找音频布局 ID
-
确定您的音频编解码器:
- 检查主板规格页和手册
- Windows 设备管理器 / AIDA64 / HWInfo64
- Linux:
cat /proc/asound/card0/codec* | grep Codec
-
在 AppleALC 支持的编解码器 中查找您的编解码器

- 获取支持的布局 ID 列表
注意:如果音频编解码器是 ALC 3XXX,这可能是错误的名称,请研究实际的控制器。例如 ALC3601 实际是 ALC 671。
测试布局 ID
使用 boot-arg alcid=xxx 测试,一次只尝试一个布局 ID:
alcid=11
如果布局 ID 不起作用,尝试创建 SSDT-HPET 修复。
使布局 ID 永久化
AppleALC 确定布局 ID 的优先级:
alcid=xxxboot-arg(最高优先级,用于调试)- DeviceProperties 中的
alc-layout-id(仅 Apple 硬件) - DeviceProperties 中的
layout-id(推荐,适用于所有硬件)
设置方法:
- 使用 gfxutil 查找音频控制器 PCI 路径:
gfxutil -f HDEF
-
在 config.plist → DeviceProperties → Add 下添加 PciRoot 和子项
layout-id -
值使用十六进制数据格式(4字节),例如
alcid=11→0B 00 00 00 -
删除 boot-arg 中的 alcid,因为它始终具有最高优先级
音频常见问题
AMD 上没有麦克风:目前没有补丁支持麦克风输入。最佳解决方案是购买 USB DAC/麦克风。
Clover 相同布局 ID 在 OpenCore 不起作用:可能是 IRQ 冲突,使用 SSDTTime 的 FixHPET 选项。
AppleALC 工作不一致:在 boot-args 中添加延迟 alcdelay=1000(最大 3000 毫秒)。
Windows 重启后音频不工作:添加 alctcsel=1 到 boot-args。
2. USB映射
为什么要进行 USB 映射
- macOS 非常不擅长猜测端口类型
- 某些端口可能低于额定速度运行
- 某些端口可能完全无法工作
- 蓝牙不工作
- Handoff 等服务可能不正常
- 睡眠可能中断
- 热插拔损坏
- XhciPortLimit 可能导致数据损坏
USB 基础知识
- USB 3.0 端口实际上是 macOS 的 2 个端口:USB 2.0 和 USB 3.0
- USB 3.0 接口底部 4 个引脚用于 USB 2.0,上面额外的 5 个引脚用于 USB 3.0
macOS 15 端口限制
macOS 对每个 USB 控制器有 15 个端口的严格限制(Z170 及更新芯片组有 26 个端口声明)。
重要:
XhciPortLimit在 macOS 11.3+ 中已损坏,会导致启动循环!请务必进行正确的 USB 映射并禁用XhciPortLimit。
USB 映射方法
推荐工具:USBToolBox(支持 Windows 和 macOS)
Intel USB 映射:
- 使用 USBToolBox 在 Windows 或 macOS 中映射
- 或手动创建 USBMap.kext
AMD USB 映射:
- AMD 系统的 USB 映射与 Intel 类似
- 某些 AMD 主板需要在 DSDT 中手动添加端口定义
USB 映射步骤
-
映射前准备:
- 断开所有不必要的 USB 设备
- 准备一个 USB 2.0 和 USB 3.0 设备用于测试
-
使用 USBToolBox 映射:
- 在 Windows 中运行 USBToolBox
- 逐个测试每个 USB 端口
- 标记端口类型(USB 2.0/3.0/内部/Type-C 等)
- 生成 USBToolBox.kext
-
安装映射:
- 将生成的 kext 放入 EFI/OC/Kexts
- 在 config.plist → Kernel → Add 中添加
- 禁用
XhciPortLimit
USB 常见问题
即时唤醒:使用 GPRW/UPRW/LANC 补丁防止 USB 设备触发即时唤醒。
键盘唤醒问题:某些键盘可能导致系统从睡眠中意外唤醒。
USB 电源问题:确保 USB 端口正确映射为内部或外部类型。
关机/重启问题:可能与 USB 控制器有关,检查 USB 映射和 ACPI 设置。
3. 修复电源管理
启用 X86PlatformPlugin
XCPM 仅在 Haswell 及更新版本上支持。
验证 XCPM 是否加载:
- 打开 IORegistryExplorer
- 搜索
AppleACPICPU - 检查是否附加了 X86PlatformPlugin
如果缺少 XCPM:
- 确保 SSDT-PLUG.aml 存在并启用
- SSDT-PLUG 设置为 CPU 的第一个线程
- macOS 12.3 及更高版本不需要 SSDT-PLUG
Haswell-E 和 Broadwell-E:XCPM 本身不支持,需要 CPU ID 欺骗:
- Haswell-E: Cpuid1Data
C3060300 00000000 00000000 00000000 - Broadwell-E: Cpuid1Data
D4060300 00000000 00000000 00000000
使用 CPUFriend 微调
当原生电源管理数据不适合时,可以使用 CPUFriend 注入修改后的数据。
需要:
- X86PlatformPlugin 已加载
- CPUFriend
- CPUFriendFriend
LFM(低频模式):CPU 空闲时的最低频率
| 代数 | LFM 值 | 等效频率 |
|---|---|---|
| Broadwell+ 笔记本 | 08 | 800MHz |
| Broadwell+ 桌面 | 0A | 1000MHz |
| Haswell/Broadwell HEDT | 0D | 1300MHz |
| Skylake+ HEDT | 0C | 1200MHz |
EPP(能源性能偏好):
| EPP | 速度 |
|---|---|
| 0x00-0x3F | 最大性能 |
| 0x40-0x7F | 平衡性能 |
| 0x80-0xBF | 平衡力量 |
| 0xC0-0xFF | 最大省电 |
只有 Skylake 和更新的 SMBIOS 正式支持 EPP。
Sandy 和 Ivy Bridge 电源管理
消费者 Sandy/Ivy Bridge 不支持 XCPM,需要使用 ssdtPRGen 创建自定义电源管理表。
步骤:
- 在 config.plist → ACPI → Delete 中临时删除 CpuPm 和 Cpu0Ist 表
- 重启并运行 ssdtPRGen
- 将生成的 SSDT 重命名为 SSDT-PM.aml 放入 EFI/OC/ACPI
- 禁用之前的 ACPI → Delete 条目
AMD CPU 电源管理
使用 AMDRyzenCPUPowerManagement 为 Ryzen CPU 添加电源管理。
⚠️ 警告:此 kext 已知不稳定,可能导致随机内核恐慌或启动问题。
4. 修复睡眠
准备工作
在 macOS 中:
sudo pmset autopoweroff 0
sudo pmset powernap 0
sudo pmset standby 0
sudo pmset proximitywake 0
sudo pmset tcpkeepalive 0
在 config.plist 中:
- 添加
keepsyms=1— 保留内核恐慌符号 - 添加
swd_panic=1— 避免睡眠重启问题
在 BIOS 中:
- 禁用:局域网唤醒、TPM、USB 唤醒
- 启用:蓝牙唤醒(如果使用蓝牙设备唤醒)
主要罪魁祸首
USB 问题(最常见原因)
- 正确的 USB 映射是修复睡眠的关键
- 禁用
XhciPortLimit - 修复 USB 电源
- GPRW/UPRW/LANC 即时唤醒补丁
GPU 问题
- 不支持的 GPU 需要禁用或欺骗为通用 PCIe 设备
- Coffee Lake+ iGPU 唤醒问题:添加
igfxonln=1 - iGPU 低功耗状态不稳定:添加
forceRenderStandby=0 - Ice Lake 笔记本:使用
-noDC9或-nodisplaysleepDC6 - 4K 显示器 AMD dGPU:在 DeviceProperties 中设置
agdc属性
Thunderbolt 问题
- 如果需要 Thunderbolt 和睡眠同时工作,只有两条路:
- 在 BIOS 中禁用 Thunderbolt
- 尝试修补 Thunderbolt 3
网卡问题
- 在 BIOS 中禁用 WakeOnLAN
- 在 macOS 中禁用"网络访问唤醒"
NVMe 问题
- 确保 NVMe 固件最新
- 使用 NVMeFix.kext
- 避免有问题的驱动器(三星 PM981/PM991、美光 2200S)
- 有问题的驱动器可通过 SSDT 禁用
CPU 电源管理问题
- 确保电源管理正常工作
- 使用正确的 SMBIOS
- AMD 使用 AMDRyzenCPUPowerManagement
其他罪魁祸首
| 问题 | 解决方案 |
|---|---|
| 显示器(笔记本盖检测) | 修复 SSDT-PNLF,禁用/重新启用 lidwake |
| NVRAM | 验证 NVRAM 是否正常工作 |
| RTC | 使用 SSDT-AWAC 禁用 AWAC,阻止 macOS 写入问题 RTC 区域 |
| IRQ 冲突 | 使用 SSDTTime 的 FixHPET |
| 音频 | 禁用未使用的音频设备 |
| SMBus | 创建 SSDT-SMBS-MCHC |
| TSC | 使用 CpuTscSync/VoodooTSCSync/TSCAdjustReset |
5. 修复 iServices
需要的信息
- MLB(主板序列号)
- ROM(MAC 地址)
- SystemProductName(SMBIOS 型号)
- SystemSerialNumber(系统序列号)
- SystemUUID
使用 GenSMBIOS

- 下载 GenSMBIOS
- 选择选项 1 下载 MacSerial
- 选择选项 3 生成序列号
- 提示:
iMacPro1,1 10将打印 10 个序列
设置步骤
- 生成序列号:使用 GenSMBIOS 或 macserial
- 选择 MAC 地址:使用 Apple OUI 前缀(如
00:16:CB) - 推导 ROM:MAC 地址小写,去掉冒号(
00:16:CB:00:11:22→0016cb001122) - 生成 UUID:终端运行
uuidgen - 验证序列号:在 Apple Check Coverage 验证
序列号验证结果
| 无法检查覆盖范围 | 有效购买日期 | 购买日期未验证 |
|---|---|---|
![]() |
![]() |
![]() |
| 结果 | 含义 | 建议 |
|---|---|---|
| 无法检查覆盖范围 | ✅ 最佳 — 序列号无效 | 推荐 |
| 有效购买日期 | ⚠️ 与真实 Mac 冲突 | 不推荐 |
| 购买日期未验证 | ⚠️ 可能与真实 Mac 冲突 | 可用但不推荐长期使用 |
修复 en0
- 使用 Hackintool → 系统 → 外围设备
- 在"网络接口"下查找
en0,检查是否标记为"内置" - 如果没有 en0:重置网络设置
sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist - 如果 en0 不是内置:在 DeviceProperties 中添加
built-in属性(Data 类型,值为01)
验证 NVRAM
NVRAM 对 iServices 至关重要,iMessage 密钥存储在 NVRAM 中。请验证 NVRAM 是否正常工作。
清除旧尝试
- 清除 NVRAM(在启动选择器中)
- 清除钥匙串中的 iService 条目
- 考虑创建新的 AppleID
客户代码错误
如果您的 AppleID 被列入黑名单,必须致电 Apple 支持 解除。添加支付卡可以帮助使帐户合法化。
6. 修复 DRM
DRM 问题通常表现为 Netflix 等流媒体服务无法播放。
DRM 支持情况
| GPU | 支持的 DRM 类型 |
|---|---|
| Intel iGPU | iTunes 电影预览、Netflix、Amazon Prime |
| AMD Polaris+ | 完整 DRM 支持 |
| NVIDIA Kepler | 有限支持(仅 High Sierra) |
修复方法
- 确保 WhateverGreen 正确加载
- 检查
shikigva=80boot-arg - 对于需要 dGPU 解码的系统,可能需要额外的 WhateverGreen 参数
7. 将 OpenCore 安装到硬盘
安装完成后,您可能希望从硬盘直接启动而不需要 USB:
- 挂载硬盘的 EFI 分区
- 将 USB EFI 分区中的 EFI 文件夹复制到硬盘 EFI 分区
- 在 BIOS 中设置硬盘为首选启动设备
- 设置 LauncherOption 以确保 Windows 不会覆盖 OpenCore
8. 更新 OpenCore 和 macOS
更新 OpenCore
- 下载最新版 OpenCorePkg
- 替换 EFI/OC 中的文件(保留 config.plist 和自定义文件)
- 更新 kext 到最新版本
- 检查 config.plist 是否需要新增条目
更新 macOS
- 备份 EFI
- 确保所有 kext 和 OpenCore 都是最新版本
- 通过系统偏好设置更新
- 如果使用非原生 SMBIOS,更新后可能需要调整
⚠️ 切勿在更新前禁用 SIP 或删除关键 kext。
9. 安全设置
Apple Secure Boot
OpenCore 支持真正的 Apple Secure Boot,通过 Misc -> Security -> SecureBootModel 设置:
Default— 默认安全启动模型Disabled— 禁用安全启动- 具体模型如
iMacPro1,1
FileVault 2
OpenCore 内置 FileVault 2 支持,可在"系统偏好设置 → 安全性与隐私"中启用。
Vault
Vaulting 允许创建 EFI 快照以防止不必要的修改:
- 创建 vault.plist
- 创建 vault.sig
- 在 config.plist 中设置
Misc -> Security -> Vault为Secure
扫描策略
通过 ScanPolicy 控制启动选择器中显示的设备类型。
密码设置
可以为 OpenCore 启动选择器设置密码保护。
10. 笔记本专用设置
修复电池读数
- 使用 SMCBatteryManager.kext
- 如果不工作,使用 ECEnabler 修复电池状态读取
- 某些笔记本需要自定义 SSDT-Battery
修复亮度键
使用 BrightnessKeys 自动修复亮度键。
触控板设置
根据触控板连接类型选择正确的 kext:
- PS2 → VoodooPS2
- I2C → VoodooI2C + 对应插件
- SMBus → VoodooRMI 或 VoodooSMBus
11. 美化设置
添加 OpenCore GUI
- 在 Drivers 文件夹中添加 OpenCanopy.efi
- 下载 OcBinaryData 中的资源
- 将 Image 和 Label 文件夹放入 EFI/OC/Resources
- 在 config.plist 中设置
Misc -> Boot -> PickerMode为Builtin
修复分辨率
设置 Misc -> Boot -> PickerAttributes 和 UEFI -> Output -> Resolution。
禁用啰嗦模式
从 boot-args 中移除 -v,即可看到 Apple 徽标启动。
修复 MacPro7,1 内存错误
使用 RestrictEvents kext 和 rpci=0x3000 boot-arg。
12. 多重启动
设置 LauncherOption
确保 Windows 不会从系统中删除 OpenCore 的启动条目:
- 在 config.plist →
Misc -> Security中设置LauncherOption为Full
BootCamp 设置
OpenCore 支持 BootCamp 风格的启动切换,通过 NVRAM 变量实现。
注意事项
- Windows 更新可能覆盖 EFI 启动条目
- 建议使用独立的磁盘或分区
- 参照 OpenCore 多重启动指南
13. 其他修复
修复 CFG 锁
如果无法在 BIOS 中禁用 CFG Lock(MSR 0xE2 寄存器锁定):
- 最佳方案:在 BIOS 中直接禁用
- 替代方案:使用
AppleCpuPmCfgLock和AppleXcpmCfgLockQuirks - 高级方案:使用 CFGLock.efi 在 UEFI 中修改
修复 RTC/CMOS 重置
如果关机或重启后出现"BIOS 在安全模式下重新启动"错误:
- 启用
DisableRtcChecksum防止写入主校验和 - 使用
UEFI -> ProtocolOverride -> AppleRtcRam+rtc-blacklist - 使用 RTCMemoryFixup +
rtcfx_exclude=
模拟 NVRAM
对于不支持原生 NVRAM 的主板:
- 验证 NVRAM:在终端运行
sudo nvram -c然后重启,检查是否清除 - 如果 NVRAM 不工作,使用 SSDT-PMC(Z390 等)
- 对于 HEDT/服务器主板,可能需要模拟 NVRAM


