启动界面&代码界面部分

Q1:启动时显示

OCABC: Incompatible OpenRuntime r10, require r11
Halting on critical error

A:此问题由升级替换文件不完全造成,/EFI/OC 目录下的 OpenCore.efi,/EFI/OC/Drivers 目录下的 OpenRuntime.efi,必须来自同一版本。

OpenCore 的关键文件:BOOTx64.efi、OpenCore.efi、OpenRuntime.efi、OpenCanopy.efi(用于支持官方主题服务)

 

Q2:启动时显示

This version of Mac OS X is not supported on this platform!

A:问题原因:使用了较新的机型ID,但是这个机型不支持旧版本系统,例如:MacPro7,1 仅能安装 macOS 10.15 及以上,不支持 macOS 10.13-10.14。

 

Q3:启动界面看不到 macOS 启动分区

A:首先确认 /EFI/OC/Drivers 目录下有 HFSPlus.efi;

修改 config.plist:

Misc→Security→Scan Policy→设置为 0

UEFI→Quirks→UnblockFsConnet→True/Yes(部分惠普机型需要)

UEFI→APFS→EnableJumpStart→True/Yes

UEFI→APFS→HideVerbose→True/Yes

UEFI→APFS→MinDate→ -1

UEFI→APFS→MinVersion→ -1

 

Q4:选择启动项后黑屏

A:修改 config.plist:

UEFI→Output→ProvideConsoleGop→True/Yes

Booter→Quirks→RebuildAppleMemoryMap→True/Yes

如果未能解决问题,请使用 Debug 版本 OpenCore,这样会提示更多信息。

 

Q5:如何将 OpenCore 设置成图形化启动界面?

A:修改 config.plist:

  • Misc
    • Boot
      • Picker Mode→External
      • Picker Attribute GUI→1
      • Show Picker→True/Yes
  • UEFI
    • Drivers
      • 加载 OpenCanopy.efi
    • Output
      • Resolution→Max

下载 OcBinaryData:https://github.com/acidanthera/OcBinaryData

 

Q6:如何固定选择启动项?

A:修改 config.plist:

Misc→Security→AllowSetDefault→True/Yes

在启动界面选择想要设置的项,按下 Ctrl + Enter,即可。

 

Q7:

OCB: OcScanForBootEntries failure - Not Found

A:这是由于 OpenCore 无法根据当前的 ScanPolicy 设置找到任何驱动器,此项设置为 0 将允许显示所有引导选项

修改 config.plist:Misc→Security→ScanPolicy→ 0

 

Q8:

OCB: failed to match a default boot option

A:原因及解决方法同上一条。

 

Q9:

OCB: StartImage failed - Aborted
Halting on critical error

A:请升级 OpenCore 到 0.5.9 及更高版本,这主要是由错误的编译或文件版本不对应造成。

OpenCore 的关键文件必须来自同一版本:BOOTx64.efi、OpenCore.efi、OpenRuntime.efi、OpenCanopy.efi(用于支持官方主题服务)

 

Q10:

Forcing CS_RUNTIME for entitlement: com.apple.rootless.restricted-block-devices

A:这个一般出现在安装 macOS 11.0 Big Sur beta 的过程中,其实并没有卡住,注意观察硬盘灯,耐心等待,一般3-5分钟就会过。

 

Q11:

SetMulticastList() ===>
SetMylticastList() <===

A:同上

 

Q12:

OCB:OcScwfurBootEntries failure - not found
Halting on critical error

A:配置文件有错误,建议重新新建 config.plist。注:此错误新手遇到比较多,请注意 OpenCore 和 Clover 的 config 文件并不通用!

 

Q13:

ERROR allocating 0x3362 pages at 0x0000000001033000 alloc type 2
Error loading kernel cache (0x9)
Halting on critical error

A:原因一般是在 /EFI/OC/Drivers 目录下引入了很多 Clover 使用的 .efi 文件。并不是 Clover 适用的 .efi 文件 OpenCore 也适用,具体看:.efi 文件说明

解决办法是删除 Clover 使用的 .efi 文件,OpenCore 最基础只需保留 HfsPlus.efi,OpenRuntime.efi,OpenCanopy.efi(用于支持官方主题),其余都删除。

 

Q14:OpenCore 启动界面不显示安装 U 盘,macOS 系统盘,Recovery 等选项。

A:修改 config.plist:

Misc→Security→ScanPolicy→ 0

填写 0 会扫描所有内容并开启所有选项。其它可选值:3870467,默认:983299

 

Q15:

OCS:No schema for Disabled at 12 index
OC:Driver HfaPlus.efi at 0 cannot be found!
Halting on critical error

A:默认的 OpenCore 不含 HFSPlus.efi 文件,需要添加到 /EFI/OC/Drivers 目录下。

 

Q16:

OCB:StartImage failed - Already started
Halting on critical error

A:一般发生在引导项选择时选择了 EFI 分区。解决方法:不要选择 EFI 分区启动。

 

Q17:

