OpenCore 安装卡住的拯救手册Q&A-黑苹果星球
文章推薦指數: 80 %
A:这是由于过时的Apple Secure Boot manifests 导致的,如果你在OpenCore 中设置了SecureBootModel,就会导致加载失败,这些文件丢失的原因实际上是macOS ...
当前位置:黑苹果星球>教程>OpenCore安装卡住的拯救手册Q&A
概述
本文最后更新:2021年11月3日
本文内容主要针对正在迁移到OpenCore这个天坑的用户,主要涉及常见的界面调整,-v跑代码时卡住等问题,本文长期整理更新,遇到文中没有提到的问题欢迎反馈。
本文涉及内容较多,可按下Ctrl+F或Command+F直接查找关键词。
新手常见错误
Q1:启动时显示
OCABC:IncompatibleOpenRuntimer10,requirer11
Haltingoncriticalerror
A:此问题由升级替换文件不完全造成,/EFI/OC目录下的OpenCore.efi,/EFI/OC/Drivers目录下的OpenRuntime.efi,必须来自同一版本。
OpenCore的关键文件:BOOTx64.efi、OpenCore.efi、OpenRuntime.efi、OpenCanopy.efi(用于支持官方主题服务)
Q2:启动时显示
ThisversionofMacOSXisnotsupportedonthisplatform!
A:问题原因:使用了较新的机型ID,但是这个机型不支持旧版本系统,例如:MacPro7,1仅能安装macOS10.15及以上,不支持macOS10.13-10.14;另一种可能的原因是反过来,即:使用了太旧的机型ID,但这个机型不支持最新版本的系统。
Q3:
configurationrequiresvaultbutnovaultprovided!
A:这是最常见的新手错误了,修改Config.plist中:
Misc→Security→Vault→Optional
将Vault值设置为Optional,注意大小写敏感。
Q4:OpenCore启动界面不显示安装U盘,macOS系统盘,Recovery等选项。
A:修改config.plist:
Misc→Security→ScanPolicy→0
填写0会扫描所有内容并开启所有选项。
其它可选值:3870467,默认:983299
Q5:
oc:ImageKexts\XXXX.kext\Contents\MacOS\XXXX.kextismissingforkextXXXX.kext()
Haltingoncriticalerror
A:上面的代码中,XXXX.kext可能是任何值,例如VirtualSMC.kext,CPUFriend.kext,AppleALC.kext等等,但是问题的原因是一样的:在/EFI/OC/Kexts/目录下没有对应的kext文件。
解决方法也很简单,添加对应的kext,或者在config.plist中禁用相关的kext。
下载kext可以看看黑苹果星球整理的月度kext更新包。
除此之外还有XXX.efiismissing之类的也是同类型错误,只是XXX.efi文件一般位于/EFI/OC/Drivers/目录下。
Q7:
StartRandomSeed
EndRandomSeed
+++++++++++++++++++++
A:修改config.plist中:
Booter:
以下选项项取决于MemoryAttributeTable(MAT)支持情况,如何确定MAT支持?
使用Debug版OpenCore,并在config中设置以下选项:
Misc→Debug→Target→67
在EFI日志中查找以下内容:
OCABC:MATsupportis1
以上1代表支持,0代表不支持MAT。
如果支持:
EnableWriteUnprotector→False
RebuildAppleMemoryMap→True
SyncRuntimePermissions→True
如果不支持:
EnableWriteUnprotector→True
RebuildAppleMemoryMap→False
SyncRuntimePermissions→False
其它:
SetupVirtualMap→False/No
大部分GA主板,以及更老的硬件如第4代酷睿需要开启;
Icelake以及CometLake不能开启此项;
AMDB550和A520(以及最新BIOS的X570)不能开启此项;
AMD线程撕裂者TRx40不能开启此项;
华硕X299v3006及以上版本的BIOS(包括其他品牌X299+最新BIOS)不能开启此项;
DevirtualiseMmio
部分硬件平台并不能很好的适应这个Quirk,例如部分Z390和绝大部分的X99和X299。
它的工作方式是占用MMIO区域并删除运行时属性,使它们可用作存放内核的空间,注意这个Quirk在绝大部分的系统上并不要求一定要填写MmioWhiteList,但在某些非常难安装的平台(例如:线程撕裂者TRX4019H或10300H),在启用此Quirk的同时还需设置MmioWhiteList,使用Debug版OpenCore并开启DevirtualiseMmio,你会在日志中找到类似以下内容:
21:49500:009OCABC:MMIOdevirtstart
21:49900:003OCABC:MMIOdevirt0x60000000(0x10000pages,0x8000000000000001)skip0
21:50300:003OCABC:MMIOdevirt0xFE000000(0x11pages,0x8000000000000001)skip0
21:50600:003OCABC:MMIOdevirt0xFEC00000(0x1pages,0x8000000000000001)skip0
21:51000:003OCABC:MMIOdevirt0xFED00000(0x1pages,0x8000000000000001)skip0
21:51300:003OCABC:MMIOdevirt0xFEE00000(0x1pages,0x800000000000100D)skip0
21:51600:003OCABC:MMIOdevirt0xFF000000(0x1000pages,0x800000000000100D)skip0
21:52000:003OCABC:MMIOdevirtend,saved278608KB
将devirt后面的0x60000000等6组十六进制数字转换为十进制:
MMIOdevirt0x60000000->1610612736
MMIOdevirt0xFE000000->4261412864
MMIOdevirt0xFEC00000->4273995776
MMIOdevirt0xFED00000->4275044352
MMIOdevirt0xFEE00000->4276092928
MMIOdevirt0xFF000000->4278190080
然后填写到MmioWhiteList即可:
Kernel:
AMD系统需要内核补丁;
Intel系统:
BIOS中解锁CFG-Lock,没有该选项的情况开启以下选项:
AppleXcpmCfgLock→True/Yes
AppleCpuPmCfgLock→True/Yes
UEFI:
Quirks
IgnoreInvalidFlexRatio→True/Yes
此项仅适用于第4代酷睿或更老平台,不适用于AMD和第6代酷睿及更新平台。
Output
ProvideConsoleGop→True/Yes
部分平台可能需要此项以正常过渡到下一个屏幕,此功能原是AptioMemoryFix的一部分,现在在OpenCore中则是这个Quirk。
Q8:
[EB|`B:WFDW]Err(0xE),0@LocHB71B4903C-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
方案三:参考Q7。
Q9:
[EB|#LOG:EXITBS:START]
A:参考Q7,因为基本上是同样的原因。
Q10:
IOConsoleUsers:time(0)0->0,lin0,llk1,
IOConsoleUsers:gIOScreenLockState3,hs0,bs0,now0,sm0x0
A:这个位置基本上卡在GPU正确初始化前,请确认以下设置:
GPU支持UEFI(尤其是GT600/GT700以及更早期显卡)
BIOS中关闭了CSM
部分笔记本机型可能无法完全关闭
BIOS中设置强制PCIe到3.0
如果使用核显,再次检查所注入的核显ig-platform-id和device-id
桌面端UHD630可以尝试00009B3E
尝试-gfxmlr启动参数,这可能同时可以解决“DividebyZero”错误
在10.15.4及以上版本macOS中,某些机型上的第八、九代酷睿可能需要添加启动参数igfxonln=1
更多参阅WhateverGreen补丁
启动界面&代码界面部分
Q1:启动界面看不到macOS启动分区
A:首先确认/EFI/OC/Drivers目录下有HFSPlus.efi;
修改config.plist:
Misc→Security→ScanPolicy→设置为0
UEFI→Quirks→UnblockFsConnet→True/Yes(部分惠普机型需要)
UEFI→APFS→EnableJumpStart→True/Yes
UEFI→APFS→HideVerbose→True/Yes
UEFI→APFS→MinDate→-1
UEFI→APFS→MinVersion→-1
Q2:选择启动项后黑屏
A:修改config.plist:
UEFI→Output→ProvideConsoleGop→True/Yes
Booter→Quirks→RebuildAppleMemoryMap→True/Yes
如果未能解决问题,请使用Debug版本OpenCore,这样会提示更多信息。
Q3:如何将OpenCore设置成图形化启动界面?
A:以下方法适用于OpenCore0.7.0及以上。
修改config.plist:
Misc
Boot
PickerMode→External
PickerAttributeGUI→1
ShowPicker→True/Yes
PickerVariant→Acidanthera\GoldenGate(或其它你下载的主题)
UEFI
Drivers
加载OpenCanopy.efi
下载OcBinaryData,点此直达官方地址;或下载黑苹果星球整理的文件包:
当前内容被隐藏,登陆后查看已有71657次阅读登录后查看
将解压后的Resources文件夹覆盖到/EFI/OC/目录下的同名文件夹。
Q4:如何固定选择启动项?
A:修改config.plist:
Misc→Security→AllowSetDefault→True/Yes
在启动界面选择想要设置的项,按下Ctrl+Enter,即可。
Q5:
OCB:OcScanForBootEntriesfailure-NotFound
A:这是由于OpenCore无法根据当前的ScanPolicy设置找到任何驱动器,此项设置为0将允许显示所有引导选项
修改config.plist:Misc→Security→ScanPolicy→0
Q6:
OCB:failedtomatchadefaultbootoption
A:原因及解决方法同Q5。
Q7:
OCB:StartImagefailed-Aborted
Haltingoncriticalerror
A:请升级OpenCore到0.5.9及更高版本,这主要是由错误的编译或文件版本不对应造成。
OpenCore的关键文件必须来自同一版本:BOOTx64.efi、OpenCore.efi、OpenRuntime.efi、OpenCanopy.efi(用于支持官方主题服务)
Q8:
ForcingCS_RUNTIMEforentitlement:com.apple.rootless.restricted-block-devices
A:这个一般出现在安装macOS11.0BigSur的过程中,其实并没有卡住,注意观察硬盘灯,耐心等待,一般3-5分钟就会过。
Q9:
SetMulticastList()===>
SetMylticastList()<===
A:同Q8。
Q10:
OCB:OcScwfurBootEntriesfailure-notfound
Haltingoncriticalerror
A:配置文件有错误,建议重新新建config.plist。
注:此错误新手遇到比较多,请注意OpenCore和Clover的config文件并不通用!
Q11:
ERRORallocating0x3362pagesat0x0000000001033000alloctype2
Errorloadingkernelcache(0x9)
Haltingoncriticalerror
A:原因一般是在/EFI/OC/Drivers目录下引入了很多Clover使用的.efi文件。
并不是Clover适用的.efi文件OpenCore也适用,具体看:.efi文件说明
解决办法是删除Clover使用的.efi文件,OpenCore最基础只需保留HfsPlus.efi,OpenRuntime.efi,OpenCanopy.efi(用于支持官方主题),其余都删除。
Q12:
OCS:NoschemaforDisabledat12index
OC:DriverHfaPlus.efiat0cannotbefound!
Haltingoncriticalerror
A:默认的OpenCore不含HFSPlus.efi文件,需要添加到/EFI/OC/Drivers目录下。
Q13:
OCB:StartImagefailed-Alreadystarted
Haltingoncriticalerror
A:一般发生在引导项选择时选择了EFI分区。
解决方法:不要选择EFI分区,请直接选择系统分区。
Q14:
OCUI:Failedtoloadimages
Haltingoncriticalerror
A:开启了OpenCore的UI界面,但是没有配置OC的Resource文件,请下载并复制到/EFI/OC/Resource/文件。
下载OcBinaryData,点此可直达官方地址;或下载黑苹果星球整理的文件包:
当前内容被隐藏,登陆后查看已有71657次阅读登录后查看
Q15:卡在主板LOGO界面
A:常见于GA主板,修改config.plist→UEFI→Drivers取消AudioDxe.efi,删除或在名称前添加#号,暂时禁用。
另一种方案,断电并拔掉电池静置5-10分钟,再开机。
Q16:
OC:InvalidVaultmode!
A:修改config.plist中:
Misc→Security→Vault→Optional
大概率是拼写错误,将Vault值设置为Optional,注意大小写敏感。
Q17:
OC:OcAppleGenericInputTimerQuirkExitStatus-Success
OC:OcAppleGenericInputKeycodeExitStatus-Success
A:解决方法:
Intel:
BIOS中解锁CFG-Lock,没有该选项的情况开启以下选项:
AppleXcpmCfgLock→True/Yes
AppleCpuPmCfgLock→True/Yes
AMD系统需要内核补丁;
如果未能解决问题,请使用Debug版本OpenCore,这样会提示更多信息。
Q18:
OCABC:Memorypoolallocationfailure-NotFound
A:这是由于错误的BIOS设置和/或错误的BooterQuirks值,请确认Booter→Quirks设置正确,并验证BIOS设置:
开启Above4GDecoding
关闭CSM
升级BIOS到最新版本
Q19:
OCS:NoschemaforDSDT,KernelAndKextPatch,RtVariable,SMBIOS,SystemParameters...
A:这基本上是配置文件结构不正确造成的,请勿使用Clover的config.plist引导OpenCore,以及版本不匹配的OpenCoreConfigurator配置config.plist。
建议是,能学会树形目录编辑器就尽量学,例如ProperTree。
Q20:
apfs_module_start
A:卡在这个位置大部分都是Z390主板,需要添加一个ACPI补丁,内容如下:
Comment: FixRTC_STAbug
Find: A00A935354415301
Replace: A00A910AFF0BFFFF
Q21:
OCB:LoadImagefailed-Unsupported
Haltingoncriticalerror
A:一般发生在进入Recovery时。
解决方法是在/EFI/OC/Drivers/目录下添加HFSPlus.efi或VBoxHfs.efi,一般使用前者。
Q22:
000340.041303[email protected]:AppleUSBXHCI::interruptOccurred:clearingchangebitsonunusedport23withportSC0x802a0
000341.204285[email protected]:AppleUSBXHCI::interruptOccurred:clearingchangebitsonunusedport24withportSC0x802a0
000341.227434[email protected]:AppleUSBXHCI::interruptOccurred:clearingchangebitsonunusedport25withportSC0x221203
000341.250544[email protected]:AppleUSBXHCI::interruptOccurred:clearingchangebitsonunusedport26withportSC0x802a0
...
...
IOUSBHostInterface(0x10000063d):matchingdeferredbyIOUSBHostHIDDevice
A:一般是因为缺少ACPI补丁,没有正确驱动USB的XHCI节点。
可尝试以下ACPI补丁:
Comment:RenameXHCItoXHC(USB)
Find:58484349
Replace:5848435F
Comment:RenameXHC1toXHC(USB)
Find:58484331
Replace:5848435F
其它解决办法:
检查镜像md5;
将U盘换到USB2.0或USB3.1的接口;
添加解除15端口限制的补丁,或修改config.plist→Kernel→Quirks→XhciPortLimit
Q23:
VMSwapSubsystemisON
A:修改config.plist
Kernel→Quirks→ThirdPartyDrivers→Off/False
Q24:
KernelExtensionsinbacktrace:
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核显。
Q25:
OCSB:Nosuitablesignature-SecurityViolation
OCB:AppleSecureBootprohibitsthisbootentry,enforcing!
OCB:LoadImagefailed-SecurityViolation
A:这是由于过时的AppleSecureBootmanifests导致的,如果你在OpenCore中设置了SecureBootModel,就会导致加载失败,这些文件丢失的原因实际上是macOS中的BUG。
解决方法(任选其一):
Misc→Security→SecureBootModel→Default或Disabled
重新安装macOS到最新版本
从/usr/standalone/i386拷贝SecureBootmanifests到/Volumes/Preboot/
解决此问题:
修改config.plist→UEFI→APFS→JumpstartHotplug→True(macOS11.0可能必须开启此项才能进入Recovery)
重启,引导进入Recovery
开启终端,进行如下操作:
#通过列出所有分区找到Preboot分卷
diskutillist
#在列出的列表中,我们发现Preboot分卷是disk5s2
/dev/disk5(synthesized):
#:TYPENAMESIZEIDENTIFIER
0:APFSContainerScheme-+255.7GBdisk5
PhysicalStoredisk4s2
1:APFSVolumeBigSurHD-Data122.5GBdisk5s1
2:APFSVolumePreboot309.4MBdisk5s2
3:APFSVolumeRecovery887.8MBdisk5s3
4:APFSVolumeVM1.1MBdisk5s4
5:APFSVolumeBigSurHD16.2GBdisk5s5
6:APFSSnapshotcom.apple.os.update-...16.2GBdisk5s5s
#现在挂载指定的Preboot分卷
diskutilmountdisk5s2
#最后执行下面的命令来更新Preboot分卷
diskutilapfsupdatePreboot/volume/disk5s2
最后重启,注意你可能需要关闭JumpstartHotplug。
Q27:
OCS:NoschemaforEnableForAllat0index,context
解决的办法有两个:
使用0.6.2版本的Sample.plist重建config.plist;
使用BeyondCompare等代码对比工具查找两个版本Sample.plist的不同之处,然后使用VScode等代码编辑器工具修正0.6.1版的config.plist
Q28:
OC:DriverAudioDxe.efiat0cannotbefound!
Haltingoncriticalerror
A:在config.plist中指定了加载某些文件,实际路径里却不存在。
只是此问题指的是.efi驱动。
此案例中,请检查/EFI/OC/Driver/目录下是否存在AudioDxe.efi,不存在的话请添加。
如果不想要这个驱动的话,请在config.plist→UEFI→Drivers中取消该文件,其它情况以此类推。
Q29:
OsxAptioFix3Drv:Startingoverridesfor\System\Library\CoreServices\boot.efi
Usingrelocblock:no,hibernatewake:no
ERRORallocating0x1c19pagesat0x0000000009433000alloctype2
Errorloadingkernelcache(0x9)
Bootfailed;willsleepfor10secondsbeforeexiting...
Error:Abortedreturrnedfromboot.efi
waserror,pressanykey
*Hitanykeytocontinue*
A:如果是OpenCore,请不要使用OsxAptioFix3Drv.efi或其它类似的内存修复驱动,因为OpenCore已经自备了OpenRuntime.efi来解决内存问题。
如果是Clover,r5120以下版本请使用AptioMemoryFix.efi,r5120及以上版本使用OcQuirks.efi。
Q30:
Failedtoparserealfieldoftype1
A:此错误一般是因为使用了Xcode造成,Xcode把HaltLevel的integer值类型自动改成了real,解决办法是不要使用Xcode,把HaltLevel下的数字值类型修改回integer:
#以下是错误的
在此案例中,当用户设备中具备ACPI0008(LightSensordevice)时,macOS会启动AppleSMCLMU.kext与该设备匹配并且需要LightSensor的SMC密钥。
因此,删除SSDT-ALS0.aml,或进一步补充ssdt内容完全屏蔽该设备,一般即可解决该问题。
Q32:
IOConsoleUsers:gIOScreenLockState3,hs0,bs0,now0,sm0x0
之后黑屏
A:如果是Navi系显卡(RX5500/5600/5700/XT)
添加启动参数agdpmod=pikera
可尝试切换到MacPro7,1,启动参数修改为agdpmod=ignore
如果是微星的Navi显卡,可能需要添加以下补丁,位于Kernel→Patch:
Base:
Comment:NaviVBIOSBugPatch
Count:1
Enabled:YES
Find:4154592C526F6D2300
Identifier:com.apple.kext.AMDRadeonX6000Framebuffer
Limit:0
Mask:
MinKernel:19.00.00
MaxKernel:19.99.99
Replace:414D442C526F6D2300
ReplaceMask:
Skip:0
Q33:
KernelPanic:Cannotperformkextsummary
KernelPanic:Invalidframepointer
A:一般情况下此时已经内核崩溃了(KernelPanic),通常是预链接内核相关的问题造成的,尤其是macOS很难理解引导工具注入的内容。
通过以下步骤验证:
Kext加载顺序正确(没错,顺序也是重要的),Lilu.kext必须、务必,一定排在其它所有kext之前;其它kext,必须先是主插件(如VirtualSMC),然后是它的卫星插件(如SuperIO)
大部分的Kext拥有可执行文件(位于kext内部的Executable),剩下的Kext只有plist但是没有包含可执行文件(例如USBPort.kext、XHCI-unspported.kext等)
不要在config.plist中添加多个相同的Kext(例如,VoodooPS2Controller中包含VoodooInput,所以不要再单独添加)
此类错误也可能会造成Invalidframepointer一类的内核崩溃
Q34:
KernelPanic:Invalidframepointer
A:此部分大概率和Booter→Quirks相关,此部分主要和内存相关,主要涉及以下几个选项:
DevirtualiseMmio
部分硬件平台并不能很好的适应这个Quirk,例如部分Z390和绝大部分的X99和X299。
它的工作方式是占用MMIO区域并删除运行时属性,使它们可用作存放内核的空间,注意这个Quirk在绝大部分的系统上并不要求一定要填写MmioWhiteList,但在某些非常难安装的平台(例如:线程撕裂者TRX4019H或10300H),在启用此Quirk的同时还需设置MmioWhiteList,使用Debug版OpenCore并开启DevirtualiseMmio,你会在日志中找到类似以下内容:
21:49500:009OCABC:MMIOdevirtstart
21:49900:003OCABC:MMIOdevirt0x60000000(0x10000pages,0x8000000000000001)skip0
21:50300:003OCABC:MMIOdevirt0xFE000000(0x11pages,0x8000000000000001)skip0
21:50600:003OCABC:MMIOdevirt0xFEC00000(0x1pages,0x8000000000000001)skip0
21:51000:003OCABC:MMIOdevirt0xFED00000(0x1pages,0x8000000000000001)skip0
21:51300:003OCABC:MMIOdevirt0xFEE00000(0x1pages,0x800000000000100D)skip0
21:51600:003OCABC:MMIOdevirt0xFF000000(0x1000pages,0x800000000000100D)skip0
21:52000:003OCABC:MMIOdevirtend,saved278608KB
将devirt后面的0x60000000等6组十六进制数字转换为十进制:
MMIOdevirt0x60000000->1610612736
MMIOdevirt0xFE000000->4261412864
MMIOdevirt0xFEC00000->4273995776
MMIOdevirt0xFED00000->4275044352
MMIOdevirt0xFEE00000->4276092928
MMIOdevirt0xFF000000->4278190080
然后填写到MmioWhiteList即可:
SetupVirtualMap
大多数主板都需要开启这个Quirks,如果没有开启,内核崩溃会很常见;
但是,部分主板却无法使用它,并且可能导致内核崩溃:
IntelIceLake系列(十代酷睿移动端,例如1035G1)
IntelCometLake系列(十代酷睿桌面端,例如i5-10400)
AMDB550
AMDA520
AMDTRx40
另一个问题可能是macOS与CR0寄存器的写保护冲突,要解决此问题,需要先确认你的主板是否有MAT支持,此部分参考Q23;
确定有MAT支持时:
EnableWriteUnprotector->False
RebuildAppleMemoryMap->True
SyncRuntimePermissions->True
当没有MAT支持时:
EnableWriteUnprotector->True
RebuildAppleMemoryMap->False
SyncRuntimePermissions->False
Q35:
KernelPanic:AppleIntelMCEReporter
A:在macOSCatalina处理器双插槽支持被损坏,但部分AMD主板的固件会报告已接入多插槽处理器,因此macOS内置的AppleIntelMCEReporter.kext会造成内核崩溃。
此问题通常出现在AMD处理器的机型上,有两种解决办法,添加一个第三方Kext:AppleMCEReporterDisabler.kext;或编辑config.plist,使用Kernel→Block功能阻止macOS加载AppleIntelMCEReporter.kext(识别符:com.apple.driver.AppleTyMCEDriver,OpenCore默认配置文件Sample.plist中有提供)。
Q36:
SMCLightSensoralsd:@Noiterator
AppleIntelLpssI2CController::_serviceMatchingTimeSubr:fTimerServiceMatchingtimedout,fNotifications0
AppleIntelLpssI2CController::_serviceMatchingTimeSubr:fTimerServiceMatchingtimedout,fNotifications0
A:此错误分两个部分,第一部分,LightSensor没有匹配到可用的光传感器,这可能是你的笔记本没有,或不被支持,可先暂时关闭SMCLightSensor.kext;第二部分,I2C服务匹配超时,这可能是macOS内置的I2C控制程序无法匹配你的设备,解决方法,在config.plist→Kernel→Block中添加以下内容,并使用VoodooI2C.kext替代:
Comment:PreventAppleI2CkextsfromattachingtoI2Ccontrollers
Enabled:YES
Identifier:com.apple.driver.AppleIntelLpssI2C
Comment:PreventAppleI2CkextsfromattachingtoI2Ccontrollers
Enabled:YES
Identifier:com.apple.driver.AppleIntelLpssI2CController
Q37:选择macOSRecovery后,提示以下代码,并返回引导界面:
OCB:LoadImagefailed-NotFound
A:修改config.plist中Misc→Security→DmgLoading→Any/Signed,建议修改为Any。
Q38:启动时KernelPanic:
KernelExtensioninbacktrace:
com.apple.iokit.IOPCIFamily(2.9)[xxxx...
com.apple.driver.AppleACPIPlatform(6.1)[xxxx...
dependency:com.apple.driver.AppleSMC(3.1.9)[xxxx...
dependency:com.apple.iokit.IOACPIFamily(1.4)[xxxx...
dependency:com.apple.iokit.IOPCIFamily(2.9)[xxxx....
A:可能有多种情况会遇到这个内核崩溃,这里主要讲解X79和X99平台,起因是苹果在macOSBigSur修改了大部分IOPCIFamily.kext中的内容,因此造成的部分机型遭遇内核崩溃。
由于目前(2021/6/16)BigSur还没有源码放出,如果没有反汇编大佬进行调试,则无从知晓真正的原因。
可以考虑解决的办法如下:
X79/X99/X299平台务必加上npci=0x2000或npci=0x3000这个启动参数;
尝试SSDT-RTC0-RANGE.aml或SSDT-UNC.aml这两个ACPI补丁,可以从OC团队的开发堆栈里找到源文件;
Q39:跑码过程中出现禁止符号,然后字符变成乱码,如下:
A:此错误源头和USB强相关。
首先检查BIOS设置:
开启USBXHCIHandoff和LegacyUSBSupport,如果安装到SATA接口硬盘,把SATA模式设置为AHCI;
接下来有两种选择:
第一种是把U盘插到纯2.0接口(外观上一般为黑色4针);
第二种是先在Windows对USB接口进行定制,具体原因和方法见「黑苹果Windows定制USB」,完成后使用定制好的USB文件再尝试安装;
Q40:安装macOSBigSur11.3及以上版本时,跑完进度条后见到如下界面:
A:此问题的源头来自macOS系统本身。
苹果自macOSBigSur11.3开始修改了USB映射方式,导致OpenCore依赖的Quirks特性XhciLimitPort失效(Clover自r5123开始完全是OC内核,因此同理)。
截止OpenCore0.7.6开发版,Acidanthera团队仍未修复,估计也不太可能修复了。
简单来说,就是此时macOS没有找到任何键盘/鼠标/妙控板等操控设备,它以为自己运行在白苹果电脑上,于是提示用户打开秒控鼠标/妙控板的开关。
至于没有检测到的原因就说来话长了,具体可参考「黑苹果Windows定制USB」的前言部分。
知道原因后解决问题就比较简单,把你的鼠标键盘插到纯USB2.0接口(外观上一般为黑色4针)即可,有的机型甚至重新插拔一下都可以。
进入系统后建议优先考虑定制USB接口。
Q41:
ifnet_attach:Allkernelthreadscreatedforinterfaceen0havebeenscheduledatleastonce.Proceeding.
_dlil_attach_flowswitch_nexus:en090001500
IOKitDaemon(kernelmanagerd)stall[0],(240s):'PXSX'
A:通常情况下,此情况会出现在安装macOSBigSur,问题的源头是因为BigSur完全删除了类AirPortBrcm4360,为了兼容这个情况,acidanthera团队从Airportbrcmfixup.kext中单独剔出了AirPortBrcm4360和AirPortBrcmNIC注入器(injector),在安装BigSur并使用Airportbrcmfixup.kext时,必须不能加载AirPortBrcm4360_Injector.kext(或为其设置MaxKernel值19.9.9)。
如果你的无线博通网卡是免驱动类型时(例如奋威T919或型号较新的苹果原装拆机卡),则完全不需要使用Airportbrcmfixup.kext。
Q42:关于12.0的无线和蓝牙驱动
macOSMonterey12.0大幅修改了蓝牙和无线网卡的驱动框架,一是因为抛弃了2015年以前推出的机型支持,二是为通用控制做准备。
虽然黑苹果老卡可以通过第三方驱动得到支持,但是在设置上和以往有一些区别。
简单来说就是以下几点:
除免驱卡外(例如奋威T919或其它型号较新的苹果原装拆机卡),必须使用新驱动BlueToolFixup.kext;
蓝牙驱动BrcmPatchRAM中的注入器(BrcmBluetoothInjector.kext),不能在12.0中启用,会卡住。
可以删除或不启用,如果你有切换多个版本系统的需求,OpenCore还可设置MaxKernel值20.99.99,Clover则需要建立不同版本号的Kext目录下的文件夹;
英特尔网卡,需要将IntelBluetoothFirmware升级到最新,同样不能使用IntelBluetoothInjector.kext;
其它可参考「修复蓝牙在macOS12.0Monterey的方法」;
其他部分
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-lang:kbd
改类型为data值,内容为7A682D48616E773A323532
或类型为string值,内容为zh-Hans:252
Q3:硬盘提示BIErrorDomain3
A:修改config.plist:
SMBIOS改机型为iMacPro1,1或MacBookPro16,1等2018年及以后的机型。
Q4:卡在“找不到安装器资源”?
A:这个问题的原因可能是多种多样的:
检查镜像的md5值是否相符
某些版本的镜像是特定机型使用的,例如Catalina19H4就是特定机型版本,此类情况请更换镜像系统版本
对于HighSierra和Mojave,需要使用终端修改时间,并断开网络
对于Catalina,请用终端验证一下系统时间是否和真实时间相差8小时,如果是,使用终端改为真实时间
删除drivers/UEFI目录下的EmuVariableUefi.efi(此项针对Clover用户)
修改机型为最近三年,比如MacBookPro14,1、MacBookPro15,1、iMac17,1等等
如果是双硬盘,拔掉那个不安装macOS的,待安装完后再插回去
Q5:进入安装界面后,找不到硬盘。
A:此问题大多数情况下是因为使用了VBoxHfs.efi,这个驱动在某些机型上(主要是笔记本和品牌台式机)无法读取本地硬盘,解决方法是换用HFSPlus.efi。
另一种可能,请检查硬盘是否处在RAID模式,RAID状态无法正常安装macOS。
Q6:进入macOS后,无法挂载EFI分区,无论使用命令行或配置工具都不行。
A:笔者曾经遇到过这个问题,在试过无数方法后,发现是格式化硬盘的时候忘记格式化ESP分区😂,请用命令行或Diskgenuis等工具格式化ESP分区为FAT32即解决问题。
Q7:首次安装跑完代码界面后,进入一个灰色的屏幕,鼠标可以移动,但是其它什么都不显示。
A:笔者在安装BigSur时遇到过这个问题。
首先确保排除所有config设置及kext可能的问题:主要是针对内存设置的几个Quirks;核显的ig-platform-id及其它属性先删除或屏蔽;以及尝试搭配使用不同版本的Whatevergreen.kext。
以笔者遇到的例子,最终排查结果如下:这个没有任何菜单和选项的灰色界面,其实是Recovery模式下macOSBaseSystem的第二屏幕显示的内容,这个时候尝试重新插拔一下你的显示器接口,如果你有其他显示设备,可以尝试再接一个上去完成安装。
对于macOS,首推使用DisplayPort接口,1.2及以上;其次是HDMI,4k需要2.0及以上;不推荐DVI接口;完全不建议使用VGA接口以及各类转接头。
Q8:升级到BigSurbeta11.0.1后,右上角图标栏有大约三个图标的空白。
A:在此案例中,是搜狗输入法未能很好适配BigSur造成的,升级搜狗输入法到最新版本可解决问题。
Q9:反复检查,设置都对,但macOS就是一直黑屏。
A:此现象有多种原因。
在AMD平台的案例中,请在BIOS中关闭SerialPort。
Q10:进入登陆界面后,macOS卡住,屏幕中间显示一个半透明状态图标,类似下图:
A:此问题一般由不同步的处理器TSC造成,对于大部分处理器,添加CpuTscSync一类的Kext即可解决问题(VoodooTSCSync或CpuTscSync)。
Q11:OpenCore更新到0.6.8之后,主题失效,还有系统选择界面光标“打滑”怎么办?
A:第一部分主题失效,是因为开发团队大刀阔斧修改了主题服务文件,需要搭配新的主题文件才能开启图形界面,可以从官方下载也可以下载黑苹果星球打包好的文件:
当前内容被隐藏,登陆后查看已有71657次阅读登录后查看
将解压后的Resources文件夹覆盖到/EFI/OC/目录下的同名文件夹。
OpenCore0.7.0需要将PickerVariant输入为Acidanthera\GoldenGate或其它你下载的主题名称。
第二个主题界面光标“打滑”现象修改以下选项即可解决。
Q12:
进入安装程序后,在安装界面弹出“未能安装所需的固件更新”。
A:主要出现在安装macOSMonterey12.0.1的过程中,有两种解决方法:
第一,修改config.plist文件→PlatformInfo→Generic→AdviseFeatures→修改为True/勾选;
如果第一种方法无效,第二种方法是升级OpenCore的版本,安装12.0.1建议OpenCore从0.7.4起步,升级可参考「升级引导工具的方法」;
OpenCore
黑苹果教程
0.本站所有资源解压密码均为heipg.cn
1.本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。
如果你喜欢我们推荐的软件,请购买正版支持作者。
2.如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3.本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!黑苹果星球»OpenCore安装卡住的拯救手册Q&A
分享到:
上一篇一步一步从零迁移到OpenCore
下一篇macOS11.0BigSur官方镜像beta3(20A5323I)「开发者预览版」
相关推荐
57评论
超级会员amzxxy
2022年3月31日at下午10:35
登录以回复
首次安装跑完代码界面后,进入一个灰色的屏幕,鼠标可以移动,但是其它什么都不显示。
我遇到了这个问题OC7.9屏蔽独显双显示器都试过了没用
超级会员黑酱
2022年3月31日at下午11:41
登录以回复
欢迎你探索出原因和方案后来分析和分享
超级会员yangyang11
2022年3月21日at下午5:42
登录以回复
谁知道#[EB.LD.PWLFNV|!]Err(0x5)
延伸文章資訊
- 1OpenCore 安装卡住的拯救手册Q&A-黑苹果星球
A:这是由于过时的Apple Secure Boot manifests 导致的,如果你在OpenCore 中设置了SecureBootModel,就会导致加载失败,这些文件丢失的原因实际上是m...
- 2【心得】吃黑蘋果HACKINTOSH的重要觀念與簡易安裝流程
只要你有顆願意嘗試的心,不妨試試看黑蘋果——將家裡的PC安裝上macOS! ... 若讀不到隨身碟or顯示找不到作業系統,可能是USB製作失敗了,可以重新 ...
- 3安裝MAC OS避坑,經歷3個通宵安裝蘋果併流暢使用裝機過程 ...
這裡推薦黑果小兵、黑蘋果屋、以及B站在這三個地方可以找到非常詳細、系統的安裝配置教程 ... config.plist是colover的配置文件,大部分安裝失敗都是 ...
- 4黑苹果Monterey 升级失败还是用BigSur吧 - YouTube
- 5iPhone開不了機黑蘋果?三大高效解決方案 - iMyFone
除了修復iPhone/iPad黑蘋果以外,您還可以使用此工具輕鬆地修復各種iOS和iPadOS問題,比如iPhone更新失敗無法開機、iPhone卡在Hello畫面或iPad復原 ...