本指南帮小白快速地构建起一个 opencore 配置文件,所以也就不会讲太多,大部分内容都是帮助你如何做选择。(适用于 OpenCore 0.9.4)
编辑配置文件的工具如下:
OC Auxiliary Tools 和 ProperTree,Windows 和 MacOS 都能使用,OpenCore Configurator 只能在 macos 下使用。ProperTree 界面非常简洁,对没有基础的人不友好,但是上手之后,却也十分不错。
OC Auxiliary Tools 和 OpenCore Configurator 就是常规的 gui 界面了,OpenCore Configurator 和 OC Auxiliary Tools 的逻辑差不多。用过 Clover Configurator,上手 OpenCore Configurator 非常快。
对于没有基础的人,推荐使用 OC Auxiliary Tools 和 OpenCore Configurator。
opencore 的文件结构如图。
ESP
├── EFI
│ ├── BOOT
│ │ └── BOOTx64.efi
│ └── OC
│ ├── ACPI
│ │ ├── DSDT.aml
│ │ ├── SSDT-1.aml
│ │ └── MYTABLE.aml
│ ├── Drivers
│ │ ├── MyDriver.efi
│ │ └── OtherDriver.efi
│ ├── Kexts
│ │ ├── MyKext.kext
│ │ └── OtherKext.kext
│ ├── Resources
│ │ ├── Audio
│ │ ├── Font
│ │ ├── Image
│ │ └── Label
│ ├── Tools
│ │ └── Tool.efi
│ ├── OpenCore.efi
│ ├── config.plist
│ ├── vault.plist
│ └── vault.sig
│──Kernels
│ ├── kernel
│ ├── kernelcache
│ └── prelinkedkernel
├── boot
├── nvram.plist
├── opencore-YYYY-MM-DD-HHMMSS.txt
├── panic-YYYY-MM-DD-HHMMSS.txt
└── SysReport
解压 OpenCore 压缩包后,在 Docs 文件夹有 配置文件 范例 Sample.plist
,将其拷贝到 X64/EFI/OC
下,并重命名成 config.plist
。
OpenCore 文件夹的用途:
ACPI
:存放 DSDT.aml 和 SSDT.aml 的文件夹Device
:opencore 驱动文件夹。Kext
:MacOS 内核驱动文件夹。Resources
:主题文件夹。tools
:UEFI 实用程序文件夹。
其他的部分,一般不需要动,保持原装就好。
BIOS 的设置:
禁用项:
- 禁用
Fast Boot
和Hardware Fast Boot
。 - 禁用
CFG Lock
。 - 禁用
VT-d
。 - 禁用
CSM
。 - 禁用
EHCI / XHCI Hand-off
,如果出现 USB 设备连接时启动停滞的情况,则启用。 - 禁用
Thunderbolt Support
(非必须)。 - 禁用
Intel SGX
(非必须)。 - 禁用
Intel Platform Trust
(非必须)。
启用项:
- 开启
Above 4G Decoding
或者类似的功能。 - 启用
VT-x
。 - 启用
Hyper Threading
。 - 启用
Execute Disable Bit
。
1、config-ACPI
1.1、config-ACPI-Add
从 OC/ACPI
目录加载 ACPI 表。不同平台需要加载的 ACPI 表不同,具体可以参考 dortania 的 ACPI 入门或者 OC-Little-Translated 项目。加载 ACPI 表是为了解决兼容性问题。
名词解析:
Comment
:注释。Enabled
:ture
则启用,false
则禁用。Path
:ACPI 表的路径,直接填表的名称就行,因为所有 ACPI 表都从OC/ACPI
目录加载。
1.2、config-ACPI-Delete
删除 ACPI 表。一般用不上,可以跳过。
1.3、config-ACPI-Patch
修改 ACPI 表的一些数值。这个尽量不要用,尽量使用内核驱动或者添加 ACPI 表。
1.4、config-ACPI-Quirks
FadtEnableReset
:用于修复旧硬件和少数笔记本的重启和关机问题,也可以修复电源快捷键的问题(Command+电源键
),触发出现这些问题,否则不要启用。NormalizeHeaders
:修复 MacOS ACPI 实现错误导致的引导崩溃,从 MacOS Mojave (10.14) 开始,这个错误已经被修复。根据系统版本选择是否开启。RebaseRegions
:尝试地重定位 ACPI 内存区域。不建议启用,除非需要自定义 DSDT。ResetHwSig
:如果出现休眠唤醒问题,可以尝试开启。ResetLogoStatus
:如果在开机时无法显示 OEM Windows 标志可以尝试开启。SyncTableIds
:如果在 Windows 系统出现软件许可失效的问题可以尝试开启。
2、Config–Booter
黑苹果的启动可以明显看到两个阶段,主要区别是跑的代码不一样,一眼就能区分。如果你的配置文件不正确,在进入上述的阶段时,还会有一个阶段,提示你配置文件错误。
两个阶段中的第一个是内核载入阶段,称之为 Early Boot。第二个阶段是内核运行阶段。
2.1、config-Booter-MmioWhitelist
Mmio 白名单,默认有两条未开启的条目,有需要可以尝试开启。
- 默认第一项是为
Haswell芯片
提供内存寻址修复,此类芯片如果遇到内存相关问题,可以尝试开启。 - 默认第二项是 ACPI、PCI device 同时释放到内存时发生
0x1000
内存地址被占用而卡在PCI Configration
,如果碰到此类问题,可以尝试开启。
2.2、config-Booter-Patch
这部分可以对 Bootx64.efi 进行修改。一般不需要动这个,直接跳过。
2.3、config-Booter-Quirks
AllowRelocationBlock
:当系统需要更低位置的内存时,重新定位被非 runtimeserivce 所占据的内存。这个选项需要同时启用ProvideCustomSlide
(必需)和AvoidRuntimeDefrag
(通常情况下),但是这个选项并不兼容某些硬件及 MacOS 11。这种情况下可能需要用EnableSafeModeSlide
来替代。AvoidRuntimeDefrag
:防止boot.efi
运行时执行内存碎片整理。除 Apple 和 VMware 固件外,都需要启用此选项。DevirtualiseMmio
:从某些 MMIO 区域中删除 Runtime 属性。该选项一般对所有固件都有用,除了一些非常古老的固件(例如:Sandy Bridge)。对于某些 300 系列主板是必须的。如果出现内存分配错误,可以尝试开启。DisableSingleUser
:禁用 Apple 单用户模式。有需要自行开启。DisableVariableWrite
:防止 MacOS 获取 NVRAM 的写入权限。在没有原生 MacOS 支持 NVRAM 的主板上需要开启。具体是否原生支持可以上网查,或者自行尝试。DiscardHibernateMap
:复用原始的休眠内存映射。这可能解决较旧较罕见的硬件上的错误内存映射。例如:Insyde 固件的 Ivy Bridge 笔记本电脑(Acer V3-571G)。如果休眠唤醒之后出现错误内存映射,则可以尝试开启。EnableSafeModeSlide
:修补引导加载程序以在安全模式下启用 KASLR。除非启动到安全模式失败,否则不需要启用此选项。EnableWriteUnprotector
:关闭CR0
寄存器中的写入保护。如果你的固件支持内存属性表 (MAT),请优先使用RebuildAppleMemoryMap
。是否支持 MAT,请参考日志中的OCABC: MAT support is 1/0
来确定。ForceBooterSignature
:将 MacOS 启动器签名设置为 OpenCore 启动器。如果你的电脑是 mac 则启用。ForceExitBootServices
:在失败时用新的内存映射(Memory Map)重试ExitBootServices
。如果遇到了内核载入阶段的启动失败,可以尝试开启。ProtectMemoryRegions
:保护内存区域免于不正确的读写。如果遇到了休眠、睡眠无法唤醒、启动失败或其他问题,则尝试启用。一般来说,只有很老的固件才需要启用。ProtectSecureBoot
:保护 UEFI 安全启动变量不被写入。避免碎片整理导致的 NVRAM 相关问题,例如:Insyde 或MacPro5,1
。如果遇到因为 NVRAM 相关问题导致启动失败,可以尝试开启。ProtectUefiServices
:保护 UEFI 服务不被固件覆盖。如果因为内存方面的原因在内核加载阶段卡住,可以尝试启用这个选项。(如果是用启用了 BIOS 安全启动的 GRUB 启动 OpenCore ,则需要开启这个选项。Z390系列主板开机卡++++,也需要开启这个选项。)ProvideCustomSlide
:为低内存设备提供自定义 KASLR slide 值。如果 OpenCore 的日志中出现OCABC: Only N/256 slide values are usable!
则请启用这一选项。ProvideMaxSlide
:当更大的 KASLR slide 值不可用时,手动提供最大 KASLR slide 值。当ProvideCustomSlide
启用、并且 slide 落入不可用的范围时,如果出现随机的启动失败,则开启这个选项。日志会出现AAPL: [EB|‘LD:LKC] } Err(0x9)
这样的信息。如果要找到最合适的值,手动将slide=X
舔加到启动参数里,并通过日志记录下不会导致启动失败的最大值。RebuildAppleMemoryMap
:生成与 MacOS 兼容的内存映射。如果遇到内核载入阶段启动失败可以尝试启用。在支持内存属性表 (MAT) 的平台上,这一选项 是EnableWriteUnprotector
更好的替代。这个选项一般要和SyncRuntimePermissions
一起启用。ResizeAppleGpuBars
:减少 GPU PCI BAR 的大小,以便与 MacOS 兼容。这个仅设置 MacOS 的 GPU PCI BAR 。MacOS 支持理论上的1GB最大值,但是可能会出现问题。直接设置为0
就好。SetupVirtualMap
:将SetVirtualAddresses
调用修复为虚拟地址。如果遇到内核载入阶段启动失败可以尝试启用。目前具有内存保护支持的新固件(例如 OVMF )不支持这个选项。SignalAppleOS
:如果你的电脑是 Mac 则开启该选项。SyncRuntimePermissions
:更新运行时环境的内存权限。如果你出现内核载入阶段启动失败(例如:一直黑屏,影响了机子上的其他系统),可以尝试开启。
3、Config-DeviceProperties
这个部分是用来描述和注入设备信息。好玩的一点是,你可以修改设备的名字,比如说把显卡的名字改成 RTX 9090
。
3.1、Config-DeviceProperties-Add
一般来说,这个部分只加上声卡和核显的就足够了。如果你想折腾其他的,随意。
像是 OCAT 这样的编辑器,窗口左边是设备的 PCI 路径,右边是设备的属性。
ProperTree 则是像收缩列表那样。
在 MacOS 中核显的 PCI 路径是固定的,统一为 PciRoot(0x0)/Pci(0x2,0x0)
。声卡的 PCI 路径需要使用 Hackintool 来寻找。Hackintool 是 MacOS 下的软件,在安装完 MacOS 之前都无法使用。我建议是在安装完 MacOS 之前,除了必要的驱动,其他的先不加,毕竟没有系统,你要这么多驱动也没用。
显卡一般注入设备 ID 就可以正常使用( 有时 WhateverGreen.kext 可以自动帮我们驱动)。如果遇到一些问题,可以注入其他属性解决,例如显存太小,可以注入 framebuffer-unifiedmem
。
声卡注入声卡布局 ID(layout-id)就可以驱动。ID 有那些,可以到 AppleALC 项目查找,一个一个试 ID,直到找到能用的。
3.2、Config-DeviceProperties-Delete
这部分是删除设备属性,一般用不上,可以跳过。
4、Config-Kernel
这部分是对内核驱动程序进行加载、修补以及屏蔽等操作。
4.1、Config-Kernel-Add
填写需要加载的驱动。从 OC/Kexts
目录加载选定的驱动。驱动的顺序有要求,依赖驱动要在前面,例如 A 依赖 B,那么 B 要在 A 前面加载。通常编辑器会帮助我们调整顺序,所以不用担心。一些驱动内还会附加驱动,也要添加,否则无法运行,不用但是编辑器一样会解决。
必要的驱动有 WhateverGreen.kext
、VirtualSMC.kext
和 Lilu.kext
。如果是笔记本可能需要 VoodooPS2Controller.kext
驱动自带键盘。其他的驱动在进入系统之后慢慢折腾,不要老想着一劳永逸。
名称解释:
- Arch:Kext 架构,可填 i386 或者 x86_64,按照 Kext 架构填,现在一般都是 x86_64。
- BundlePath:Kext 相对于
EFI/OC/kexts/Other/
的路径,如Lilu.kext
或MyKext.kext/Contents/PlugIns/MySubKext.kext
。 - Comment:注释。
- ExecutablePath:Kext 中实际可执行文件的路径(例如
Lilu.kext
中的可执行文件路径是Contents/MacOS/Lilu
)。如果是空壳 Kext,则不用填。 - MaxKernel:在小于等于指定的 macOS 版本或更高版本中添加该 Kext 驱动程序。这个弄起来比较麻烦,我建议是留空,这样所有版本都能加载。
- MinKernel:在大于等于指定的 macOS 版本中添加该 Kext 驱动程序。这个弄起来比较麻烦,我建议是留空,这样所有版本都能加载。
- PlistPath:Kext 中
Info.plist
文件的路径。例如:Contents/Info.plist
。
4.2、Config–Kernel–Block
这个部分填写需要禁用的驱动,一般用不上,可以跳过。
4.3、Config–Kernel–Emulate
这个部分可以跳过。这部分是仿冒 CPU,通常用于不支持的 CPU,例如:赛扬、奔腾、11代和12代英特尔 CPU。编辑器一般有预设好的仿冒选项,有需要直接选择就好。
DummyPowerManagement
:禁用电源管理驱动,通常用于不支持的 CPU。例如:赛扬、奔腾、AMD。是 NullCpuPowerManagement.kext 的替代品。
4.4、Config–Kernel–Force
这部分是从系统里强制加载内核驱动,一般用不上,可以跳过。
4.5、Config–Kernel–Patch
英特尔 CPU 的可以跳过这个部分,AMD CPU 的需要打补丁,详细信息参考 AMD_Vanilla。
4.6、Config–Kernel–Quirks
AppleCpuPmCfgLock
:禁用AppleIntelCPUPowerManagement.kext
中的PKG_CST_CONFIG_CONTROL
(0xE2
) 修改,从而避免早期的 Kernel Panic。如果使用的是 macOS 13 之前的版本且没有解锁 CFG Lock 则启用。AppleXcpmCfgLock
:禁用 XNU 内核对PKG_CST_CONFIG_CONTROL
(0xE2
) 修改,从而避免早期 Kernel Panic(XCPM power management)。如果没有解锁 CFG Lock 则启用。AppleXcpmExtraMsrs
:对于没有 XCMP 支持的设备,禁用对选定 CPU 的多 MSR 访问。如果你的 CPU 架构是 Haswell-E,Broadwell-E,Skylake-SP 或者类似 CPU 的,启用这个选项。AppleXcpmForceBoost
:在 XCPM 模式下强制使用最大性能。只有某些 Xeon 型号的 CPU 才有可能受益。不启用。CustomPciSerialDevice
:在一个定制的 PCI 串行设备上修改 PMIO 寄存器的基本地址。不启用,一般人用不到串口 debug。CustomSMBIOSGuid
:对UpdateSMBIOSMode
自定义模式执行 GUID 修补,通常用于戴尔笔记本电脑。DisableIoMapper
:禁用 XNU (VT-d) 中的IOMapper
支持。该选项是直接在 ACPI 表中删除DMAR
和在 BIOS 中禁用 VT-d 的首选替代方案。不会妨碍其他操作系统中的 VT-d 支持。固件中错误配置的 IOMMU 可能导致设备损坏。例如,以太网适配器可能会无限在连接-断开中循环,Wi-Fi 适配器可能无法发现网络。技嘉是出现这些问题的最常见的 OEM 厂商之一。如果你出现这些情况,且需要在其他系统开启 VT-d,则启用这个选项。DisableIoMapperMapping
:这个选项解决了在原生DMAR
表包含一个或多个保留内存区域且安装了超过 16 GB 内存的系统上启用 AppleVTD 时与 Wi-Fi、以太网和 Thunderbolt 设备的兼容性问题。在某些系统上,只有在启用 iGPU 时才需要这个 Quirk。如果你遇到启用 AppleVTD 时与 Wi-Fi、以太网和 Thunderbolt 设备的兼容性问题,可以尝试启用这个选项。在 AMD 系统上不需要这个选项。DisableLinkeditJettison
:禁止丢弃__LINKEDIT
。这个选项能让Lilu.kext
和其他一些可能的 kext 在 MacOS Big Sur 中以最佳性能运行,而不需要keepsyms=1
启动参数。看你使用的系统版本选择是否启用。DisableRtcChecksum
:禁用 AppleRTC 初始校验和(0x58
-0x59
)写入。如果遇到 RTC 问题,可以尝试启用。更建议使用 RTCMemoryFixup.kext 代替这个选项。ExtendBTFeatureFlags
:将FeatureFlags
设置为0x0F
,以实现蓝牙的全部功能(包括连续互通功能)。该选项是BT4LEContinuityFixup.kext
的替代品。由于补丁进度较晚,无法正常工作。ExternalDiskIcons
:修补AppleAHCIPort.kext
图标,使 MacOS 将所有 AHCI 存储设备显示为内部硬盘。不启用。ForceAquantiaEthernet
:启用 Aquantia AQtion 的 10GbE 网卡支持。要想让网卡正常工作必须禁用DisableIoMapper
,并在 BIOS 中启用 VT-d。如果没有这类网卡,则不启用这个选项。理论上此补丁支持所有 Aquantia AQtion 系列的以太网卡,但它仅在基于 AQC-107s 的 10GbE 网卡上进行了测试。AppleVTD 在启用这个选项后的会有不兼容问题,我们需要删除DMAR
表之后在添加新的DMAR
表。更多细节可以在 commit 2441455 中找到。如果你不需要 AppleVTD 这个修改DMAR
表这件事可以忽略。ForceSecureBootScheme
:强制采用x86
方案进行 IMG4 核查。在虚拟机上使用x86legacy
以外的SecureBootModel
时需要开启此选项。ForceSecureBootScheme
:允许 IOPCIFamily 用 2GB PCI BAR 启动。如果 BIOS 中存在 Above4GDecoding 选项,请直接在 BIOS 中启用。尽量不要使用这个选项。一般来说,macOS 将 PCI BAR 限制为 1GB。启用这个选项并不能让 macOS 实际使用具有更大 PCI BAR 的设备。通常这一选项只需要在配置错误或损坏的固件上开启。LapicKernelPanic
:禁用 LAPIC 中断导致的 Kernal Panic。如果遇到这种情况,则启用这个选项。惠普电脑可能需要启用这一选项。LegacyCommpage
:如果你的 CPU 不支持SSSE3
指令集,则启用这个选项。不是太老的 CPU 或者太低端的 CPU 都支持这个指令集。PanicNoKextDump
:内核崩溃时不输出 Kext 列表,输出崩溃日志。该选项在 10.13 及以上起作用。在稳定使用 MacOS 之前启用这个选项。PowerTimeoutKernelPanic
:修复 MacOS Catalina 中由于设备电源状态变化超时而导致的内核崩溃。如果遇到这种情况,则启用这个选项。配置错误的硬件可能会导致出现这个问题,特别是数字音频、有的时候会导致睡眠唤醒的问题。这一 Quirk 和引导参数setpowerstate_panic=0
的功能大部分是一致的,但是后者只应该用于调试用途。ProvideCurrentCpuInfo
:向内核提供当前的 CPU 信息。如果不是在虚拟机黑苹果或使用的不是 12 代及其之后的 CPU,则不启用。SetApfsTrimTimeout
:设置 trim 超时时间。MacOS 12.0 及以上版本,设置为0
,以下的版本,自己定一个超时时间(单位为微秒)。关于 trim 的内容,自行搜索。ThirdPartyDrives
:修补IOAHCIDeleteStorage.kext
,为第三方驱动器启用 TRIM、硬盘休眠等功能。如果你用的是 NVMe SSD,则无须启用这个选项。XhciPortLimit
:修补AppleUSBXHCI.kext
、AppleUSBXHCIPCI.kext
、IOUSBHostFamily.kext
以移除 15 端口限制。请尽可能避免使用这一选项。真正长期有效的解决方案是通过 USB 定制限制可用的 USB 端口个数在 15 以下。
4.7、Config–Kernel–Scheme
主要是和旧版 MacOS(大概是 10.9 - 10.4 的系统)有关的项目,一般用不上,可以跳过。
CustomKernel
:使用位于 ESP 分区下的 Kernels 目录下的定制内核缓存。使用 Atom 和 AMD CPU 的开启这个选项。FuzzyMatch
:使用校验值不同的kernelcache
(如果可用)。可以提高 MacOS 10.6 在多个平台上的启动性能。KernelArch
:如果可用,优先选择指定的内核架构(i386
,i386-user32
,x86_64
)。设置为x86_64
。KernelCache
:如果可用,优先选择指定的内核缓存(Kernel Cache)类型(Auto
,Cacheless
,Mkext
,Prelinked
)。设置为Auto
。
5、Config-Misc
5.1、Config-Misc-BlessOverride
通过 Bless Model 添加自定义扫描路径。用于引导程序不在一般位置的情况下。例如 Windows 的引导和 OpenCore 在同一个 EFI 分区(\EFI\Microsoft\Boot\bootmgfw.efi
) 。
5.2、Config-Misc-Boot
ConsoleAttributes
:为控制台设置特定的属性,就是背景颜色和文字颜色。把对应的数字相加,填入即可。0x00
—EFI_BLACK
(黑色字体)0x01
—EFI_BLUE
(蓝色字体)0x02
—EFI_GREEN
(绿色字体)0x03
—EFI_CYAN
(青色字体)0x04
—EFI_RED
(红色字体)0x05
—EFI_MAGENTA
(紫色字体)0x06
—EFI_BROWN
(棕色字体)0x07
—EFI_LIGHTGRAY
(亮灰色字体)0x08
—EFI_DARKGRAY
(暗灰色字体)0x09
—EFI_LIGHTBLUE
(淡蓝色字体)0x0A
—EFI_LIGHTGREEN
(淡绿色字体)0x0B
—EFI_LIGHTCYAN
(淡青色字体)0x0C
—EFI_LIGHTRED
(淡红色字体)0x0D
—EFI_LIGHTMAGENTA
(淡紫色字体)0x0E
—EFI_YELLOW
(黄色字体)0x0F
—EFI_WHITE
(白色字体)0x00
—EFI_BACKGROUND_BLACK
(黑色背景)0x10
—EFI_BACKGROUND_BLUE
(蓝色背景)0x20
—EFI_BACKGROUND_GREEN
(绿色背景)0x30
—EFI_BACKGROUND_CYAN
(青色背景)0x40
—EFI_BACKGROUND_RED
(红色背景)0x50
—EFI_BACKGROUND_MAGENTA
(紫色背景)0x60
—EFI_BACKGROUND_BROWN
(棕色背景)0x70
—EFI_BACKGROUND_LIGHTGRAY
(亮灰色背景)
HibernateMode
:休眠检测模式。设置为Auto
,如果使用的是 Mac,则设置为None
。HideAuxiliary
:隐藏开机引导项菜单中的辅助条目。在选择启动项的界面按空格键,就可以显示隐藏的辅助条目。Recovery
、Auxiliary
、Time Machine
、Reset NVRAM
等都是辅助条目,我建议隐藏,不仅美观,还有一点点的性能提高。LauncherOption
:固件偏好设置中注册启动器选项,以保证 Bootloader 的持久与一致性。简单来说就是解决 OpenCore 的\EFI\BOOT\BOOTx64.efi
被覆盖掉的问题,例如 Windows 安装和升级时会这样。我建议是设置为Disabled
,备份好 OpenCore。Disabled
:什么都不做。Full
:在 Bootloader 启动时,在 UEFI 变量存储中创建或更新最高优先级的启动项。要使用这个选项,必须同时开启RequestBootVarRouting
。简单来说,就是把 OpenCore 设置为第一启动项。Short
:创建一个短的、非完整的启动项。此值对于某些固件很有用,例如:Insyde,或者其他无法处理完整设备路径的固件。System
: 不创建启动项,而是认为该项是 blessed 的。这种 variant 在依赖ForceBooterSignature
属性和 OpenCore 启动器路径时非常有用。管理是通过 bless 工具进行的,不涉及 OpenCore。
LauncherPath
:LauncherOption
的启动引导路径。Default
用于引导OpenCore.efi
。其他的路径(例如:\EFI\Launcher.efi
)可用来提供自定义加载器,用于自行加载OpenCore.efi
。PickerAttributes
:设置开机引导菜单的属性。保持默认就好。PickerAudioAssist
:在开机引导菜单中启用屏幕朗读。关闭就好,一般用不上。如果需要开启,需要启用 UEFI Audio,具体参考 UEFI Audio 部分。PollAppleHotKeys
:在开机引导菜单中启用Modifier Hotkey
。开启一些快捷键的支持。一般很少用到,有需要就启用。CMD+C+MINUS
--- 禁用主板兼容性检查。CMD+K
--- 从 RELEASE 版本的内核启动,类似于kcsuffix=release
参数。CMD+R
--- 从恢复分区启动。CMD+S
--- 启动至单用户模式。CMD+S+MINUS
--- 禁用 KASLR slide,需要事先禁用 SIP。CMD+V
--- 启用-v
。Shift+Enter, Shift+Index
--- 启用安全模式。
ShowPicker
:是否显示开机引导菜单。按ESC/Option/Zero
键可以显示开机引导菜单,我一般是在稳定使用 MacOS 时不显示引导菜单,需要时通过按键显示出来。TakeoffDelay
:在处理引导项启动和处理Action Hotkey
之前的延迟,以微秒为单位。保持默认就好,如果你觉得快捷键来不及按,可以适当增加这个数值。Timeout
:开机引导菜单中,启动默认启动项之前超时时间(以秒为单位)。 使用0
禁用倒计时。根据需求设置吧。我一般保持默认,不差那 5s。PickerMode
:选择启动管理器的界面。使用图形化界面,则设置External
反之则Builtin
,如果是电脑是 Mac,则设置为Apple
。PickerVariant
:选择启动管理器所使用的图标集。图标集是一个相对于Resources/Image
的目录路径,例如:Acidanthera\GoldenGate
的绝对路径是xxx/Resources/Image/Acidanthera\GoldenGate
。
5.3、Config-Misc-Debug
AppleDebug
:启用将boot.efi
调试日志保存到 OpenCore 日志。在稳定用 MacOS 之前保持打开。10.15.4 和更新版本才支持这个功能。ApplePanic
:将 MacOS Kernel Panic 保存到 OpenCore 根分区。在稳定用 MacOS 之前保持打开。最好配合keepsyms=1
启动参数一起使用。DisableWatchDog
:某些固件启动系统的速度不够快(尤其是在调试模式下),看门狗定时器会中止引导过程。此选项用来关闭看门狗定时器。如果遇到此类情况,则启用这个选项。DisplayDelay
:屏幕上打印每行输出之间的延迟。保持默认就好。DisplayLevel
:与屏幕显示相关的调试级别。设置为2147483650
。LogModules
:按模块过滤日志条目。设置为*
。稳定使用 MacOS 之后,可以取消。SysReport
:在 EFI 分区中保存系统报告。启用这个选项,稳定使用 MacOS 之后,可以取消。RELEASE
版本无这个功能,debug
版本才有。Target
:日志记录的方式。设置为67
。
5.4、Config-Misc-Entry
这个部分是在开机引导菜单中添加引导项。
名称解释:
Arguments
:该引导条目的启动参数。Auxiliary
:是否是辅助条目。Comment
:注释。Enabled
:是否启用。Flavour
:为该启动项指定 flavour。保持默认。FullNvramAccess
:在使用Tools
的过程中禁用 OpenRuntime NVRAM 保护。Name
:启动菜单中看到的名称。FullNvramAccess
:在使用 Tools 的过程中禁用 OpenRuntime NVRAM 保护。通常情况下,应该避免这样做。Path
:引导路径。RealPath
:启动时将完整的路径传递给工具。不启用这个选项。TextMode
:是否以文本模式启动。设置为false
,则图形模式启动。
5.5、Config-Misc-Security
AllowSetDefault
:允许使用CTRL+Enter
和CTRL+[数字]
设置默认启动项,=/+
键也可以,按需启用。ApECID
:Apple Enclave 标识符。保持默认就好。AuthRestart
:启用与VirtualSMC
兼容的 authenticated restart。保持默认就好。BlacklistAppleUpdate
:忽略某些用于更新 Apple 外围固件的启动项。使用 MacOS Big Sur 则启用。DmgLoading
:定义用于 MacOS Recovery 的磁盘映像(Disk Image, DMG)加载策略。设置为Signed
。EnablePassword
:为敏感操作启用密码保护。此功能还在开发,不推荐日常使用。保持默认。ExposeSensitiveData
:用于向操作系统暴露敏感数据的位掩码。设置为6
。HaltLevel
:调试等级,使 CPU 在获得HaltLevel
消息后中止。设置为2147483648
。PasswordHash
:密码使用的哈希值。默认就好。PasswordSalt
:密码使用的盐值。默认就好。Vault
:启用 OpenCore 的 Vault 机制。设置为Optional
。ScanPolicy
:定义操作系统检测策略。设置为3870467
。SecureBootModel
:Apple 安全启动的机型。设置为Disabled
。
5.6、Config-Misc-Serial
这个部分是设置串口相关参数,可以跳过。
5.6.1、Config-Misc-Serial Custom
这个部分是设置串口相关参数,可以跳过。
5.7、Config-Misc-Tools
这部分是将工具条目添加到开机引导菜单,可以跳过。
名称解释参考 Entries
部分。
6、Config-NVRAM
6.1、Config-NVRAM-Add
- 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
- DefaultBackgroundColor:背景颜色,保持默认就好。
- 7C436110-AB2A-4BBB-A880-FE41995C9F82
- ForceDisplayRotationInEFI:屏幕旋转,可选值有:
0
、90
、180
、270
。 - SystemAudioVolume:引导界面播放声音的大小,保持默认。
- boot-args:启动参数,在稳定使用 MacOS 前用
-v
和keepsyms=1
就足够了。 - UIScale:用户界面缩放比例的一字节数据。普通屏幕应为
01
,HiDPI 屏幕应为02
。 - csr-active-config:设置系统完整性保护状态(SIP),保持默认就好。
- prev-lang:kbd:键盘布局,我们用的键盘一般是美式布局,但是我看别人填的是中文布局,opencore 官方支持的列表里面有两款中文布局,分别是拼音和仓颉。先填
7a682d48616e733a323532
,如果出现问题,就改成ru:0
。 - run-efi-updater:这个变量的作用是阻止 MacOS 更新 EFI 固件。设置为
NO
。
- ForceDisplayRotationInEFI:屏幕旋转,可选值有:
6.1、Config-NVRAM-Delete
这个部分的作用是删除 NVRAM 变量,保持默认就好。对于原本就有的 NVRAM 变量,不能够直接修改,需要先删除,在增加。从而达到修改的目的。
6.2、Config-NVRAM-LegacyOverwrite
允许用 nvram.plist
文件中的变量覆盖现有 NVRAM 变量。只有操作系统访问的到的变量会被覆盖。配合上面的选项使用。不启用这个选项。
6.3、Config-NVRAM-LegacySchema
可以跳过这里,这部分用于模拟 NVRAM。
6.4、Config-NVRAM-WriteFlash
允许将所有添加的变量写入闪存。把易失性 NVRAM 变量变成非易失性 NVRAM 变量,把 NVRAM 变量保存下来,和一些功能有关(例如:启动磁盘)。如果开启这个选项一段时间后,需要重置 BIOS 才能正常启动,则不启用。
7、Config-PlatformInfo
这个部分是设置机型信息。
7.1、Config-PlatformInfo-Automatic
启用这个选项则基于 Generic
属性生成机型信息。反之,则基于 DataHub
、NVRAM
和 SMBIOS
属性生成机型信息。一般是启用这个选项,这样就可以根据少量信息,生成其他信息。
7.2、Config-PlatformInfo-CustomMemory
自定义内存配置,取代 SMBIOS 中任何现有的内存配置,只有当 UpdateSMBIOS
设置为 true
时才生效。某些机型对内存安装有要求(例如:MacPro 7.1),如果不是按要求的内存配置,则会报告错误,不影响正常使用。需要修改内存配置信息或者更换其他机型就可以解决,无视也是一种解决办法。一般来说,不启用这个选项。
7.3、Config-PlatformInfo-Generic
SpoofVendor
:将 SMBIOS 中的 Vendor 字段设置为Acidanthera
。启用这个选项。不启用这个选项,会在 SMBIOS 的 Vendor 字段中使用Apple
,会导致一些软件问题。AdviseFeatures
:用支持的 bit 更新FirmwareFeatures
。如果你有以下情况,则启用这个选项。- EFI 分区不是硬盘中的第一个分区,无法重新启动到硬盘里的 Windows 系统。
- EFI 分区是硬盘中的第一个分区,无法重新启动到硬盘里的 Windows 系统
- 不可能在 APFS 磁盘上安装 MacOS。
- 无法安装 large BaseSystem 镜像的 MacOS,例如:MacOS 12。
MaxBIOSVersion
:将 BIOS 版本设置为9999.999.999.999.999
,从而避免 MacOS 升级 BIOS。一般不启用这个选项。如果你的电脑是 Mac,则推荐启用这个选项。SystemMemoryStatus
:用来表示内存是否可以更换和升级,此值也控制着「关于本机」中「内存」选项卡的可见性。设置为Auto
,就足够了。这不影响实际使用,还可以通过无视来解决它。ProcessorType
:CPU 型号,保持默认就好,会自动设置。SystemProductName
:Mac 型号,挑选与自己的硬件配置最接近的。SystemSerialNumber
:产品序列号,随机生成一个就好。SystemUUID
:UUID,随机生成一个就好。MLB
:主板序列号,随机生成一个就好。ROM
:使用网卡的 mac 地址。
7.4、Config-PlatformInfo-UpdateDataHub
更新 Data Hub 字段。根据 Automatic
的值,这些字段会从 Generic
或 DataHub
中读取。保持默认。
7.5、Config-PlatformInfo-UpdateNVRAM
是否更新 NVRAM 中关于机型信息的相关字段。根据 Automatic
的值,这些字段会从 Generic
或 PlatformNVRAM
中读取。所有其他字段都将在 NVRAM
部分中指定。保持默认。
7.6、Config-PlatformInfo-UpdateSMBIOS
更新 SMBIOS 字段。根据 Automatic
的值,这些字段会从 Generic
或 SMBIOS
中读取。保存默认。
7.7、Config-PlatformInfo-UpdateSMBIOSMode
更新 SMBIOS 字段的方式有:
TryOverwrite
--- 如果新的数据大小,小于等于按页对齐的原始数据,且对解锁 legacy region 没有影响,则选择Overwrite
方式;否则选择Create
方式。在某些硬件上可能会有问题。Create
--- 在 AllocateMaxAddress 将表替换为新分配的 EfiReservedMemoryType,没有回退机制。Overwrite
--- 如果数据大小合适则覆盖现有的 gEfiSmbiosTableGuid 和 gEfiSmbiosTable3Guid,否则将以不明状态中止。Custom
--- 把第一个 SMBIOS 表(gEfiSmbios(3)TableGuid
)写入gOcCustomSmbios(3)TableGuid
,以此来解决固件在 ExitBootServices 覆盖 SMBIOS 内容的问题。否则等同于Create
。需要对 AppleSmbios.kext 和 AppleACPIPlatform.kext 打补丁来读取另一个 GUID:"EB9D2D31"
-"EB9D2D35"
(in ASCII), 这一步由CustomSMBIOSGuid
Quirk 自动完成。
Custom
使得 SMBIOS 设置只对 MacOS 生效,避免了 Windows 激活和 OEM 设置的相关问题(例如:Windows 激活失效,软件许可失效,软件和驱动提示硬件不符合),但是 Windows 下的 Apple 软件可能会出问题,例如:BootCamp。
一般设置为 Custom
,如果需要使用 BootCamp,则设置为 Create
。
7.8、Config-PlatformInfo-UseRawUuidEncoding
是否对 SMBIOS 的 UUID 使用原始编码。保持默认就好。
8、Config-UEFI
UEFI 的相关设置。
8.1、Config-UEFI-APFS
EnableJumpstart
:从一个 APFS 容器中加载 APFS 驱动。APFS 的 EFI 驱动内置在所有可以作为系统启动盘的 APFS 容器之中。APFS 是 MacOS 的硬盘格式,不加载 APFS 驱动,就无法安装系统,必须启用这个选项。GlobalConnect
:在 APFS 加载期间执行完整的设备连接。如果无法访问 APFS 分区,则启用这个选项。HideVerbose
:是否隐藏 APFS 驱动的 verbose 信息。APFS 驱动的 verbose 信息可以帮助我们 debug,在稳定使用 MacOS 之前保持打开。JumpstartHotPlug
:允许从进入 OpenCore 引导菜单后插入的可移除硬盘上的 APFS 容器中加载 APFS 驱动。简单来说就是热插拔 APFS U 盘,有需要就开启吧。MinDate
:允许加载的最老 APFS 驱动的发布日期。保持默认就好。MinVersion
:允许加载的最老 APFS 驱动的版本号。保持默认就好。
8.2、Config-UEFI-AppleInput
AppleEvent
:确定是使用 OpenCore 内置协议还是 OEM Apple Event 协议。设置为Builtin
。CustomDelays
:在使用 Apple Event 协议的 OpenCore 重新实现时,启用自定义按键的间隔时间。一般用不上,不启用这个选项。KeyInitialDelay
:按键重复的初始延迟。保持默认就好。KeySubsequentDelay
:按键重复的间隔时间。保持默认就好。GraphicsInputMirroring
:Apple 的 Apple Event 阻止图形应用程序中的键盘输入出现在基本控制台输入流中。启用这个选项。PointerPollMin
:配置最小指针轮询周期。保持默认就好。PointerPollMax
:配置最大指针轮询周期。保持默认就好。PointerPollMask
:配置轮询指针的索引。保持默认就好。PointerSpeedDiv
:配置指针速度除数。保持默认就好。PointerSpeedMul
:配置指针速度乘数。保持默认就好。PointerDwellClickTimeout
:左键的超时时间。在使用 OEM Apple 实现时没有影响。PointerDwellDoubleClickTimeout
:左键双击的超时时间。在使用 OEM Apple 实现时没有影响。PointerDwellRadius
:点击的容忍半径。在使用 OEM Apple 实现时没有影响。
8.3、Config-UEFI-Audio
这部分是配置启动菜单音频,跳过。我基本没见过人折腾这个。
8.4、Config-UEFI-ConnectDrivers
驱动程序加载后执行 UEFI 控制器连接操作。启用这个选项。
8.5、Config-UEFI-Drivers
这部分是加载 UEFI 驱动。
名称解释参考 Config-Misc-Entry
部分。
8.6、Config-UEFI-Input
KeyFiltering
:启用键盘输入的合理性检查。一般用不上,不启用。KeyForgetThreshold
:两次按键之间的间隔时间。保持默认。KeySupport
:启用内部键盘输入转换为AppleKeyMapAggregator
协议。一般来说,启用这个选项,如果你的键盘在不开启该选项的情况下也能正常工作,则可以不启动。如果使用了单独的驱动程序(例如:AppleUsbKbDxe
)或者使用的是 Mac 电脑,则不启用这个选项。KeySupportMode
:将内部键盘的输入转换设置为AppleKeyMapAggregator
协议模式。保持默认就好。KeySwap
:启用后将交换Command
键和Option
键。就是交换win
键和alt
键,有需要就启用。PointerSupport
:启用内部指针驱动器。保持默认就好。PointerSupportMode
:设置用于内部指针驱动程序的 OEM 协议。保持默认就好。TimerResolution
:固件始终刷新的频率(单位100
纳秒)保持默认就好。
8.7、Config-UEFI-Output
InitialMode
:选择internal ConsoleControl
模式,TextRenderer
将在该模式下运行。可用值为Auto
、Text
和Graphics
。Text
和Graphics
指定了命名模式。Auto
使用系统ConsoleControl
协议的当前模式(如果存在),否则默认为Text
模式。设置为Auto
即可。-
TextRenderer
:选择通过标准控制台输出的渲染器。目前支持两种渲染器:
Builtin
和System
。建议使用Builtin
渲染器,因为它支持 HiDPI 模式,并能够使用全屏分辨率。以下是文本渲染器和渲染模式的组合:
BuiltinGraphics
--- 切换到Graphics
模式,并使用Builtin
渲染器和自定义ConsoleControl
。BuiltinText
--- 切换到Text
模式,并使用Builtin
渲染器和自定义ConsoleControl
。SystemGraphics
--- 切换到Graphics
模式,并使用System
渲染器和自定义ConsoleControl
。SystemText
--- 切换到Text
模式,并使用System
渲染器和自定义ConsoleControl
。SystemGeneric
--- 使用System
渲染器和系统ConsoleControl
,前提是它们能正常工作。
推荐首选
BuiltinGraphics
,对于大多数平台,需要启用ProvideConsoleGop
,将Resolution
设置为Max
。某些非常老的笔记本只能在Text
模式下绘图,选择BuiltinText
。如果选择
System
协议的话,首选SystemGraphics
或SystemText
。推荐启用ProvideConsoleGop
,将Resolution
设置为Max
,启用ReplaceTabWithSpace
。某些 Mac,例如
MacPro5,1
,在使用较新的 GPU 时,可能会出现控制台不兼容输出的情况(例如:中断),因此可能只有BuiltinGraphics
对它们有效。NVIDIA GPU可能需要额外的固件升级。 ConsoleFont
:指定用于 OpenCore 内置文本渲染器的控制台字体。保持默认就好。ConsoleMode
:按照WxH
(例如:80x24
)格式的字符串所指定的方式设置控制台的输出模式。设置为Max
则会尝试最大的可用控制台模式。Resolution
:设置控制台的屏幕分辨率。设置为WxH@Bpp
(例如1920x1080@32
)或WxH
(例如:1920x1080
)格式的字符串,向 GOP 请求自定义分辨率(如果有的话)。设置为Max
,尝试使用最大的可用屏幕分辨率。ForceResolution
:当默认情况下无法获得所需分辨率时,强制设置Resolution
中所填写的分辨率,多用于 Intel GMA 和第一代 Intel HD Graphics (Ironlake/Arrandale)。不启用这个选项。ClearScreenOnModeSwitch
:有些固件在从图形模式切换到文本模式时,会留下一部分之前的图像。如果遇到,则开启这个选项。只在使用System
渲染器时生效。DirectGopRendering
:为控制台使用内置的图形输出协议渲染器。一般不开启,除非你发现开启后代码滚动更好,更流畅。GopBurstMode
:设置这个可以大大加快 GOP 操作的速度,特别是在需要DirectGopRendering
的系统上。无论是否设置了DirectGopRendering
,这都是有效的,即使DirectGopRendering
未启用,也可能给 GOP 操作带来一些加速。启用这个选项。GopPassThrough
:在UGA
协议实例的基础上提供GOP
协议实例。一般用于不支持 GOP 协议或者版本低的情况下。保持默认就好。该选项需要启用ProvideConsoleGop
。IgnoreTextInGraphics
:某些类型的固件在图形和文本模式下都在屏幕上输出文本。随机文本可能会出现在图形图像上并导致 UI 损坏。如果出现这种情况,启用这个选项。ReplaceTabWithSpace
:有些固件不会打印tab
符号,甚至不打印tab
后面的所有内容。这个选项会使控制台输出空格来替代tab
。如果遇到这种情况,则启用这个选项。只在使用System
渲染器时生效。ProvideConsoleGop
:确保控制台句柄上有 GOP,MacOS bootloader 要求控制台句柄上必须有 GOP 或 UGA。启用这个选项。ReconnectGraphicsOnConnect
:在驱动连接过程中重新连接所有的图形驱动。如果使用了其他的图形驱动程序(例如:BiosVideo.efi
),则启用这个选项。该选项需要启用ConnectDrivers
。ReconnectOnResChange
:改变屏幕分辨率后重新连接控制台控制器。例如从 Shell 启动OpenCore。除非需要,否则不需要启用这个选项。SanitiseClearScreen
:有些固件在使用分辨率较大的显示器(例如:2K 或 4K)时,清除屏幕内容会导致屏幕分辨率重置为1024x768
。如果遇到这种情况,则启用这个选项,并且ConsoleMode
选项留空。只在使用System
渲染器时生效,ConsoleMode
必须留空才能正常工作。-
UIScale
:用户界面的缩放系数。- 1:1倍缩放,对应于普通显示器。
- 2:2x缩放,对应于 HiDPI 显示器。
- 1:保持当前变量不变。
- 0:根据当前分辨率自动选择缩放比例。
自动比例系数检测是在总像素面积的基础上进行的,在小型 HiDPI 显示器上可能会失效,在这种情况下,可以使用 NVRAM 的 UIScale 变量手动设置该值。当从手动指定的 NVRAM 变量切换到该首选项时,可能需要对 NVRAM 进行重置。 NVRAM 的 UIScale 变量和这个选项,选择其一使用即可。
UgaPassThrough
:在 GOP 协议实例之上提供 UGA 协议实例。有些固件没有老旧的 UGA 协议,但是某些 EFI 应用程序(例如 10.4 的 EfiBoot)需要。一般不启用这个选项。
8.8、Config-UEFI-ProtocolOverrides
这个部分可以跳过,保持默认就好。
8.9、Config-UEFI-Quirks
ActivateHpetSupport
:激活 HPET 支持。如果 BIOS 里没有 HPET 设置,这个选项可以尝试强制启用。EnableVectorAcceleration
:启用SHA-512
和SHA-384
哈希算法的AVX
矢量加速。在 CPU 支持 AVX512 或者 AVX 的情况下,开启 AVX 加速。可能在某些笔记本电脑的固件上出问题,例如:联想。EnableVmx
:启用英特尔虚拟机扩展。一般用在 Mac 上,开启 VMX。尽量在 BIOS 里开启。DisableSecurityPolicy
:禁用平台安全策略。非必要勿启用。ExitBootServicesDelay
:在EXIT_BOOT_SERVICES
事件后添加延迟,单位为毫秒。如果遇到提示Still waiting for root device
,则设置 3-5 秒的时间。ForceOcWriteFlash
:启用所有 OpenCore 管理的 NVRAM 系统变量向闪存的写入。如果出现其他系统启动失败,则启用这个选项。启用或是关闭这个选项,可能需要对 NVRAM 进行重置,以确保完整的功能。ForgeUefiSupport
:在EFI 1.x
固件上提供部分UEFI 2.x
支持。一般用于老版 Mac,保持默认。IgnoreInvalidFlexRatio
:某些固件可能在MSR_FLEX_RATIO(0x194)MSR
寄存器中包含无效的值,导致英特尔平台上的 MacOS 启动失败。如果没有遇到 MacOS 启动失败,可以尝试启用这个选项。ReleaseUsbOwnership
:尝试从固件驱动程序中分离 USB 控制器所有权。某些固件没有正确地分离 USB 控制器所有权,导致操作系统可能会在启动时冻结。如果遇到这种情况,则启用这个选项。ReloadOptionRoms
:在可用时,查询 PCI 设备并重新加载其可选 ROM。和 ForgeUefiSupport 配合使用,一般用于老版 Mac 对较新显卡的支持。RequestBootVarRouting
:请求将所有带有Boot
前缀的变从EFI_GLOBAL_VARIABLE_GUID
重定向到OC_VENDOR_VARIABLE_GUID
。建议开启这个选项,可以提高启动安全性,保证 OpenCore 的引导优先级。如果要使用启动磁盘
功能,这个选项是必须的。ResizeUsePciRbIo
:: 使用PciRootBridgeIo
来调整GpuBars
和ResizeAppleGpuBar
。如果配置 Resizable BAR 会导致Capability I/O
错误。则启用这个选项。ResizeGpuBars
:配置 GPU PCI BAR 的大小。这个是设置除了 MacOS 之外的系统的 BAR 大小。我建议是设置为-1
禁用这个选项,如果是以测试和开发为,可以微调这个值。这个选项可以增加 GPU PCI BAR 的大小,但这在大多数固件上是行不通的。在大多数情况下,最好将固件更新到最新版本或使用专门的驱动程序对其进行自定义,例如 ReBarUEFI。可选值的具体规律如下:- 0 – 1 MB
- 1 – 2 MB
- 2 – 4 MB
- 3 – 8 MB
- 4 – 16 MB
- 5 – 32 MB
- 6 – 64 MB
- 7 – 128 MB
- 8 – 256 MB
- 9 – 512 MB
- 10 – 1 GB
- 11 – 2 GB
- 12 – 4 GB
- 13 – 8 GB
- 14 – 6 GB
- 15 – 32 GB
- 16 – 64 Gb
- 17 – 128 GB
- 18 – 256 GB
- 19 – 512 GB。
TscSyncTimeout
:尝试用指定的 Timeout 执行 TSC 同步,推荐的起始值是500000
。不建议使用这个选项,建议使用内核驱动替代(例如:VoodooTSCSync、TSCAdjustReset 、CpuTscSync)。UnblockFsConnect
:某些固件通过「按驱动程序」模式下来阻止引导项加载,导致文件系统协议无法安装。如果在启动界面没有看得启动项,则启用这个选项。
8.10、Config-UEFI-ReservedMemory
这部分是设置保留内存,一般用不上,可以跳过。
更新日志
2022/8/5:更新 OpenCore 0.8.3 的内容。
2022/9/8:更新 OpenCore 0.8.4 的内容。
2022/12/8:更新 OpenCore 0.8.6 的内容。0.8.5 没更新什么内容就没写。
2023/1/9:OpenCore 0.8.7 和 0.8.8 没更新什么内容,所有本文章适用于 OpenCore 0.8.8。
2023/6/12:整理了文章格式,为之后更新内容打基础。
2023/7/1:更新 OpenCore 0.9.2 的内容,并修正部分内容。
2023/8/23:OpenCore 0.9.4 更新的内容和本文的内容不冲突,本文章依然适用于 OpenCore 0.9.4