oc:Image Kexts\XXXX.kext\Contents\MacOS\XXXX.kext is missing for kext XXXX.kext ()
Halting on critical error

A:上面的代码中,XXXX.kext 可能是任何值,例如 VirtualSMC.kext,CPUFriend.kext,AppleALC.kext 等等,但是问题的原因是一样的:在 /EFI/OC/Kexts/ 目录下没有对应的 kext 文件。解决方法也很简单,添加对应的 kext,或者在 config.plist 中禁用相关的 kext。

 

Q18:

OCUI: Failed to load images
Halting on critical error

A:开启了 OpenCore 的 UI 界面,但是没有配置 OC 的 Resource 文件,请下载并复制到 /EFI/OC/Resource/ 文件。

下载 OcBinaryData:https://github.com/acidanthera/OcBinaryData

 

Q19:卡在主板 LOGO 界面

A:常见于技嘉主板,修改 config.plist→UEFI→Drivers 取消 AudioDxe,删除或在名称前添加 # 号,暂时禁用。

 

Q20:

configuration requires vault but no vault provided!

A:修改 Config.plist 中:

Misc→Security→Vault→Optional

将 Vault 值设置为 Optional,注意大小写敏感。

 

Q21:

OC: Invalid Vault mode!

A:修改 config.plist 中:

Misc→Security→Vault→Optional

大概率是拼写错误,将 Vault 值设置为 Optional,注意大小写敏感。

 

Q22:

