OpenCore一般故障排除

  • 支持的版本: 0.5.8

本部分适用于无法引导OpenCoremacOS 或 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 补丁,而不是 CloverClover 中的 MatchOS在 OpenCore 具有MinKernelMaxkernel时使用Maxkernel

  • IgnoreInvalidFlexRatio缺少,这对于Broadwell和更老的人是必需的。不适用于AMD和Skylake或更高版本

  • AppleXcpmExtraMsrs可能需要,这通常是指macOS本身不支持的奔腾,HEDT和其他奇怪的系统。不要在AMD上使用

  • SetupVirtualMap 可能取决于固件需要,通常应避免这种奇怪现象,但是大多数技嘉用户和较旧的硬件(Broadwell和更早版本)将需要这种奇怪现象来引导。

  • RebuildAppleMemoryMap 可能不喜欢您的固件,因此不建议禁用此功能,但某些笔记本电脑和某些台式机可能需要禁用此功能

另一个可能的问题是,某些用户会忘记或无法禁用BIOS中的CFG-Lock(特别是与用于电源管理的锁定0xE2 MSR位有关,显然更安全地关闭CFG-Lock)。**请注意,这仅适用于Intel用户,不适用于AMD。**发生这种情况时,有几个可能的解决方法:

  • 修正CFG Lock

  • Enable AppleXcpmCfgLockAppleCpuPmCfgLockPKG_CST_CNFIG_CONTROL分别在XNU和AppleIntelCPUPowerManagement中禁用。不建议使用长期解决方案,因为这可能会导致不稳定。

