OpenCore-Install-Guide 实战:Ivy Bridge 笔记本(3XXX 系列)config.plist 完整配置指南
OpenCore-Install-Guide 实战:Ivy Bridge 笔记本(3XXX 系列)config.plist 完整配置指南
本指南以 OpenCore-Install-Guide 仓库中的 config-laptop.plist/ivy-bridge.md 为核心骨架,面向搭载 Intel 第三代酷睿(Ivy Bridge,3XXX 系列)CPU 的笔记本平台,逐项讲解从 Sample.plist 出发完成 ACPI、Booter、DeviceProperties、Kernel、Misc、NVRAM、PlatformInfo 与 UEFI 全章节配置的全部要点。读完本指南,你将能够为 Ivy Bridge 笔记本独立搭建一份可引导 macOS(OS X 10.7 Lion 至 macOS 11 Big Sur)的 OpenCore config.plist,并掌握 SSDT 取舍、iGPU 帧缓冲注入、CPU 电源管理、SMBIOS 选型与 BIOS 设置等关键实战技能。
支持范围与前置认知
| 支持项 | 版本 |
|---|---|
| 初始 macOS 支持 | OS X 10.7 Lion |
| 最后支持的 macOS | macOS 11 Big Sur |
Ivy Bridge 是首个支持原生 XCPM 的架构之前的一代平台,它的 iGPU(HD 4000)仅支持到 macOS 11,因此本配置的最终目标系统通常为 Big Sur 及更早版本。
在动手配置前,请先记住 OpenCore 的三条铁律(原文档在 Starting Point 中强调):
- 所有属性都必须显式定义,OpenCore 不会为缺失的键提供默认值回退,除非文档明确要求,否则不要删除任何分区;
- Sample.plist 不能原样使用,必须按你的硬件逐项配置;
- 不要使用各类 Configurator 配置工具,它们很少尊重 OpenCore 的配置规范,部分工具甚至会把 Clover 属性写进 plist 导致文件损坏。
所需工具
| 工具 | 用途 |
|---|---|
| ProperTree | 通用 plist 编辑器(Windows 用 ProperTree.bat,macOS 用 ProperTree.command) |
| GenSMBIOS | 生成 SMBIOS 数据(序列号、Board Serial、SmUUID 等) |
| OpenCorePkg 中的 Sample/config.plist | 配置起点,获取方式见 config.plist Setup |
拿到 Sample.plist 后,先用 ProperTree 打开并执行 Cmd/Ctrl + Shift + R 指向 EFI/OC 目录做一次 "Clean Snapshot",它会把 SSDT、Kext 和固件驱动全部按正确顺序填入 config.plist(Cmd/Ctrl + R 则保留既有启用/禁用状态,适合排障)。注意 config.plist 必须与 EFI 目录内容严格一致,删了文件却留在 plist 里会导致 OpenCore 报错停止引导。本仓库的相关铺垫内容见 config.plist Setup。
ACPI 配置
Add:为 Ivy Bridge 笔记本准备的 SSDT
SSDT 对 macOS 引导至关重要,Ivy Bridge 笔记本甚至"必须"依赖部分 SSDT 才能启动。原文档给出的清单如下:
| 必需 SSDT | 说明 |
|---|---|
| SSDT-PM | 保证正确的 CPU 电源管理,需要用 Pike 的 ssdtPRGen.sh 脚本生成,通常在安装后处理阶段运行 |
| SSDT-EC | 修复嵌入式控制器,细节见 Getting Started With ACPI 指南 |
| SSDT-XOSI | 让原本针对 Windows 的 _OSI 调用在 macOS(Darwin 标识)下生效,可能帮助启用 XHCI 等功能 |
| SSDT-PNLF | 修复屏幕亮度控制,Intel NUC 不需要 |
| SSDT-IMEI | 为 6 系列芯片组 + Ivy Bridge CPU 的组合补上缺失的 IMEI 设备,7 系列芯片组主板不需要 |
仓库 ktext.md 的 SSDT 汇总表中,笔记本平台的对应关系也印证了这一点:Ivy Bridge 需要 CPU-PM(安装后运行)、SSDT-EC、SSDT-PNLF(背光)、SSDT-IMEI,且不涉及 AWAC、USB、IRQ 等条目。
注意:不要把自带的 DSDT.aml 加进 Add 列表,它已经存在于固件中;若 Sample.plist 中有该条目请删除,同时移除 EFI/OC/ACPI 下对应的文件。编译好的 SSDT 以 .aml(Assembled)扩展名放入 EFI/OC/ACPI 目录,并且必须同时在 config.plist 的 ACPI -> Add 中登记。
Delete:丢弃与 Apple XCPM 冲突的电源表
Apple 的 XCPM 对 Ivy Bridge 支持不佳,放任系统自带电源表会导致 AppleIntelCPUPowerManagement 在开机时内核崩溃。解决方式是先在 Delete 中屏蔽旧表,待安装后生成 SSDT-PM 再重新启用这些表(属临时措施)。原文档给出两组删除规则:
删除 CpuPm:
| Key | Type | Value |
|---|---|---|
| All | Boolean | YES |
| Comment | String | Delete CpuPm |
| Enabled | Boolean | YES |
| OemTableId | Data | 437075506d000000 |
| TableLength | Number | 0 |
| TableSignature | Data | 53534454 |
删除 Cpu0Ist:
| Key | Type | Value |
|---|---|---|
| All | Boolean | YES |
| Comment | String | Delete Cpu0Ist |
| Enabled | Boolean | YES |
| OemTableId | Data | 4370753049737400 |
| TableLength | Number | 0 |
| TableSignature | Data | 53534454 |
Patch:OSI 改名
使用 SSDT-XOSI 时,必须把所有 _OSI 调用重定向到该 SSDT:
| Comment | String | Change _OSI to XOSI |
|---|---|---|
| Enabled | Boolean | YES |
| Count | Number | 0 |
| Limit | Number | 0 |
| Find | Data | 5f4f5349 |
| Replace | Data | 584f5349 |
Quirks
ACPI 相关 Quirks 对 Ivy Bridge 笔记本没有特殊用途,全部保持默认即可。仓库中可对照的辅助 SSDT 素材还包括 extra-files/SSDT-XOSI.aml 与 extra-files/SSDT-EC-USBX-AMD.aml 等预编译文件。
Booter 配置
Booter 章节与 boot.efi 修补相关,由 OpenRuntime.efi(AptioMemoryFix.efi 的替代品)承担运行时补丁工作。
MmioWhitelist
该列表允许把通常被忽略的内存区域直通给 macOS,与 DevirtualiseMmio 配合使用;Ivy Bridge 平台通常无需配置。
Quirks
原文档对 Ivy Bridge 笔记本建议保持默认,同时给出了默认值的含义:
- AvoidRuntimeDefrag: YES —— 修复 UEFI 运行时服务(日期、时间、NVRAM、电源控制等);
- EnableSafeModeSlide: YES —— 允许在安全模式下使用 slide 变量;
- EnableWriteUnprotector: YES —— 移除 CR0 寄存器的写保护;
- ProvideCustomSlide: YES —— 用于 slide 变量计算;若调试日志出现
OCABC: All slides are usable! You can disable ProvideCustomSlide!则可关闭,若出现OCABC: Only N/256 slide values are usable!则必须保留; - SetupVirtualMap: YES —— 修复 SetVirtualAddresses 调用,技嘉主板避免早期内核崩溃所必需。
DeviceProperties 配置
PciRoot(0x0)/Pci(0x2,0x0):iGPU 帧缓冲注入
该路径用于设置核显关键属性,依据是 WhateverGreen 的 Framebuffer Patching 指南。Sample.plist 中原本没有此分区,需要手动创建。Ivy Bridge 笔记本(HD 4000)可用的 AAPL,ig-platform-id 取值如下:
| AAPL,ig-platform-id | Type | Comment |
|---|---|---|
03006601 |
Laptop | 配合 1366x768 及更低分辨率屏幕 |
04006601 |
Laptop | 配合 1600x900 及更高分辨率屏幕,需追加下述补丁 |
09006601 |
Laptop | 用于部分以 eDP 连接内屏(而非传统 LVDS)的设备,需先实测 03006601 与 04006601 |
0B006601 |
NUC | 用于 Intel NUC 迷你主机 |
配置步骤遵循原文档建议:
- 初次配置时只设
AAPL,ig-platform-id,通常已经足够; - 若开机后无图形加速(显存显示 7MB、Dock 背景无渲染),尝试换用其他
AAPL,ig-platform-id、追加 stolenmem 补丁,甚至加入device-id属性。
配置注意点:
- VGA 输出不受支持(除非经过 DP 转 VGA 的内部适配器,且该设备被识别为 DP);
- 若使用
04006601,为修复外部输出(否则只有一个输出口),需追加以下参数(致谢 Rehabman):
| Key | Type | Value | 说明 |
|---|---|---|---|
framebuffer-patch-enable |
Number | 1 |
启用语义补丁(WhateverGreen 手册) |
framebuffer-memorycount |
Number | 2 |
将 FBMemoryCount 对齐到 03006601(04 为 1,03 为 2) |
framebuffer-pipecount |
Number | 2 |
将 PipeCount 对齐到 03006601(04 为 3,03 为 2) |
framebuffer-portcount |
Number | 4 |
将 PortCount 对齐到 03006601(04 为 1,03 为 4) |
framebuffer-stolenmem |
Data | 00000004 |
将 STOLEN 内存对齐到 64MB(0x04000000) |
framebuffer-con1-enable |
Number | 1 |
启用驱动 connector 1(con0 之后的第二个接口,即 eDP/LVDS 之外的 DP)的修补 |
framebuffer-con1-alldata |
Data | 02050000 00040000 07040000 03040000 00040000 81000000 04060000 00040000 81000000 |
用 all-data 方式补齐 con1 之后端口(端口-总线-类型-标志) |
原文档对 framebuffer-con1-alldata 的来历有详细拆解:04 平台只有 1 个端口(05030000 02000000 30020000,即 port 5 / LVDS),而 03 平台有 4 个端口(LVDS 的 con0,DP 的 con1/con2/con3);当把 PortCount 从 1 改成 4 后,必须从 con1 开始补全其余 3 个 DP 端口的完整描述,这正是上述 alldata 数据的来源。
PciRoot(0x0)/Pci(0x16,0x0):Sandy/Ivy Bridge 混合平台的 IMEI 伪造
部分该年代笔记本采用混合芯片组:Ivy Bridge CPU 搭配 Sandy Bridge 芯片组(如 HM65/HM67 + Core i3-3110M)。macOS 的核显驱动依赖 IMEI 设备,而这类组合缺少 macOS 期望的 IMEI ID,会导致卡在开机阶段。判断方法:CPU 是 Intel Core ix-3xxx 且芯片组为 Hx6x(用 AIDA64 等工具确认)。修复方式是在 config 中新建 PciRoot(0x0)/Pci(0x16,0x0) 并注入:
| Key | Type | Value |
|---|---|---|
| device-id | Data | 3A1E0000 |
PciRoot(0x0)/Pci(0x1b,0x0):音频注入
layout-id 用于 AppleALC 音频注入,需要自行确认主板声卡 codec 并匹配 AppleALC 的 layout。本指南不在此处配置,改用启动参数 alcid=xxx 完成(alcid 会覆盖所有 layout-id)。该属性目前对本平台无用,可以直接删除。
Delete
删除 DeviceProperties 映射中的属性,Ivy Bridge 平台可忽略。
Kernel 配置
Add:kext 加载清单
这里指定加载哪些 kext、加载顺序与目标架构。核心规则:任何插件的加载顺序必须在其依赖之后,例如 Lilu 必须在 VirtualSMC、AppleALC、WhateverGreen 之前。ProperTree 用户执行 Cmd/Ctrl + Shift + R 即可按正确顺序自动添加全部 kext。
各字段含义:
- Arch:kext 支持的架构,可取
Any、i386(32 位)、x86_64(64 位); - BundlePath:kext 名称,如
Lilu.kext; - Enabled:启用/禁用该 kext;
- ExecutablePath:kext 内的可执行文件路径,右键"显示包内容"可查看,通常为
Contents/MacOS/Kext,个别在Plugin目录下;纯 plist kext 无需填写; - MinKernel:注入的最低内核版本,如 OS X 10.8 对应
12.00.00; - MaxKernel:注入的最高内核版本,如 OS X 10.7 对应
11.99.99; - PlistPath:kext 内
info.plist的路径,如Contents/Info.plist。
内核版本对照表(MinKernel / MaxKernel):
| OS X 版本 | MinKernel | MaxKernel |
|---|---|---|
| 10.4 | 8.0.0 | 8.99.99 |
| 10.5 | 9.0.0 | 9.99.99 |
| 10.6 | 10.0.0 | 10.99.99 |
| 10.7 | 11.0.0 | 11.99.99 |
| 10.8 | 12.0.0 | 12.99.99 |
| 10.9 | 13.0.0 | 13.99.99 |
| 10.10 | 14.0.0 | 14.99.99 |
| 10.11 | 15.0.0 | 15.99.99 |
| 10.12 | 16.0.0 | 16.99.99 |
| 10.13 | 17.0.0 | 17.99.99 |
| 10.14 | 18.0.0 | 18.99.99 |
| 10.15 | 19.0.0 | 19.99.99 |
| 11 | 20.0.0 | 20.99.99 |
| 12 | 21.0.0 | 21.99.99 |
| 13 | 22.0.0 | 22.99.99 |
| 14 | 23.0.0 | 23.99.99 |
| 15 | 24.0.0 | 24.99.99 |
必装 kext 的基础知识可参考仓库 ktext.md:Lilu 与 VirtualSMC 缺一不可,图形平台还需要 WhateverGreen,笔记本输入设备(PS2 键盘/触控板、SMBus/I2C 触控板)按硬件类型选装 VoodooPS2、VoodooRMI、VoodooSMBus、VoodooI2C 系列。
Emulate
用于伪造不支持的 CPU(如 Pentium、Celeron)。Ivy Bridge 平台:Cpuid1Mask 留空,Cpuid1Data 留空。
Force
用于从系统卷强制加载 kext,仅对旧系统相关(如 10.6 中 IONetworkingFamily 不在缓存)。本平台可忽略。
Block
屏蔽某些 kext 加载,本平台不相关。
Patch
内核与 kext 的补丁入口,一般无需额外配置。
Quirks
Ivy Bridge 笔记本需要改动的内核 Quirks:
| Quirk | Enabled | Comment |
|---|---|---|
| AppleCpuPmCfgLock | YES | 若 BIOS 中已关闭 CFG-Lock 则不需要 |
| DisableIoMapper | YES | 若 BIOS 中已关闭 VT-D 则不需要 |
| LapicKernelPanic | NO | HP 机器必须开启 |
| PanicNoKextDump | YES | |
| PowerTimeoutKernelPanic | YES | |
| XhciPortLimit | YES | 运行 macOS 11.3+ 时禁用 |
各选项的深入说明:
- AppleCpuPmCfgLock: YES —— 仅当 BIOS 无法关闭 CFG-Lock 时需要,仅适用于 Ivy Bridge 及更早平台(Broadwell 及更早在运行 10.10 或更早系统时需要);
- AppleXcpmCfgLock: NO —— 仅适用于 Haswell 及更新平台(Ivy Bridge-E 因支持 XCPM 也算在内),Ivy Bridge 笔记本不涉及;
- CustomSMBIOSGuid: NO —— 配合
UpdateSMBIOSMode为Custom时做 GUID 修补,通常与 Dell 笔记本相关;不推荐用该方法禁用向"非 Apple"系统注入 SMBIOS,会破坏 Bootcamp 兼容性; - DisableIoMapper: YES —— 在无法关闭 VT-D 或 VT-D 被其他系统占用时绕过 VT-D,比
dart=0更优,因为 Catalina 下 SIP 仍可保持开启; - DisableIoMapperMapping: NO —— 仅在 VT-D 开启且内存超过 16GB 时出现 Wi-Fi/以太网/雷电问题才需要,且要求移除保留内存区域的修补版 DMAR 表;推荐直接关 VT-D,故无需开启;13.2.1 及以下不需要;
- DisableLinkeditJettison: YES —— 让 Lilu 等插件在没有
keepsyms=1时更可靠; - DisableRtcChecksum: NO —— 阻止 AppleRTC 写入主校验和(0x58-0x59),重启后 BIOS 重置或进入安全模式的用户需要;
- ExtendBTFeatureFlags: NO —— 非 Apple/非 Fenvi 无线网卡的连续性(Continuity)问题可用;
- LapicKernelPanic: NO —— 关闭 AP 核心 lapic 中断导致的内核崩溃,通常 HP 系统需要,Clover 对应项为
Kernel LAPIC; - LegacyCommpage: NO —— 解决 64 位 CPU 在 macOS 中的 SSSE3 需求,主要针对 64 位 Pentium 4(Prescott);
- PanicNoKextDump: YES —— 允许在内核崩溃时读取内核崩溃日志;
- PowerTimeoutKernelPanic: YES —— 修复 macOS Catalina 中 Apple 驱动电源变化相关的内核崩溃,尤其是数字音频;
- SetApfsTrimTimeout:
-1—— 为 SSD 上的 APFS 文件系统设置 trim 超时(微秒),仅适用于 macOS 10.14+ 且 SSD 有问题的场景; - XhciPortLimit: YES —— 即 15 端口限制补丁,不要依赖它作为 USB 修复的保证方案,应尽快制作 USB 定制映射;macOS 11.3+ 后该补丁可能失效,建议升级前禁用并完成 USB 映射,或安装 macOS 11.2.3 及更早版本。原因在于 UsbInjectAll 以未经适当调优的方式重实现了 macOS 内建功能,更干净的做法是仅用一个纯 plist kext 描述端口,避免浪费运行时内存。
Scheme
与旧系统(10.4-10.6)引导相关,多数人可跳过:
- FuzzyMatch: True —— 忽略 kernelcache 校验和,改用最新可用缓存,可提升 10.6 下许多机器的引导性能;
- KernelArch: x86_64 —— 可选
Auto、i386、x86_64;引导需要 32 位内核的旧系统(10.4/10.5)时建议Auto:- 10.4-10.5 ——
x86_64、i386或i386-user32(i386-user32表示 32 位用户态,32 位 CPU 或缺 SSSE3 的 CPU 必须用它;x86_64仍为 32 位内核态,但保证 10.4/5 下 64 位用户态); - 10.6 ——
i386、i386-user32或x86_64; - 10.7 ——
i386或x86_64; - 10.8 及更新 ——
x86_64;
- 10.4-10.5 ——
- KernelCache: Auto —— 建议保持
Auto以获得最佳支持。
Misc 配置
Boot
| Quirk | Enabled | Comment |
|---|---|---|
| HideAuxiliary | YES | 在启动选择器按空格显示 macOS 恢复分区等辅助条目 |
该选项可隐藏恢复分区、工具等辅助条目,在多磁盘系统上有助于提升启动选择器性能;在启动选择器按空格即可重新显示。
Debug
调试选项(除 DisplayDelay 外全部修改):
| Quirk | Enabled |
|---|---|
| AppleDebug | YES |
| ApplePanic | YES |
| DisableWatchDog | YES |
| Target | 67 |
字段说明:
- AppleDebug: YES —— 启用 boot.efi 日志,仅 10.15.4 及更新支持;
- ApplePanic: YES —— 尝试将内核崩溃写入磁盘;
- DisableWatchDog: YES —— 禁用 UEFI 看门狗,有助于解决早期引导问题;
- DisplayLevel:
2147483650—— 输出更多调试信息,需要 OpenCore 调试版; - SysReport: NO —— 转储 ACPI 表等调试信息,仅限 DEBUG 版 OpenCore;
- Target:
67—— 输出更多调试信息,需要 OpenCore 调试版。
这些数值的推导过程见 OpenCore debugging:Target 取 0x01(启用日志)+ 0x02(启用屏幕调试)+ 0x40(日志写入文件)= 0x43,转十进制即 67;DisplayLevel 取 0x00000002(DEBUG_WARN)+ 0x00000040(DEBUG_INFO)+ 0x80000000(DEBUG_ERROR)= 0x80000042,转十进制即 2147483714。排障时还需要把 OpenCore 相关文件(BOOTx64.efi、OpenRuntime.efi、OpenCanopy.efi、OpenCore.efi)换成 DEBUG 或 NOOPT 版本,详见 OpenCore debugging。
Security
安全设置不可跳过,修改项如下:
| Quirk | Enabled | Comment |
|---|---|---|
| AllowSetDefault | YES | |
| BlacklistAppleUpdate | YES | |
| ScanPolicy | 0 | |
| SecureBootModel | Default | 保持 Default 让 OpenCore 按 SMBIOS 自动设置正确值 |
| Vault | Optional | 注意大小写敏感,且该设置不可省略 |
字段说明:
- AllowSetDefault: YES —— 允许用
CTRL+Enter和CTRL+Index在选择器里设置默认启动设备; - ApECID: 0 —— 用于个性化安全启动标识,目前因 macOS 安装器 bug 而不可靠,保持默认;
- AuthRestart: NO —— 为 FileVault 2 启用认证重启(重启免输密码),有一定安全风险,可选;
- BlacklistAppleUpdate: YES —— 屏蔽固件更新,Big Sur 起 macOS 不再使用
run-efi-updater变量,这是额外一层保护; - DmgLoading: Signed —— 只允许加载已签名 DMG;
- ExposeSensitiveData:
6—— 输出更多调试信息,需要 OpenCore 调试版; - Vault:
Optional—— 本指南不做 vault 处理,设为Secure将无法引导;该设置大小写敏感且不可省略; - ScanPolicy:
0—— 允许看到所有驱动器;设为默认值将无法引导 USB 设备; - SecureBootModel: Default —— 控制 macOS 的 Apple 安全启动功能;升级 OpenCore 时若出现早期引导失败(
OCB: LoadImage failed - Security Violation),参考 kernel-issues.md。
SecureBootModel 的具体取值与各 macOS 版本的关系见 Apple Secure Boot:Big Sur 至 Sonoma(11.0-14.3)推荐 Default;High Sierra 至 Catalina(10.13-10.15)若使用 NVIDIA Web Drivers 需设为 Disabled;Sierra 及以下不受影响。
Serial / Tools / Entries
- Serial:串口调试用,全部保持默认;
- Tools:运行 OpenCore 调试工具(如 shell),ProperTree 的 Snapshot 会自动添加;
- Entries:用于指定 OpenCore 无法自然发现的非常规引导路径,本指南不展开,可参考 OpenCorePkg 的 Configuration.pdf 第 8.6 节。
NVRAM 配置
Add
4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14(UIScale,OpenCore UI 缩放):默认即可,其中 DefaultBackgroundColor 是 boot.efi 使用的背景色,00000000 为 Syrah Black,BFBFBF00 为 Light Gray。
4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102(OpenCore NVRAM GUID):主要与 RTCMemoryFixup 用户相关;rtc-blacklist 需配合 RTCMemoryFixup 使用,用于修复 RTC 写入问题,多数用户可忽略。
7C436110-AB2A-4BBB-A880-FE41995C9F82(System Integrity Protection 位掩码,也是 boot-args 所在):
通用 boot-args:
| boot-args | 说明 |
|---|---|
| -v | 详细模式,显示启动过程的后台文字而非 Apple Logo 与进度条,便于定位问题 kext 等 |
| debug=0x100 | 关闭 macOS 看门狗,防止内核崩溃时自动重启,以便捕获崩溃信息 |
| keepsyms=1 | 配合 debug=0x100,让系统在内核崩溃时打印符号,帮助定位崩溃原因 |
| alcid=1 | 为 AppleALC 设置 layout-id,具体取值需按声卡 codec 匹配 |
GPU 专用 boot-args:
| boot-args | 说明 |
|---|---|
| -wegnoegpu | 禁用除 Intel 核显外的所有 GPU,适合在新版 macOS 下禁用不支持的独显,详见仓库 Disabling GPU(该页还提供 DeviceProperties 的 disable-gpu 与 SSDT 两种按插槽禁用 GPU 的方案) |
其他 NVRAM 变量:
- csr-active-config:
00000000—— SIP 设置,默认值开启 System Integrity Protection,建议保持开启;可通过恢复分区csrutil修改,详见 post-issues.md; - run-efi-updater:
No—— 阻止 Apple 固件更新包安装并破坏引导顺序(针对 Mac 的固件更新在本平台无效); - prev-lang:kbd:
<>—— 非拉丁键盘所需的语言/键盘格式,格式为lang-COUNTRY:keyboard,建议留空(Sample 默认是俄语);美式键盘为en-US:0(HEX 为656e2d55533a30)。提示:可把prev-lang:kbd改为 String 类型直接输入en-US:0免去 HEX 转换;设为空变量(<>)会在首次启动时强制弹出语言选择器。
| Key | Type | Value |
|---|---|---|
| prev-lang:kbd | String | en-US:0 |
Delete
NVRAM 删除区会强制重写 NVRAM 变量。注意 Add 不会覆盖 NVRAM 中已存在的值,所以 boot-args 等变量应保持原样:
- LegacySchema —— 用于给 NVRAM 变量赋值,配合
OpenVariableRuntimeDxe.efi使用,仅无原生 NVRAM 的系统需要; - WriteFlash: YES —— 允许把所有添加的变量写入闪存。
PlatformInfo 配置
使用 CorpNewt 的 GenSMBIOS 生成 SMBIOS 数据。本指南的 Ivy Bridge 笔记本示例选择 iMac13,2 SMBIOS(为兼容性有意为之)。可选 SMBIOS 及对应硬件特征:
| SMBIOS | CPU 类型 | GPU 类型 | 屏幕尺寸 |
|---|---|---|---|
| MacBookAir5,1 | 双核 17W | iGPU: HD 4000 | 11" |
| MacBookAir5,2 | 双核 17W | iGPU: HD 4000 | 13" |
| MacBookPro10,1 | 四核 45W | iGPU: HD 4000 + dGPU: GT 650M | 15" |
| MacBookPro10,2 | 双核 35W(高配) | iGPU: HD 4000 | 13" |
| Macmini6,1 | 双核 NUC | iGPU: HD 4000 | N/A |
| Macmini6,2 | 四核 NUC | iGPU: HD 4000 | N/A |
注意:上表 SMBIOS 仅支持到 macOS 10.15 Catalina。必须引导 Big Sur 时使用以下 SMBIOS(注意:在 Catalina 及更早系统上使用下表 SMBIOS 不推荐,电源管理等功能可能因 SMBIOS 未经优化而异常):
| SMBIOS | CPU 类型 | 屏幕尺寸 |
|---|---|---|
| MacBookAir6,1 | 双核 15W | 11" |
| MacBookAir6,2 | 双核 15W | 13" |
| MacBookPro11,1 | 双核 28W | 13" |
| MacBookPro11,2 | 四核 45W | 15" |
| MacBookPro11,3 | 四核 45W | 15" |
| MacBookPro11,4 | 四核 45W | 15" |
| MacBookPro11,5 | 四核 45W | 15" |
| Macmini7,1 | NUC 系统 | N/A |
运行 GenSMBIOS,选择选项 1 下载 MacSerial、选项 3 选择 SMBIOS,输出类似:
#######################################################
# MacBookPro10,2 SMBIOS Info #
#######################################################
Type: MacBookPro10,2
Serial: C02KCYZLDNCW
Board Serial: C02309301QXF2FRJC
SmUUID: A154B586-874B-4E57-A1FF-9D6E503E4580
字段映射规则:
Type→ Generic -> SystemProductName;Serial→ Generic -> SystemSerialNumber;Board Serial→ Generic -> MLB;SmUUID→ Generic -> SystemUUID;- Generic -> ROM 设为 Apple ROM(从真机转储)、你的网卡 MAC 地址或任意随机 MAC(6 字节,本指南示例
11223300 0000);安装后按 iServices 修复流程查找真实 MAC 地址。
务必使用无效序列号:把序列号输入 Apple 的 Check Coverage 页面时应返回 "Unable to check coverage for this serial number." 之类提示。
Automatic: YES —— 基于 Generic 分区自动生成 PlatformInfo,而非 DataHub、NVRAM、SMBIOS 分区。
Generic 深入说明
- AdviseFeatures: NO —— 用于 EFI 分区不在 Windows 盘首位的场景;
- MaxBIOSVersion: NO —— 将 BIOS 版本设为最大值以避免 Big Sur+ 固件更新,主要针对真 Mac;
- ProcessorType:
0—— 0 表示自动检测类型,也可按需覆盖; - SpoofVendor: YES —— 将厂商字段替换为 Acidanthera,多数情况下使用 Apple 作为厂商不安全;
- SystemMemoryStatus: Auto —— 设置 SMBIOS 中内存是否板载,纯装饰性,建议
Auto; - UpdateDataHub: YES —— 更新 Data Hub 字段;
- UpdateNVRAM: YES —— 更新 NVRAM 字段;
- UpdateSMBIOS: YES —— 更新 SMBIOS 字段;
- UpdateSMBIOSMode: Create —— 用新分配的 EfiReservedMemoryType 替换表;Dell 笔记本若需要
CustomSMBIOSGuid则用Custom(配合 CustomSMBIOSGuid 会禁用对"非 Apple"系统的 SMBIOS 注入,不推荐,会破坏 Bootcamp 兼容性)。
UEFI 配置
ConnectDrivers: YES —— 强制连接 .efi 驱动;改为 NO 会自动连接已添加的 UEFI 驱动,引导稍快,但并非所有驱动都会自连接(如某些文件系统驱动可能不加载)。
Drivers
只保留以下两个驱动:
- HfsPlus.efi(浏览 HFS 卷所需,不要与其他 HFS 驱动混用;Sandy Bridge 及更早、以及低端 Ivy Bridge i3/Celeron 用户需用 HfsPlusLegacy.efi)
- OpenRuntime.efi(boot.efi 修补、NVRAM 修复与内存管理的扩展,AptioMemoryFix.efi 的替代品)
字段说明:
| Key | Type | Description |
|---|---|---|
| Path | String | 相对 OC/Drivers 目录的文件路径 |
| LoadEarly | Boolean | 在 NVRAM 初始化前提前加载,仅 OpenRuntime.efi 与使用传统 NVRAM 时的 OpenVariableRuntimeDxe.efi 应启用 |
| Arguments | String | 部分驱动接受的附加参数 |
APFS
OpenCore 默认只从 macOS Big Sur 及更新版本加载 APFS 驱动。若引导 Catalina 及更早版本,必须设置更低的 MinVersion/MinDate,否则 OpenCore 可能找不到 macOS 分区(Sierra 及更早使用 HFS 而非 APFS,可跳过本节)。MinVersion 与 MinDate 必须成对设置:
| macOS 版本 | Min Version | Min Date |
|---|---|---|
High Sierra (10.13.6) |
748077008000000 |
20180621 |
Mojave (10.14.6) |
945275007000000 |
20190820 |
Catalina (10.15.4) |
1412101001000000 |
20200306 |
| 无限制 | -1 |
-1 |
Audio / Input / Output / ProtocolOverrides
- Audio:AudioDxe 相关设置,与 macOS 内的音频支持无关,本平台保持默认(GUI 与开机提示音的进一步使用见安装后处理);
- Input:boot.efi 键盘透传(FileVault 与快捷键支持),保持默认;
- Output:OpenCore 视觉输出相关,保持默认;其中 UIScale 取值
0(按分辨率自动)、-1(保持不变)、1(普通屏 1x)、2(HiDPI 屏 2x); - ProtocolOverrides:主要与虚拟机、老 Mac 和 FileVault 用户相关。
Quirks
| Quirk | Enabled | Comment |
|---|---|---|
| IgnoreInvalidFlexRatio | YES | |
| ReleaseUsbOwnership | YES | |
| UnblockFsConnect | NO | 主要为 HP 主板需要 |
字段说明:
- IgnoreInvalidFlexRatio: YES —— 修复 BIOS 中无法关闭 MSR_FLEX_RATIO (0x194) 的问题,所有 pre-Skylake 平台必需;
- ReleaseUsbOwnership: YES —— 从固件驱动手中释放 USB 控制器,固件不支持 EHCI/XHCI Handoff 时需要;多数笔记本固件质量不佳,因此也需要;
- DisableSecurityPolicy: NO —— 禁用固件平台安全策略,适用于关闭 Secure Boot 仍无法加载第三方固件驱动的有 bug 固件;Microsoft Surface 设备建议开启;
- RequestBootVarRouting: YES —— 把 AptioMemoryFix 从
EFI_GLOBAL_VARIABLE_GUID重定向到OC_VENDOR_VARIABLE_GUID,防止固件删除引导条目,建议所有系统开启以保证更新安装与启动磁盘控制面板正常; - UnblockFsConnect: NO —— 某些固件以 By Driver 模式打开分区句柄,导致文件系统协议无法安装,主要针对 HP 系统不列出磁盘的场景。
ReservedMemory
用于豁免特定内存区域,主要与 Sandy Bridge 核显或有故障内存的系统相关,本指南不展开。
收尾与排障
配置完成后保存 config.plist 并放入 EFI 分区的 EFI/OC 目录。出现引导问题时,先阅读 Troubleshooting section,再结合 OpenCore debugging 的日志方法定位。
HP 用户特别提醒
- Kernel -> Quirks -> LapicKernelPanic -> True(否则会出现 LAPIC 内核崩溃);
- UEFI -> Quirks -> UnblockFsConnect -> True。
Intel BIOS 设置
以下选项可能并非全部存在于你的固件中,尽量匹配即可,缺失的选项跳过:
禁用
- Fast Boot
- Secure Boot
- Serial/COM Port
- Parallel Port
- VT-d(若开启则需把
DisableIoMapper设为 YES) - Compatibility Support Module (CSM)(多数情况必须关闭,开启时常见
gIO等 GPU 错误/停滞;也叫 Legacy Support 或 Hybrid Boot) - Thunderbolt(首次安装时建议关闭,若可用)
- Intel SGX
- Intel Platform Trust
- CFG Lock (MSR 0xE2 写保护)(必须关闭;找不到该选项则启用 Kernel -> Quirks 下的
AppleCpuPmCfgLock,CFG-Lock 开启时系统无法引导)
启用
- VT-x(虚拟化支持)
- Above 4G Decoding
- Hyper-Threading
- Execute Disable Bit
- EHCI/XHCI Hand-off
- OS type: Windows 8.1/10 UEFI Mode(部分主板可能需要 "Other OS")
- DVMT Pre-Allocated(iGPU 内存): 32MB 或更高
- SATA Mode: AHCI
BIOS 与上述章节配置完成后,接下来还需要核对 Apple Secure Boot 相关设置,见 Apple Secure Boot,随后即可进入 安装流程。
小结
Ivy Bridge 笔记本的 OpenCore 配置核心可以概括为:通过 SSDT 组合(PM/EC/XOSI/PNLF/IMEI)补齐 Clover 时代的功能、在 ACPI Delete 中临时屏蔽与 XCPM 冲突的 CpuPm/Cpu0Ist 表、在 DeviceProperties 中按屏幕分辨率注入合适的 AAPL,ig-platform-id(04006601 还需配套帧缓冲补丁)、按 CPU/芯片组组合判断是否需要 IMEI 伪造,并围绕 iMac13,2 等 SMBIOS 完成 PlatformInfo 与 NVRAM 设置。牢记"所有属性必须显式定义"与"Sample.plist 必须逐项配置"两条原则,配合本仓库的 config.plist Setup、Disabling GPU 与 OpenCore debugging 等配套文档,即可为你的 Ivy Bridge 笔记本搭建稳定可引导的 OpenCore 环境。