[EB|`B:WFDW] Err(0xE), 0 @ LocHB 71B4903C-14EC-42C4-BDC6-CE1449930E49
[EB|#LOG:DT] 2020-03-09T09:40:46 [EB|#LOG:EXITBS:START] 2020-07-22T04:21:02
++++++++++++++++++++++++++++++++++++++++++++++++++++

方案一:修改 config.plist 中

  • UEFI→Quirks→IgnoreInvalidFlexRatio→True/Yes
  • UEFI→Quirks→ReleaseUsbOwnership→True/Yes
  • Booter→Quirks→RebuildAppleMemoryMap→False/No
  • Booter→Quirks→SetupVirtualMap→True/Yes

方案二:针对无法解开 CFG 锁的机型,修改 config.plist 中

  • Kernel→Quirks→AppleXcpmCfgLock→True/Yes
  • Kernel→Quirks→AppleCpuPmCfgLock→True/Yes
  • UEFI→Quirks→IgnoreInvalidFlexRatio→True/Yes
  • 如果无法关闭 VT-d,修改:
    • Kernel→Quirks→DisableIoMapper→True/Yes

Q23:

Start RandomSeed
End RandomSeed
+++++++++++++++++++++

A:修改 config.plist 中:

Booter:

Quirks

  • DevirtualiseMmio→False/No
  • SetupVirtualMap→False/No
    • 但大部分技嘉主板,以及更老的硬件如第4代酷睿需要开启 SetupVirtualMap;华硕和华擎 Z490 不能开启此项;
  • RebuildAppleMemoryMap→True/Yes
  • EnableWriteUnprotector→False/No
  • SyncRuntimePermissions→True/Yes
    • 前提是你的固件中有 Memory Attribute Table,如果没有:
      • RebuildAppleMemoryMap→False/No
      • SyncRuntimePermissions→False/No
      • EnableWriteUnprotector→True/Yes
    • 为了确定你的固件有没有 MAT,设置以下选项:
      • Misc→Debug→Target→67
    • 在 EFI 日志中查找以下内容:
OCABC: MAT support is 1

Kernel:

  • AMD 系统需要内核补丁
  • Intel 系统:
    • BIOS 中解锁 CFG-Lock,没有该选项的情况开启以下选项:
      • AppleXcpmCfgLock→True/Yes
      • AppleCpuPmCfgLock→True/Yes

UEFI:

  • Quirks
    • IgnoreInvalidFlexRatio→True/Yes
      • 此项仅适用于第4代酷睿或更老平台,不适用于 AMD 和第6代酷睿及更新平台。
  •  Output
    • ProvideConsoleGop→True/Yes

Q24:

[EB|#LOG:EXITBS:START]

A:方法1:参考Q23;

方法2:修改 config.plist:

Booter→Quirks→RebuildAppleMemoryMap→False/No

Booter→Quirks→SetupVirtualMap→False/No

 

Q25:

OC: OcAppleGenericInputTimerQuirkExit Status - Success
OC: OcAppleGenericInputKeycodeExit Status - Success

A:解决方法:

  • Intel:
    • BIOS 中解锁 CFG-Lock,没有该选项的情况开启以下选项:
      • AppleXcpmCfgLock→True/Yes
      • AppleCpuPmCfgLock→True/Yes
  • AMD 系统需要内核补丁

如果未能解决问题,请使用 Debug 版本 OpenCore,这样会提示更多信息。

 

Q26:

OCABC: Memory pool allocation failure - Not Found

A:这是由于错误的 BIOS 设置 和/或 错误的 Booter Quirks 值,请确认 Booter→Quirks 设置正确,并验证 BIOS 设置:

  • 开启 Above 4G Decoding
  • 关闭 CSM
  • 升级 BIOS 到最新版本

 

Q27:

OCS: No schema for DSDT, KernelAndKextPatch, RtVariable, SMBIOS, SystemParameters...

A:这基本上是配置文件结构不正确造成的,请勿使用 Clover 的 config.plist 引导 OpenCore,以及版本不匹配的 OpenCore Configurator 配置 config.plist。

建议是,能学会树形目录编辑器就尽量学,例如 ProperTree

 

Q28:

apfs_module_start

A:卡在这个位置大部分都是 Z390 主板,需要添加一个 ACPI 补丁,内容如下:

Comment: 	Fix RTC _STA bug
Find: 		A00A9353 54415301
Replace: 	A00A910A FF0BFFFF

 

Q29:

OCB:LoadImage failed - Unsupported
Halting on critical error

A:一般发生在进入 Recovery 时。解决方法是在 /EFI/OC/Drivers/ 目录下添加 HFSPlus.efi 或 VBoxHfs.efi,一般使用前者。

 

Q30:

000340.041303 XHCI@14000000: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 23 with portSC 0x802a0
000341.204285 XHCI@14000000: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 24 with portSC 0x802a0
000341.227434 XHCI@14000000: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 25 with portSC 0x221203
000341.250544 XHCI@14000000: AppleUSBXHCI::interruptOccurred: clearing change bits on unused port 26 with portSC 0x802a0
...
...
IOUSBHost Interface(0x10000063d): matching deferred by IOUSBHostHIDDevice

A:一般是因为缺少 ACPI 补丁,没有正确驱动 USB 的 XHCI 节点。可尝试以下 ACPI 补丁:

Comment: Rename XHCI to XHC(USB)
Find: 58484349
Replace: 5848435F

Comment: Rename XHC1 to XHC(USB)
Find: 58484331
Replace: 5848435F

其它解决办法:

  • 检查镜像 md5;
  • 将 U 盘换到 USB2.0 或 USB3.1 的接口;
  • 添加解除 15 端口限制的补丁,或修改 config.plist→Kernel→Quirks→XhciPortLimit

 

Q31:

VM Swap Subsystem is ON

A:修改 config.plist

Kernel→Quirks→ThirdPartyDrivers→ Off/False

 

Q32:

Kernel Extensions in backtrace:
com.apple.iokit.IOPCIFamily(2.9)[ADD485B5-3EF8-37C4-B3C5-F86326E497A4]@0xffffff7f9432f000->0xfffffff7f94365fff
com.apple.driver.AppleACPIPlatform(6.1)[C111AA1C-DE22-39CC-BB44-4870383DDAA0]@0xffffff7f96306000->0xffffff7f963a0fff
dependency: com.apple.iokit.IOACPIFamily(1.4)...
dependency: com.apple.iokit.IOPCIFamily(2.9)...
dependency: com.apple.driver.AppleSMC(3.1.9)...
com.apple.driver.AppleIntelCFLGraphicsFramebuffer(14.0.4)[...]@...

A:这个错误基本是是由 Framebuffer 设置不当造成的,例如7代酷睿使用了9代酷睿的核显 Framebuffer。

解决方法:修改合适的核显 Framebuffer 信息,可先删除 DeviceProperties 下有关核显的数值。其它参考:驱动 Intel 核显。

 

其他设置部分

Q1:如何关闭 OpenCore 输出到 ESP 分区下的日志文件?

A:修改 config.plist

Misc→Debug→Target→ 0

  • 0:关闭日志记录
  • 3:允许屏幕输出日志
  • 19:允许屏幕输出 UEFI 变量日志
  • 65:在 ESP 分区根目录生成日志文件 opencore-年-月-日-时分秒.txt,但屏幕上不显示日志

 

Q2:macOS 安装界面是俄语?

修改 config.plist:

NVRAM → 7C436110-AB2A-4BBB-A880-FE41995C9F82 → prev-ang:kbd,类型为 data 值,内容为 7a682d48 616e773a 323532

 

Q3:硬盘提示 BIError Domain 3

A:修改 config.plist:

SMBIOS 改机型为 iMacPro1,1 或 MacBookPro16,1 等 2018年及以后的机型。

 

Q4:卡在“找不到安装器资源”?

A:这个问题的原因可能是多种多样的:

  • 对于 High Sierra 和 Mojave,需要使用终端修改时间,并断开网络
  • 删除 drivers/UEFI 目录下的 EmuVariableUefi.efi(此项针对 Clover 用户)
  • 修改机型为最近三年,比如 MacBookPro14,1、MacBookPro15,1、iMac17,1 等等
  • 如果是双硬盘,拔掉那个不安装 macOS 的,待安装完后再插回去
  • 检查镜像的 md5 值是否相符

 

Q5:进入安装界面后,找不到硬盘。

A:此问题大多数情况下是因为使用了 VBoxHfs.efi,这个驱动在某些机型上(主要是笔记本和品牌台式机)无法读取本地硬盘,解决方法是换用 HFSPlus.efi。