卡在 [EB|#LOG:EXITBS:START]

实际上这是完全相同的错误,EndRandomSeed因此所有相同的修复都适用(10.15.4及更高版本更改了那些好奇的调试协议):

  • ProvideConsoleGop可能会丢失,因为这是过渡到下一个屏幕所必需的,它最初是AptioMemoryFix的一部分,但由于此问题现在已在OpenCore中。可以在UEFI->输出下找到

  • 缺少内核补丁(仅适用于AMD CPU,请确保它们是OpenCore补丁,而不是Clover。Clover MatchOS在OpenCore具有MinKerneland时使用Maxkernel

  • IgnoreInvalidFlexRatio缺少,这对于Broadwell和更老的人是必需的。不适用于AMD和Skylake或更高版本

  • AppleXcpmExtraMsrs可能需要,这通常是指macOS本身不支持的奔腾,HEDT和其他奇怪的系统。不要在AMD上使用

  • SetupVirtualMap 可能取决于固件需要,通常应避免这种奇怪现象,但是大多数技嘉用户和较旧的硬件(Broadwell和更早版本)将需要这种奇怪现象来引导。

  • RebuildAppleMemoryMap 可能不喜欢您的固件,因此不建议禁用此功能,但某些笔记本电脑和某些台式机可能需要禁用此功能

另一个可能的问题是,某些用户会忘记或无法禁用BIOS中的CFG-Lock(特别是与用于电源管理的锁定0xE2 MSR位有关,显然更安全地关闭CFG-Lock)。**请注意,这仅适用于Intel用户,不适用于AMD。**发生这种情况时,有几个可能的解决方法:

  • 修正CFG Lock

  • Enable AppleXcpmCfgLockAppleCpuPmCfgLockPKG_CST_CNFIG_CONTROL分别在XNU和AppleIntelCPUPowerManagement中禁用。不建议使用长期解决方案,因为这可能会导致不稳定。

看不到macOS分区

要检查的主要内容:

  • ScanPolicy 设置为 0 将显示所有驱动器

  • 具有正确的固件驱动程序,例如HfsPlus (注意ApfsDriverLoader不应在0.5.8中使用)

  • 在 config.plist UEFI-> Quirks中将UnblockFsConnect设置为True。某些HP系统需要

  • 设置

    UEFI -> APFS
    

    全选代码

    复制

    为查看基于APFS的驱动器:

    • EnableJumpstartyes

    • HideVerboseyes

    • MinDate-1

    • MinVersion-1

选择器选择后黑屏

这是由于缺少 ConsoleGOP,请在您的配置下启用它:

  • UEFI -> Output -> ProvideConsoleGop

如果这没有帮助,试试换用Debug的OpenCore.efi,并将BOOTx64.efi复制到你的EFI中替换。这将显示有关您的Hackintosh实际卡住位置的更多信息。

卡在 OC: OcAppleGenericInput... - Success

这实际上不是错误,相反,OpenCore 不会向您显示所有调试信息。这是在内核加载之前/之时,因此我们需要检查以下内容:

  • 英特尔:

    • CFG锁在BIOS中禁用 AppleCpuPmCfgLockAppleCpuPmCfgLock在内核中启用- > quirk

  • AMD:

    • Ryzen/Threadripper(17h)

    • Bulldozer/Jaguar(15h/16h)

    • 确认您已向配置中添加了正确的内核补丁(请记住,使用OpenCore补丁MinKernelMaxKernel而 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 FoundOpenCore 无法使用当前的 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不应设置的值,通常是Xcode HaltLevel意外转换的:

    HaltLevel
    

    全选代码

    复制

    2147483648
    

    全选代码

    复制

    要修复, 将 real 和 integer 交换下:

    HaltLevel
    

    全选代码

    复制

    2147483648
    

    全选代码

    复制

在OpenCore上选择macOS分区后卡住

  • CFG锁未关闭(仅适用于Intel用户),有几种解决方案:

    • 修补MSR E2(推荐的解决方案)

    • Enable AppleXcpmCfgLockAppleCpuPmCfgLockPKG_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->GenericAutomatic启用。提示支持的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)

全选代码

复制

Lengthchecksum值是我们所关注的,所以如果我们的SSDT其实就是那么347个字节,我们要改变Length0x0000015B (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.efiOpenCore.efiOpenRuntime来自完全相同的构建。任何不匹配的内容都会中断启动

  • 注意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 BeginsPrevious Shutdown...HPETHID: 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 -> AddEFI/OC/Kexts然后添加DummyPowerManagementKernel -> Quirks

30秒后冻结在macOS安装程序中

这很可能是由于 NullCPUPowerManagement 的错误或完全丢失,AMD OSX的Vanilla Guide上托管的一个已损坏。大喊大叫Shannee来修复它。要解决此问题,请从中删除 NullCPUPowerManagement  Kernel -> AddEFI/OC/Kexts然后添加DummyPowerManagementKernel -> 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]下显示的内容匹配:

  1. 任意顺序的 VoodooGPIOVoodooInput 和 VoodooI2CServices(位于 VoodooI2C.kext /Contents/Plugins

  2. VoodooI2C

  3. 卫星/插件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的支持方面做了出色的工作

黑苹果资源

OpenCore一般故障排除相关推荐

  1. teamviewer设备数量上限_智能控制设备连接故障排除

    智能家居控制设备,物联网,设备连接中配对和不在线常见问题故障排除方法: 手机通过WIFI 是否可以正常上网,如果不能正常上网,先要解决这个问题,很多设备是需要通过互联网才可以正常接入工作的. 手机和智 ...

  2. Linux主辅DNS数据不同步故障排除

         Linux主辅dns数据不同步故障排除 欢迎使用微信关注"云运维联盟"公众号,第一时间了解本博客动态! 在互联网中,我们知道任何一台提供应用服务的主机(例如:HTTP.F ...

  3. 详细故障排除步骤:针对 Azure 中到 Windows VM 的远程桌面连接问题

    本文提供详细的故障排除步骤,用于为基于 Windows 的 Azure 虚拟机诊断和修复复杂的远程桌面错误. Important 若要消除更常见的远程桌面错误,请务必先阅读远程桌面的基本故障排除文章, ...

  4. 网络故障排除连载之一:常用排除方法综述

    一.对网络管理人员的要求 目前互联网络技术.拓扑和应用的复杂性决定了网络管理人员必须: 1.确保网络稳定运行: 2.掌握故障排除方法: 3.熟悉各种协议可能故障点,迅速定位排除故障. 对协议要求有精深 ...

  5. 基于路由器网络诊断步骤和故障排除技巧

    网络诊断是管好.用好网络,使网络发挥最大作用的重要技术工作.本文简述分层诊断技术,结合讨论路由器各种接口的诊断,综述互联网络连通性故障的排除. 网络故障诊断概述 网络故障诊断,从故障现象出发,以网络诊 ...

  6. linux5启动过程及故障排除

    启动过程及故障排除 1加电-----cmos---(post上电自检程序------mbr引导----grub菜单 开机自检>MBR引导>GRUB菜单>加载内核>运行init进 ...

  7. 启动过程以及故障排除

    启动过程: -->开机自检(BIOS) -->MBR引导 -->GRUB菜单 [ 5秒内选择启动的操作系统,否则会超时而自动选择操作系统  参考配置文件 /etc/grub.conf ...

  8. SQL Server故障排除圣经

    微软SQL Server内部技术资料大曝光 来自SQL Server开发小组和支持部门的梦之队打造 SQL Server故障排除圣经 "本书的内容是其他任何博客.网站和图书都没有的.系统出问 ...

  9. 6421B Lab3 DNS的配置与故障排除

    共1个实验 实验L3A:DNS的配置与故障排除 共有3个练习: 练习1:设计一个DNS架构. 练习2:部署与配置DNS. 练习3:DNS的故障排除. 练习1:设计一个DNS架构 场景:contoso公 ...

最新文章

  1. ​redis实现消息队列
  2. 小余学调度:调度禁忌操作讲解(持续更新中ing)
  3. 树莓派 RespberryPi:通过命令行关机 / 重启
  4. AES在线加密解密-附AES128,192,256,CBC,CFB,ECB,OFB,PCBC各种加密
  5. 洛谷P2822组合数问题
  6. ssis mysql to server_SSIS:将表从MySQL复制到SQL Server 2008
  7. 【AI视野·今日Robot 机器人论文速览 第十期】Fri, 18 Jun 2021
  8. 《JavaScript面向对象精要》——第1章 原始类型和引用类型 1.1 什么是类型
  9. enum 有什么好处_高新技术企业认定四个核心评分标准是什么?软著能加分吗?...
  10. php金币格式转换,php 资金格式转换函数_PHP教程
  11. 通过jQuery获取Select选中的值或文本
  12. 软件测试 白盒测试是否为闰年,对【判断闰年】函数的白盒测试
  13. mac使用Java命令运行Java程序
  14. 设计模式:(生成器模式)
  15. 2023年安徽大学科学技术哲学考研上岸前辈备考经验指导
  16. 微信小程序radio 标签 使用
  17. chrome 谷歌idm视频下载插件
  18. 高德地图开放平台概览
  19. [POI2005]Sza-Template
  20. python按字典顺序输出单词频率_用python编写一段程序,输入若干单词,按照单词长短进行排序,并统计所有单词中每个字母(a-z)出现的次数...

热门文章

  1. Python可视化之Matplotlib绘制高级图形对数图、频谱图、矢量场流线图、互关图
  2. 自然语言处理之中文分词(基于Python)
  3. 使用Python将sin(x)和cos(x)画在同一个图例里
  4. 易语言toJava 集合类
  5. 用 python 做一个动态可视化交互大屏
  6. emwin入门第二课 界面之间的切换
  7. Windows junction
  8. FineUI秘密花园(七) — 上传控件
  9. 圣斗士星矢服务器维护时间,9月3日服务器维护更新公告
  10. 关于Redis的数据清理