OpenCore
一般故障排除
- 支持的版本:
0.5.8
本部分适用于无法引导OpenCore
,macOS
或 macOS
内部有问题的用户。 如果您对卡在 macOS
引导过程中的确切位置感到困惑,请阅读 macOS引导过程[1] 页面可以帮助您了解精简信息。
卡在 no vault provided!
将 config.plist
配置文件中的 Misc -> Security -> Vault
设置为:
Optional
如果已经执行过sign.command
,则由于已插入256字节RSA-2048签名,因此需要还原OpenCore.efi文件。可以在此处获取OpenCore.efi的新副本: OpenCorePkg[2]
注意:Vault和FileVault是两个独立的东西,有关更多详细信息,请参阅 Security and FileVault
卡在 OC: Invalid Vault mode
这可能是一个拼写错误,在选择的 OpenCore
是区分大小写,因此,请务必仔细检查,Optional
是进入其下的正确方法 Misc -> Security -> Vault
卡在 EndRandomSeed
几个问题:
ProvideConsoleGop
可能会丢失,因为这是过渡到下一个屏幕所必需的,它最初是AptioMemoryFix
的一部分,但由于此问题现在已在OpenCore
中。可以在UEFI -> Output
下找到- 缺少 内核补丁[4] (仅适用于AMD CPU,请确保它们是
OpenCore
补丁,而不是Clover
。Clover
中的MatchOS
在OpenCore
具有MinKernel
和Maxkernel
时使用Maxkernel
) IgnoreInvalidFlexRatio
缺少,这对于Broadwell和更老的人是必需的。不适用于AMD和Skylake或更高版本AppleXcpmExtraMsrs
可能需要,这通常是指macOS本身不支持的奔腾,HEDT和其他奇怪的系统。不要在AMD上使用SetupVirtualMap
可能取决于固件需要,通常应避免这种奇怪现象,但是大多数技嘉用户和较旧的硬件(Broadwell和更早版本)将需要这种奇怪现象来引导。RebuildAppleMemoryMap
可能不喜欢您的固件,因此不建议禁用此功能,但某些笔记本电脑和某些台式机可能需要禁用此功能
另一个可能的问题是,某些用户会忘记或无法禁用BIOS中的CFG-Lock(特别是与用于电源管理的锁定0xE2 MSR位有关,显然更安全地关闭CFG-Lock)。**请注意,这仅适用于Intel用户,不适用于AMD。**发生这种情况时,有几个可能的解决方法:
- 修正CFG Lock
- Enable
AppleXcpmCfgLock
和AppleCpuPmCfgLock
,PKG_CST_CNFIG_CONTROL
分别在XNU和AppleIntelCPUPowerManagement中禁用。不建议使用长期解决方案,因为这可能会导致不稳定。
卡在 [EB|#LOG:EXITBS:START]
实际上这是完全相同的错误,EndRandomSeed
因此所有相同的修复都适用(10.15.4及更高版本更改了那些好奇的调试协议):
ProvideConsoleGop
可能会丢失,因为这是过渡到下一个屏幕所必需的,它最初是AptioMemoryFix的一部分,但由于此问题现在已在OpenCore中。可以在UEFI->输出下找到- 缺少内核补丁(仅适用于AMD CPU,请确保它们是OpenCore补丁,而不是Clover。Clover
MatchOS
在OpenCore具有MinKernel
and时使用Maxkernel
) IgnoreInvalidFlexRatio
缺少,这对于Broadwell和更老的人是必需的。不适用于AMD和Skylake或更高版本AppleXcpmExtraMsrs
可能需要,这通常是指macOS本身不支持的奔腾,HEDT和其他奇怪的系统。不要在AMD上使用SetupVirtualMap
可能取决于固件需要,通常应避免这种奇怪现象,但是大多数技嘉用户和较旧的硬件(Broadwell和更早版本)将需要这种奇怪现象来引导。RebuildAppleMemoryMap
可能不喜欢您的固件,因此不建议禁用此功能,但某些笔记本电脑和某些台式机可能需要禁用此功能
另一个可能的问题是,某些用户会忘记或无法禁用BIOS中的CFG-Lock(特别是与用于电源管理的锁定0xE2 MSR位有关,显然更安全地关闭CFG-Lock)。**请注意,这仅适用于Intel用户,不适用于AMD。**发生这种情况时,有几个可能的解决方法:
- 修正CFG Lock
- Enable
AppleXcpmCfgLock
和AppleCpuPmCfgLock
,PKG_CST_CNFIG_CONTROL
分别在XNU和AppleIntelCPUPowerManagement中禁用。不建议使用长期解决方案,因为这可能会导致不稳定。
看不到macOS分区
要检查的主要内容:
ScanPolicy
设置为0
将显示所有驱动器- 具有正确的固件驱动程序,例如
HfsPlus
(注意ApfsDriverLoader
不应在0.5.8中使用) - 在
config.plist
UEFI-> Quirks
中将UnblockFsConnect
设置为True
。某些HP系统需要 - 设置
UEFI -> APFS
全选代码
复制
为查看基于APFS的驱动器:
- EnableJumpstart:
yes
- HideVerbose:
yes
- MinDate:
-1
- MinVersion:
-1
选择器选择后黑屏
这是由于缺少 ConsoleGOP
,请在您的配置下启用它:
UEFI -> Output -> ProvideConsoleGop
如果这没有帮助,试试换用Debug的OpenCore.efi
,并将BOOTx64.efi
复制到你的EFI中替换。这将显示有关您的Hackintosh实际卡住位置的更多信息。
卡在 OC: OcAppleGenericInput... - Success
这实际上不是错误,相反,OpenCore
不会向您显示所有调试信息。这是在内核加载之前/之时,因此我们需要检查以下内容:
- 英特尔:
- CFG锁在BIOS中禁用或
AppleCpuPmCfgLock
与AppleCpuPmCfgLock
在内核中启用- >quirk
- AMD:
- Ryzen/Threadripper(17h)
- Bulldozer/Jaguar(15h/16h)
- 确认您已向配置中添加了正确的内核补丁(请记住,使用OpenCore补丁
MinKernel
,MaxKernel
而Clover
中使用MatchOS
值)
如果这没有帮助,试试换用Debug的OpenCore.efi
,并将BOOTx64.efi
复制到你的EFI中替换。这将显示有关您的Hackintosh实际卡住位置的更多信息。
卡在 OCB: OcScanForBootEntries failure - Not Found
这是由于 OpenCore
无法使用当前的 ScanPolicy
找到任何驱动器,设置为0
将允许显示所有引导选项
Misc -> Security -> ScanPolicy -> 0
卡在 OCB: failed to match a default boot option
与修补程序相同OCB: OcScanForBootEntries failure - Not Found
,OpenCore
无法使用当前的 ScanPolicy
找到任何驱动器,设置为0
将会显示所有引导选项
Misc -> Security -> ScanPolicy -> 0
卡在 OCABC: Memory pool allocation failure - Not Found
这是由于错误的BIOS设置或错误的Booter值。确保 config.plist
Booter-> Quirks
是正确的,并验证您的BIOS设置:
- Above4G解码已启用
- CSM已禁用(启用Windows8.1 / 10 WHQL模式可以在某些板上执行相同的操作)
- BIOS是最新的(Z390和HEDT的固件写得不好)
卡在 OCS: No schema for DSDT, KernelAndKextPatch, RtVariable, SMBIOS, SystemParameters...
这是由于将 Clover
配置与 OpenCore
一起使用,或者是由于使用了Mackie的 Clover
和 OpenCore Configurator
之类的配置器。您需要重新开始并进行新的配置,或者弄清楚需要从配置中删除的所有垃圾。这就是为什么我们不支持配置器的原因,它们以这些问题而闻名
卡在 OC: Driver XXX.efi at 0 cannot be found
确认你的 EFI/OC/Drivers
与你的 config.plist
UEFI -> Drivers
是匹配的
请注意,这些条目区分大小写。
卡在 Buffer Too Small
- 在BIOS中启用Above4GDecoding
卡在 Plist only kext has CFBundleExecutable key
丢失或者 Executable path
执行路径不正确
收到 “Failed to parse real field of type 1”
- 将一个值设置为
real
不应设置的值,通常是XcodeHaltLevel
意外转换的:
HaltLevel
全选代码
复制
2147483648
全选代码
复制
要修复, 将 real
和 integer
交换下:
HaltLevel
全选代码
复制
2147483648
全选代码
复制
在OpenCore上选择macOS分区后卡住
- CFG锁未关闭(仅适用于Intel用户),有几种解决方案:
- 修补MSR E2(推荐的解决方案)
- Enable
AppleXcpmCfgLock
和AppleCpuPmCfgLock
,PKG_CST_CNFIG_CONTROL
分别在XNU和AppleIntelCPUPowerManagement
中禁用。不建议使用长期解决方案,因为这可能会导致不稳定。
- AMD内核补丁不起作用(仅AMD用户):
- 过期或丢失的内核补丁
- 不兼容的键盘驱动程序:
- 禁用
PollAppleHotKeys
并启用KeySupport
,然后从您的config.plist
UEFI -> drivers
中删除OpenUsbKbDxe[13] - 如果上述方法不起作用,请反向操作:disable
KeySupport
,然后将OpenUsbKbDxe[14]添加到您的config.plist
UEFI -> drivers
中
无法在选择器中选择任何内容
- 不兼容的键盘驱动程序:
- 禁用
PollAppleHotKeys
并启用KeySupport
,然后从您的config.plist
UEFI -> drivers
中删除OpenUsbKbDxe[15] - 如果上述方法不起作用,请反向操作:disable
KeySupport
,然后将OpenUsbKbDxe[16]添加到您的您的config.plist
UEFI -> drivers
中
卡在 This version of Mac OS X is not supported: Reason Mac...
当 SMBIOS
是一个不被当时 MacOS
所支持,确保值在设定发生这个错误PlatformInfo->Generic
与Automatic
启用。提示支持的SMBIOS:
- iMac13,x+
- iMacPro1,1
- MacPro6,1+
- MacBook8,1+
- MacBookAir5,x+
- MacBookPro9,x+
Couldn't allocate runtime area
errors
参阅 Fixing KASLR slide values
没有添加SSDT
因此,对于OpenCore,在ACPI文件周围添加了一些额外的安全检查,尤其是表长度标头必须等于文件大小。实际上,这是编译文件时iASL的错误。如何找到它的示例:
* Original Table Header:
* Signature "SSDT"
* Length 0x0000015D (349)
* Revision 0x02
* Checksum 0xCF
* OEM ID "ACDT"
* OEM Table ID "SsdtEC"
* OEM Revision 0x00001000 (4096)
* Compiler ID "INTL"
* Compiler Version 0x20190509 (538510601)
全选代码
复制
该Length
和checksum
值是我们所关注的,所以如果我们的SSDT其实就是那么347个字节,我们要改变Length
对0x0000015B (347)
(该015B
是HEX)
真正解决这个问题最好的办法就是抓住的IASL或Acidanthera的副本新副本MaciASL和改造的SSDT
引导OpenCore重新引导至BIOS
- EFI文件夹结构不正确,请确保所有OC文件都位于ESP(EFI系统分区)上的EFI文件夹中
Directory Structure from OpenCore’s DOC
OCABC: 不兼容的OpenRuntime r4,要求r10
已过时的 OpenRuntime.efi
,请确保 BOOTx64.efi
,OpenCore.efi
和OpenRuntime
都来自完全相同的构建。任何不匹配的内容都会中断启动
- 注意:
FwRuntimeServices
已在0.5.7及更高版本中重命名为OpenRuntime。
OpenCore一般故障排除之macOS引导及安装错误
- 卡在 `RTC…`, `PCI ConfigurationBegins`, `Previous Shutdown…`, `HPET`, `HID: Legacy…`[1]
- “Waiting for Root Device” 或禁止签名错误[2]
- 俄语的macOS安装程序[3]
- macOS安装程序已损坏[4]
- 卡在或靠近 `IOConsoleUsers: gIOScreenLock…`[5]
- 笔记本电脑上的加密屏幕[6]
- `IOConsoleUsers: gIOScreenLock…` on Navi 之后出现黑屏[7]
- 300系列INTEL主板停滞不前 `apfs_module_start…`[8]
- 内核崩溃 `Cannot perform kext summary`[9]
- 内核崩溃 `AppleIntelMCEReporter`[10]
- 内核崩溃 `AppleIntelCPUPowerManagement`[11]
- [30秒后冻结在macOS安装程序中[12]
- 15h/16h CPU 出现“数据和隐私”画面后重启[13]
- 键盘有效,但触控板不起作用[14]
- 睡眠在AMD上崩溃[15]
- 内核崩溃在 `Invalid frame pointer`[16]
- `kextd stall[0]: AppleACPICPU`[17]
- MediaKit报告空间不足[18]
卡在 RTC...
, PCI Configuration Begins
, Previous Shutdown...
, HPET
, HID: Legacy...
好吧,这个一般领域是首先安装和配置许多PCI设备的地方,也是大多数引导问题都会发生的地方。其他名称包括:
apfs_module_start...
,Waiting for Root device
,Waiting on...IOResources...
,previous shutdown cause...
检查的主要地方:
- 缺少EC补丁:
- 请勿在笔记本电脑上使用SSDT-EC
- 对于台式机,请确保在
EFI/OC/ACPI
和ACPI -> Add
中都具有SSDT -> Add
,再次检查是否已启用。 - 如果您没有,请在这里获取: Getting started with ACPI[19]
- 笔记本电脑用户将需要重命名其主要EC:Getting started with ACPI[20]
- IRQ冲突:
- 在较旧的笔记本电脑和预制笔记本电脑上最常见,运行
SSDTTime
的FixHPET
选项,然后将生成的SSDT-HPET.aml
和ACPI补丁添加到您的配置中(如果没有ACPI补丁,SSDT将无法工作)
- PCI分配问题:
- AMD CPU注意:引导args中没有同时启用Above4G设置和npci,它们将发生冲突。此规则不适用于X99
- 更新您的BIOS,确保它是最新的。大多数OEM在旧版固件(尤其是AMD)上的PCI分配都非常差
- 确保在BIOS中启用了Above4G,如果没有可用的选项,则添加
npci=0x2000
全选代码
复制
到引导参数(boot args)里。
- 其他重要的BIOS设置:禁用CSM,启用Windows 8.1 / 10 UEFI模式
- NVRAM失败:
- 300系列INTEL主板:请参见 Getting started with ACPI[21] 并制作
SSDT-PMC.aml
- HEDT: 有关如何停止NVRAM写入的信息,请参见 Emulating NVRAM[22] ,请注意,对于安装,您不需要运行脚本。只需设置
config.plist
- 常见问题HEDT和300系列主板,您有两条路要走:
- 缺少RTC:
- 常见于300系列和X299 / Cascade Lake-X刷新主板上,这是由于默认情况下禁用RTC时钟引起的。有关创建
SSDT-AWAC.aml
的信息,请参阅 Getting started with ACPI[23] - HP的一些
酒后无良
的固件编写者还禁用了HP 250 G6上的RTC,而没有实际重新启用它的方法,对于使用此类硬件的用户,您需要为macOS创建一个伪造的RTC时钟才能使用:
禁用RTC无法启用的示例如下(请注意,没有值可以像那样重新启用它STAS
):
“Waiting for Root Device” 等等根设备或禁止签名错误
通常被视为USB错误,有几种解决方法:
- 如果达到15端口限制,可以暂时解决此问题,
XhciPortLimit
但长期使用,我们建议您制作USBmap[24]. CorpNewt也为此提供了一个指南:USBmap 指南[25] - 另一个问题可能是某些固件无法将USB所有权传递给macOS,要解决此问题,我们可以在您的
config.plist
中启用UEFI -> Quriks -> ReleaseUsbOwnership
- 在BIOS中启用XHCI切换也可以解决此问题
- 对于15h和16h AMD CPU,您可能需要添加以下内容:
- XLNCUSBFix.kext[26]
- 如果XLNCUSBFix仍然不起作用,请尝试以下操作:
- AMD StopSign-fixv5[27]
另一个可能的问题是DSDT中缺少USB端口,macOS无法很好地找到硬件,并且需要为许多事情明确定义的东西。这意味着,如果未定义USB端口,macOS将无法找到它。要解决此问题,我们使用USBInjectAll[28]来修复引导,请注意,这**仅适用于Intel USB芯片组,**并且仅应在Broadwell和较旧的系统上才需要(某些较新的AsRock板也需要它)
对于DSDT中缺少端口的AMD用户,您将不得不尝试系统中的所有端口并祈祷,通常3.1 AsMedia端口可以正常工作。
俄语的macOS安装程序
默认示例配置使用俄语,因为他们几乎统治了Hackintosh世界,请于config.plist
中的 prev-lang:kbd
检查它的值NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82
。设置656e2d55533a30
为 American: en-US:0,可以在AppleKeyboardLayouts.txt中[29]找到完整列表
您可能还需要在启动选择器中重置NVRAM
还是没用?好时间来了。我们将强制删除该确切属性,然后让OpenCore重建它:
NVRAM -> Block -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> Item 0
然后将其设置为类型 String
和值 prev-lang:kbd
macOS安装程序已损坏
如果您在2019年10月之前下载了macOS,则可能具有过期的macOS安装程序证书,有两种方法可以解决此问题:
- 下载macOS的最新副本
- 将终端中的日期更改为证书有效的日期
对于上方:
- 接入所有网络设备的连接(以太网,接入Wifi)
- 在设置为2019年9月1日的恢复终端中:
date 0901000019
全选代码
复制
最后一招:
BIOS
中修正系统时间,误差不要多于5秒,应该能解决该提示信息【黑果小兵亲测有效
】
卡在或靠近 IOConsoleUsers: gIOScreenLock...
/gIOLockState (3...
- 在正确初始化GPU之前,请验证以下内容:
-igfxmlr
引导参数。这也可能表现为“除以零”错误。- GPU支持UEFI(GTX 7XX / 2013 +)
- BIOS中的CSM已关闭
- 强制PCIe 3.0链接速度
- 如果运行iGPU,请仔细检查
ig-platform-id
和device-id
是否有效。 - 尝试各种WhatGreenGreen修复[30]
笔记本电脑的屏幕混乱或者花屏
在UEFI设置中启用CSM。这可能显示为“引导旧版ROM”或其他旧版设置。
IOConsoleUsers: gIOScreenLock...
Navi之后出现黑屏
- 添加
agdpmod=pikera
到启动参数 - 在不同的显示输出之间切换
- 尝试使用SMBIOS:
MacPro7,1
或者在引导参数中添加agdpmod=ignore
300系列英特尔停滞不前 apfs_module_start...
通常是由于系统运行AWAC时钟,请参见 ACPI入门[31] 部分
内核崩溃 Cannot perform kext summary
通常表现为 prelinked kernel 周围出现的问题,其实是 macOS 无法正常识别我们注入的驱动造成的。请确保你的驱动均已用正确的顺序注入(先主体再插件,Lilu 永远位于第一位)且有执行文件的驱动的执行文件正常存在,空壳驱动里不存在多余的可执行文件。
内核崩溃 AppleIntelMCEReporter
使用macOS Catalina时,双插槽支持被打破了,有关AMD固件的一个有趣的事实,某些主板实际会报告多个插槽CPU。要解决此问题,替换AppleMCEReporterDisabler[32]添加到 EFI/OC/Kexts
和 config.plist
Kernel -> Add
内核崩溃 AppleIntelCPUPowerManagement
这很可能是由于 NullCPUPowerManagement
的错误或完全丢失,AMD OSX的Vanilla Guide上托管的一个已损坏。大喊大叫Shannee来修复它。要解决此问题,请从中删除 NullCPUPowerManagement
Kernel -> Add
,EFI/OC/Kexts
然后添加DummyPowerManagement
在Kernel -> Quirks
30秒后冻结在macOS安装程序中
这很可能是由于 NullCPUPowerManagement
的错误或完全丢失,AMD OSX的Vanilla Guide上托管的一个已损坏。大喊大叫Shannee来修复它。要解决此问题,请从中删除 NullCPUPowerManagement
Kernel -> Add
,EFI/OC/Kexts
然后添加DummyPowerManagement
在Kernel -> Quirks
“数据和专有”屏幕后15h / 16h CPU重新启动
按照预先更新2之后的指示进行操作:修复出现`数据和隐私`后重启[33]
登录前立即冻结macOS
这是固定TSC的常见示例,对于大多数系统,添加VoodooTSCSync[34]
对于Skylake-X,包括华硕和EVGA内部的许多固件都不会写入所有内核。因此,我们需要在冷启动时重置TSC,并使用TSCAdjustReset[35]重启。编译版本可以在这里找到:TSCAdjustReset.kext[36]。请注意,您必须打开kext(finder中的显示包内容
Contents -> Info.plist
),然后将Info.plist
-> 更改为IOKitPersonalities -> IOPropertyMatch -> IOCPUNumber
您从其开始的CPU线程数0
(i9 7980xe 18核将是35
因为它共有36个线程)
键盘有效,但触控板不起作用
确保 config.plist
中的 VoodooPS2
和 VoodooI2C
扩展名之前列出了 VoodooInput
。
VoodooI2C故障排除
检查kexts加载的顺序-使它们与“ 收集文件”[37]下显示的内容匹配:
- 任意顺序的
VoodooGPIO
,VoodooInput
和VoodooI2CServices
(位于VoodooI2C.kext /Contents/Plugins
) VoodooI2C
- 卫星/插件Kext
确保在 EFI/OC/ACPI
以及 config.plist
中的 ACPI -> Add
中添加了 SSDT-GPIO.aml
。如果仍然有问题,请参考《ACPI GPIO入门》页面[38]。
内核恐慌 Invalid frame pointer
这是由于Booter -> Quirks
中设置的一些问题,需要检查的主要内容:
DevirtualiseMmio
全选代码
复制
- 仍需要某些MMIO空间才能正常运行,因此您需要在Booter-> MmioWhitelist中排除这些区域,或者完全代替此怪癖
SetupVirtualMap
全选代码
复制
- 需要校正虚拟内存地址的固件所必需,这通常在笔记本电脑和技嘉系统上找到
- 请注意,Icelake的内存保护突破了这个怪癖,因此请避免使用它
RebuildAppleMemoryMap
全选代码
复制
- 确保内存映射与macOS兼容,某些OEM(例如Lenovo)不喜欢此怪癖,请扩大它
kextd stall[0]: AppleACPICPU
这是由于造成SMC仿真器或损坏的仿真器引起的,请确保以下事项:
Lilu
和VirtualSMC
都在EFI/OC/kexts
和config.plist
中Lilu
在kext
列表中的VirtualSMC
之前- 最后的方法是尝试
FakeSMC
,不要同时启用VirtualSMC
和FakeSMC
MediaKit报告空间不足
此错误是由于EFI太小造成的,默认情况下,Windows将创建100MB的EFI,而macOS则期望为200MB。要解决这个问题,您有2种方法可以解决:
- 将驱动器的EFI扩展到200MB(有关详细信息,请参见Google)
- 格式化整个驱动器而不是仅格式化分区
- 默认
- 显示所有设备(
Cmd + 2
)
|
- 请注意,每种情况下“磁盘工具”仅显示分区,请按
Cmd/Win + 2
显示所有设备(或者您可以按查看
按钮)
macOS安装后
- iMessage 和 Siri 损坏[1]
- 没有板载音频[2]
- BIOS重设或重启/关机后发送到安全模式?[3]
- AMD X570显卡macOS GPU加速[4]
- DRM 损坏[5]
- [ MacPro7,1上的”内存模块配置错误”](/troubleshooting/troubleshooting.md#memory-modules-misconfigured-on-macpro71 ” MacPro7,1上的”内存模块配置错误””)
- 应用程序在AMD上崩溃[6]
iMessage和Siri损坏
- En0设备未设置为
Built-in
,有几种修复方法:
- 使用gfxutil[7]查找网卡的PCI路径(即
ethernet
,GBE1,)。然后通过config.plist
中的DeviceProperties
,应用built-in
值为01
和类型为Data
。如果您在使用gfxutil时遇到问题,Hackintool[8]还可以获取PciRoot路径。推荐方法 - NullEthernet.kext[9] + SSDT-RMNE.aml[10]。仅在第一个解决方案不起作用时推荐
如果这些修复程序不起作用,请参见“ 修复iServices”页面[11]以获取更深入的指导。
没有板载音频
请参见使用AppleALC恢复音频[12]部分
BIOS重设或重启/关机后发送到安全模式
AppleRTC的问题,很简单的解决方法:
config.plist
Kernel -> Quirks -> DisableRtcChecksum -> true
注意:如果仍然有问题,则需要使用RTCMemoryFixup[13]并排除范围。见此处获得更多信息[14]
以下引导参数(boot args)应该可以处理99%的情况(将其与 RTCMemoryFixup
对):
rtcfx_exclude=00-FF
全选代码
复制
如果可行,请缓慢收缩排除区域,直到发现macOS变得混乱
AMD X570显卡macOS GPU加速
验证以下内容:
- GPU支持UEFI(GTX 7XX / 2013 +)
- BIOS中的CSM已关闭
- 强制PCIe 3.0链接速度
DRM损坏
请参见修复DRM[15]页面
MacPro7,1上的“内存模块配置错误”
将MacProMemoryNotificationDisabler kext[16]添加到 EFI/OC/Kexts
和 Kernel -> Add
。请注意,此kext有一个奇怪的怪癖,它需要 WhateverGreen.kext
才能正常运行。
应用在AMD上崩溃
轻松修复,购买英特尔
因此,对于AMD,每当Apple调用CPU特定功能时,该应用程序将无法运行或完全崩溃。以下是一些应用程序及其修补程序
:
Adobe
产品并不总是有效
- 可以在这里找到一些修复程序:Adobe修复程序[17]
- 请注意,这些修复只是禁用功能,并不是真正的修复
- 在
AppleHV
框架之外运行的虚拟机将无法运行(即:“Parallels15,
VMware`)
VirtualBox
可以正常工作,因为它不使用AppleHV
VMware
10及更高版本也可以正常工作- 已知
Parallels
13.1.0和更早版本也可以工作
Docker
坏了
Docker
工具箱是唯一基于VirtualBox
的解决方案,此版本不提供许多功能
Xcode Apple Watch
模拟器在Catalina
中损坏
- 更换为
Mojave
IDA Pro
无法安装
- 安装程序中有英特尔特定的检查,应用程序本身可能很好
- 15 / 16h CPU网页崩溃
- 按照UPDATE 5之后的指示进行操作:修复网页[18]
睡眠在AMD上崩溃
这在使用芯片组的USB控制器的AMD上很常见,特别是针对Ryzen系列和更高版本的USB控制器。告诉您是否遇到此问题的主要方法是在睡眠或醒来后检查日志:
- 在终端:
log show --last 1d | grep "Wake reason"
验证一下
应导致如下所示:
Sleep transition timed out after 180 seconds while calling power state change callbacks. Suspected bundle: com.apple.iokit.IOUSBHostFamily.
全选代码
复制
您可以通过 IOReg
再次检查哪个控制器是 XHC0
,并检查供应商ID(AMD芯片组为1022)。
解决此睡眠问题的方法是:
- 避免芯片组一起使用USB(最好将
_STA = 0x0
设置为使用SSDT完全禁用控制器) - 将USBX电源属性校正为控制器期望的值
其它问题
- 不能运行 `acpidump.efi`[19]
- 修复 SSDTTime: `Could not locate or download iasl!`[20]
- 修复 Python: `Python is not installed or not found on PATH`[21]
- Windows启动盘看不到 APFS 驱动器[22]
- OpenCore 的分辨率不正确[23]
- 无温度/风扇传感器输出[24]
- 在选择器中找不到 Windows/BootCamp 驱动器[25]
- [“您无法将启动磁盘更改为所选磁盘” error](/troubleshooting/troubleshooting.md#you-cant-change-the-startup-disk-to-the-selected-disk-error ““您无法将启动磁盘更改为所选磁盘” error”)
- Booting Windows results in BlueScreen or Linux crashes[26]
- Booting Windows error: `OCB: StartImage failed – Already started`[27]
- iASL warning, # unresolved[28]
- No Volume/Brightness control on external monitors[29]
不能运行 acpidump.efi
调用 OpenCore shell:
shell> fs0: // 替换为适当的驱动器
fs0:> dir // 验证这是正确的包括 EFI 的目录
Directory of fs0:
01/01/01 3:30p EFI
fs0:> cd EFIOCTools // 注意反斜杠
fs0:EFIOCTools> acpidump.efi -b -n DSDT -z // DUMP DSDT
全选代码
复制
修复SSDTTime:Could not locate or download iasl!
这通常是由于 Python
版本过旧造成的,请尝试更新 Python
或将 iasl
添加到 SSDTTime
的 scripts
文件夹中:
- iasl macOS版本[30]
- iasl Windows版本[31]
- iasl Linux版本[32]
修复Python: Python is not installed or not found on PATH
简单修复,下载并安装最新版本的 python
:
- macOS link[33]
- Windows link[34]
- Linux link[35]
确保 Add Python to PATH
Windows启动盘看不到APFS驱动器
- 过时的BootCamp驱动程序(brigadier通常附带Ver 6.0,macOS中的BootCamp Utility提供了诸如Ver 6.1之类的较新版本)。CorpNewt’s brigadier还解决了这些问题:CorpNewt’s brigadier[36]
OpenCore的分辨率不正确
- 按照 Fixing Resolution and Verbose[37] 为正确的设置,同时设置
UIScale
为02
将打开HiDPI
- 用户还注意到设置
ConsoleMode
为Max有时会失败,将其保留为空可能有所帮助
无温度/风扇传感器输出
所以几件事:
iStat Menus
尚不支持MacPro7,1
VirtualSMC
捆绑的传感器不支持AMD
对于 iStat Menus
,您必须等待更新。对于AMD用户,您可以使用以下任一方法:
- SMCAMDProcessor[38]
- 仍处于早期测试阶段,但已经完成了出色的工作,请注意,它主要在Ryzen上进行了测试
- FakeSMC3_with_plugins[39]
带 FakeSMC
的AMD的注意事项:
- FileVault支持需要
FakeSMC
进行更多工作 - 确保不存在其他SMC扩展,特别是VirtualSMC[40]的扩展
在选择器中找不到Windows / BootCamp驱动器
因此,对于OpenCore,我们必须注意,不支持旧版Windows安装,仅支持UEFI。现在,大多数安装都是基于UEFI的,但是BootCamp Assistant进行的安装是基于旧版的,因此您必须找到其他安装方法(Google是您的朋友)。这也意味着MasterBootRecord / Hybrid分区也已损坏,因此您需要使用 DiskUtility
格式化要安装的驱动器。有关最佳做法,请参见《Multiboot指南》[41]。
现在进入故障排除:
- 确保
Misc -> Security -> ScanPolicy
设置0
为显示所有驱动器 - 启用
Misc -> Boot -> Hideself
当Windows启动加载程序所在的同一驱动器上启用
“您无法将启动磁盘更改为所选磁盘”错误
这通常是由Windows驱动器的不规则分区设置引起的,特别是EFI不是第一个分区。要解决此问题,我们需要启用以下功能:
PlatformInfo -> Generic -> AdviseWindows -> True
引导Windows导致BlueScreen或Linux崩溃
这是由于对齐问题所致,请确保SyncRuntimePermissions
在支持MAT的固件上启用了该功能。检查您的日志是否固件支持内存属性表(通常在2018年固件及更高版本上可见)
Windows常见错误代码:
0xc000000d
启动Windows错误:OCB: StartImage failed - Already started
这是由于OpenCore在尝试引导Windows时无所适从,并意外地认为它正在引导OpenCore。可以通过将Windows移至其自己的驱动器或在BlessOverride下添加自定义驱动器路径来避免这种情况。有关更多详细信息,请参见Configuration.pdf[42]。
iASL警告,#未解决
如果您尝试反编译DSDT并收到类似于以下的错误:
iASL Warning: There were 19 external control methods found during disassembly, but only 0 were resolved (19 unresolved)
全选代码
复制
当一个ACPI表需要其余的用于正确引用时,就会发生这种情况,它不接受DSDT的创建,因为我们仅将其用于创建选定的几个SSDT。对于那些担心的人,可以运行以下命令:
iasl * [在这里插入所有的 ACPI 文件]
全选代码
复制
外部显示器上没有音量/亮度控制
奇怪的是,macOS已锁定了数字音频的控制权。为了带回一些功能,应用程序MonitorControl[43]在改善macOS的支持方面做了出色的工作