一步一步从零迁移到OpenCore

2020-07-21 / 3.42w / 教程 / 39.64k / 114分钟

概述

本文以 OpenCore 0.5.9 版本,使用 UEFI 启动为例演示。OpenCore 0.6.0 正式版在选项上几乎没有变化,依旧可以参考本文。

目前黑苹果安装主要通过使用 EFI 引导程序(Bootloader)的方法,现在较为流行的有 Clover 和 OpenCore。Clover 从变色龙时代进化而来,背负了很多沉重的历史包袱,为兼容性做出了各种妥协。OpenCore 在设计之初理念就较为先进,并且丢掉了不少 Clover 的历史包袱,轻装前行。理论上 OpenCore 可以正确引导所有基于 UEFI 技术的现代操作系统,也就是常见的 Windows、Linux、macOS 都是能被支持的,但目前 OpenCore 应用最多的就是黑苹果的安装使用。

OpenCore 的优势:

  • 由 acidanthera 团队主导开发的黑苹果驱动已经全面转向 OpenCore,例如声卡 AppleALC、显卡 WhateverGreen、核心扩展 Lilu 等等,均不再测试 Clover 的兼容性,这些驱动是使用黑苹果必不可少的;
  • 一般来说,OpenCore 系统的启动速度比使用 Clover 的系统快;
  • 支持 UEFI 和传统启动引导模式(Legacy);
  • Mask Patching 意味着 macOS 的更新几乎不会破坏基于 AMD 的黑苹果系统,而 OpenCore 拥有的 AMD OSX Patches 支持 High Sierra,Mojave 和 Catalina 的所有版本。

OpenCore 其它方面的优势这里不再赘述,而从 Clover 迁移到 OpenCore 已经是大势所趋,目前已经有足够多的 OpenCore 教程和资料,黑苹果星球不再重复造轮子,下面的链接都非常有参考价值:

以上链接中,但凡有翻译或表述与官方文档不一样或相抵触的地方,以官方文档为准(也包括本文)。另外,虽然目前 OpenCore 已经变得较为平易近人,但对于没有任何 Clover 使用基础和编程基础的用户来说,仍然具有一定的门槛(例如你可能需要接触并编辑大量 ssdt 文件)。

本文接下来的内容将以简单的方法和步骤介绍从零开始使用 OpenCore 的操作步骤,但是按照说明从 Clover 迁移也是可以的,如果遇到本文没有提到的问题,你需要的答案在上述链接中都能找到,请前往查阅,这里推荐 OpenCore 简体中文参考手册,以及 Dortania 的 OpenCore 安装指南。

 

从零开始

对于从零开始的用户,请先做相应的 BIOS 设置,完成后跳到本文 下载 OpenCore 部分。

 

操作过程

对于从 Clover 迁移的用户来讲,首先你需要有配置完毕并且调试正常,工作正常的 Clover EFI 文件,除了最基本的功能调试外(显卡、网卡、声卡),最重要的是尽量不要有 ACPI 错误。可以通过以下命令查看日志中存在的 ACPI 错误:

log show --last boot | grep -Ei "ACPI"

例如下图中的 ACPI 错误,虽然不是影响系统启动的致命错误,但长期使用可能会对设备硬件造成损害,需要修正。

只有掌握了基础的 SSDT 和 DSDT 知识,才能对 ACPI 错误根源作出正确的判断。遗憾的是 SSDT 和 DSDT 的修改对于普通用户来说具有一定的难度,目前普通用户能用的方法是复制关键词内容到搜索引擎进行检索。

 

下载 OpenCore

演示机型配置如下:

配件品牌型号数量备注
CPU英特尔i9-9900k1
主板华硕ROG Maximus X Hero1Z370
内存美商海盗船复仇者 DDR4 8GB 3000MHz4支持X.M.P
显卡AMDRX 5700XT 50周年纪念版1
硬盘七彩虹SL500 750G1入门级,本次演示对象

建议准备一个 U盘,如果你有一块闲置的具备 GPT 分区的硬盘也可以,本文接下来的操作将以 OpenCore 0.5.9 版本,使用 UEFI 启动为例。

接下来,无论迁移用户还是从零开始的用户,都需要下载 OpenCore 正式发行版本,这里提供官方通道以及本站通道:

下载后解压其中 EFI 文件夹,OpenCore 每次发行版都会提供 Release 和 Debug 版本,推荐在切换的初期使用 Debug 版本,因为可以提供更多的错误信息方便排错。

然后,把压缩包中 Doc 目录下的 Simple.plist 解压,重命名为 config.plist 并放到刚才解压的 /EFI/OC 目录下。

注意:如果你打算使用 2011 年及更早的机型,请使用 SimpleFull.plist。

接下来,挂载你的 EFI 分区,把在使用的 Clover EFI 文件夹拷贝一份到桌面。将 Clover EFI 中的 /Clover/ACPI/Patched/ 下的 ssdt 文件复制到 OpenCore EFI 中的 /OC/ACPI 目录,将 /Clover/kexts/other 中的 kext 文件复制到 /OC/Kexts。

注意,如果你不了解 Clover 的文件结构:Kexts 文件也可能存放于 /Clover/kexts/10.1x 文件夹中,因为 Clover 支持对不同版本的 macOS 加载不同的 kext 文件,另外,Off 文件夹中的 kext 不会被启用,但是一般来说 kext 文件都是放在 Other 文件夹内,所以这点需要根据你自己的情况确定。

如果是新用户,可从 GitHub 下载各个最新的 kext 发行版,或看看黑苹果星球整理的 kext 月度更新包,macOS 需要的基本 kext 文件看这里介绍

接下来,我们把 Clover 使用的 .efi 驱动文件(位于 /EFI/Clover/Drivers/UEFI)复制一份到 /EFI/OC/Drivers:

注意:并不是所有 Clover 使用的 .efi 驱动文件都是 OpenCore 需要的或是兼容的,这部分在 UEFI 相关内容中做解释。对于从零开始的用户来说,请先看看 .efi 文件的基本概念

接下来,我们打开 config.plist 文件进行编辑,可使用 PlistEdit Pro 或者 ProperTree,但笔者习惯使用 Visual Studio Code 编辑 config.plist 文件,下面使用 VSCode 进行演示。

首先删除以下内容(第5-14行):

<key>#WARNING - 1</key>
<string>This is just a sample. Do NOT try loading it.</string>
<key>#WARNING - 2</key>
<string>Ensure you understand EVERY field before booting.</string>
<key>#WARNING - 3</key>
<string>In most cases recommended to use Sample.plist</string>
<key>#WARNING - 4</key>
<string>Use SampleFull.plist for end of life models: 2011 and older.</string>
<key>#WARNING - 5</key>
<string>https://github.com/acidanthera/OpenCorePkg/blob/master/AppleModels/DataBase.md</string>

以上步骤是删除演示样本中的无用数据,如果你不介意使用 OpenCore Configurator,下面的步骤可以在 OpenCore Configurator 中完成。

注意:为什么有“不建议使用 OpenCore Configurator”这个说法?因为 OpenCore 目前处于快速迭代的过程中,每个发行版文件树变化都很多很快,单个版本的 OpenCore Configurator 并不能适配所有 OpenCore 发行的版本,因文件树不同容易造成严重配置错误。图形化配置工具对用户比较友好的,新手非常喜欢用,但由于配置工具造成的错误新手并不能很快找到原由,因此,自行评估取舍。除了配置工具外,可以使用 ProperTree(官方推荐)、PlistEdit Pro,以及代码编辑工具 Visual Studio Code、Sublime Text、Notepad++ 等。

截止2020年7月31日,OpenCore Configurator 版本 2.7.1.0 可以很好的适配 OpenCore 0.5.9 正式版。

 

配置 SSDT 文件

一般来说,配置好的 Clover EFI 文件都具有一些 ssdt 文件,OpenCore 的 ssdt 文件则更多。但注意,OpenCore 的开发团队 acidanthera 决定在 OpenCore 中设置 SMBIOS 机型信息、DSDT 和 SSDT,都将一视同仁地对所有操作系统生效。这样做的目的是让黑苹果更像白苹果,但是会导致在 macOS 上正常可用的 ACPI 表到了 Windows 上出现问题。

修改 ssdt

注意:如果你不打算使用 OpenCore 引导 Windows 或 Linux,则不需要这一步,否则,这一步是必须的;从零开始用户跳到下一步 添加新的 ssdt 部分具体来说,是需要在 ssdt 文件中添加以下判断语句(使用 MaciASL.app 进行编辑):

If (_OSI ("Darwin")) { 
    //判断如果操作系统是macOS,生效此行为
}
或
If (_OSI ("Darwin")) { 
    //判断如果操作系统是macOS,生效此行为
} else { 
    //如果之后没有 Return,则需要 else 这个部分
}

在 Sukka 的文章中列举了很好的例子(注意看有+号的行):

//
// In config ACPI, GPRW to XPRW
// Find:     47505257 02
// Replace:  58505257 02
// 注意,ACPI 里不支持中文字符注释,这里仅做示例,本内容不可直接用于编译
//
DefinitionBlock ("", "SSDT", 2, "OCLT", "GPRW", 0)
{
    External(XPRW, MethodObj) // 对 XPRW 函数的外部引用
    Method (GPRW, 2, NotSerialized)
    {
+        If (_OSI ("Darwin")) // 如果当前的操作系统是 macOS,生效以下行为
+        {
            If ((0x6D == Arg0)) // 如果第一个参数是 0x6D
            {
                Return (Package () // 返回 06D,0x00 函数结束
                {
                    0x6D, 
                    Zero
                })
            }

            If ((0x0D == Arg0)) // 如果第一个参数是 0x0D
            {
                Return (Package () // 返回 0x0D,0x00 函数结束
                {
                    0x0D, 
                    Zero
                })
            }
+        }
        // 否则,直接返回 XPRW 函数。由于这个函数是以 Return 结束,所以 If 后面可以不带 Else。
        // 只有三种情况下会走到这一步:第一个参数不是 0x6D;第一个参数不是 0x0D;当前操作系统不是 macOS
        // XPRW 是 DSDT 中原始的 GPRW 函数重命名而来,实际上是调用了原始 DSDT 中原始的 GPRW 函数
        Return (XPRW (Arg0, Arg1))
    }
}

修改完成后,将 ssdt 文件添加并启用:

 

添加新的 ssdt

根据机型的不同,还需要添加 OpenCore 专用的 SSDT 文件,否则一定会卡在跑码启动阶段。

上述链接中的内容可使用 MaciASL.app 直接编译为 .aml 文件,也可直接下载黑苹果星球整理的文件包:

超级会员免费 永久超级会员免费

已有388人查看

其中需要单独说明的是 SSDTTime,这是针对第三/四/五代酷睿需要的内容。以管理员权限运行 SSDTTime.bat,如下:

选项如下:

  • FixHPET - Patch out IRQ Conflicts
    • 主要 X79 和 X99 主板,以及笔记本用户需要(使用选项 C 忽略有冲突的旧版 IRQ)
  • FakeEC - OS-aware Fake EC
    • 这是 macOS Catalina 用户所需的 SSDT-EC
  • PluginType - Sets plugin-type = 1 on CPU0/PR00
    • 这是 SSDT-PLUG,仅适用于Intel
  • Dump DSDT - Automatically dump the system DSDT
    • 自动从系统中提取 DSDT

我们要做的是选择选项 4。首先提取 DSDT,然后按照你的系统选择合适的选项。最后,把以上你需要的 ssdt 文件放到 /EFI/OC/ACPI 目录,并在 config 文件中启用。

 

添加/删除重命名补丁

接下来,从零开始的新用户需要添加一些 ACPI 重命名补丁;但对于 Clover 迁移用户来讲,大部分情况下则需要减少不必要的重命名补丁,如图:

一般来说,这些补丁都会有注释,根据补丁注释和下面的解释(Credit @Sukka),你可以决定哪些重命名补丁在迁移到 OpenCore 后不再需要:

  • EHC1 to EH01 和 EHC2 to EH02 :六代酷睿(Skylake)及以上的机器已经没有 EHC 控制器了,建议用 OpenCore 官方的 SSDT-EHCx_OFF 关闭 EHC 控制器、并把重命名删除。六代以下机器保留该重命名。
  • SAT0 to SATA 和 SAT1 to SATA :实质上完全没用。
  • HECI to IMEI、HEC1 to IMEI、MEI to IMEI 和 IDER to MEID:WhateverGreen.kext 能够处理这个问题。
  • GFX0 to IGPU、PEG0 to GFX0、PEGP to GFX0 和 SL01 to PEGP:WhateverGreen 能够处理这个问题。除非你没有使用 WhateverGreen,否则没必要保留这些重命名。
  • EC0 to EC、H_EC to EC、ECDV to EC 和 PGEC to EC :虽然 macOS 的 USB 电源管理需要名称为 EC 的控制器,但是你完全可以使用 OC-little 中的「仿冒 EC」补丁。随意重命名 EC 控制器可能会对硬件造成伤害。
    • 注意:打开 MaciASL.app 并搜索 PNP0C09,看到类似下面的代码(Device 名称为 EC),则不需要使用仿冒 EC 补丁
Device (EC)
    {
        Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
        Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
        { 
           ...
  • 如果同时存在以下代码,Device 名称显示为 H_EC,但也不需要使用仿冒 EC 补丁,因为这个 H_EC 并未激活(Method 返回 Zero):
Scope (_SB.PCI0.LPCB)
{
    Device (H_EC)
    {
        Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
        Name (_UID, One)  // _UID: Unique ID
        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            Store (0x03, ^^^GFX0.CLID)
            Return (Zero)
        }
        ...
  • HDAS to HDEF、CAVS to HDEF 和 AZAL to HDEF :AppleALC.kext 能够处理这个问题。除非你在用 VoodooHDA 万能声卡驱动,否则没必要保留这些重命名。
  • STAS to Noop :建议由 OC-little 中的 SSDT-AWAC 相关补丁替代。
  • PXSX to ANS1 和 PXSX to ANS2 :建议用 NVMeFix.kext 修复 NVMe SSD 的电源管理。
  • LPC0 to LPCB :如果你要添加 SMBUS 支持,OC-little 中分别有 SBUS 的 SSDT 注入补丁和 MCHC 设备补丁。
  • PC00 to PCIO、FPU to MATH、TMR to TIMR、GBE1 to ETH0 和 PIC to IPIC :这些重命名实质上也是完全没用的。
  • _OSI to XOSI 和 OSID to XSID :除非你的某些硬件设备只能在 Windows 下工作(比如 I2C 触摸板只能在 Windows 下使用,再比如 ThinkPad 对 FreeBSD 的特殊优化),否则完全没有必要使用 SSDT-XOSI 补丁来伪装操作系统。而且大部分情况下,直接定制 SSDT 也可以解除某些硬件的操作系统限制。
    • 第三代酷睿移动端需要此补丁;
    • 第四代酷睿移动端及更新版本在使用 SSDT-GPIO 的情况下无需此补丁;
  • _DSM to XDSM :首先遍历一下你的 SSDT 补丁中没有依赖 _DSM 的,如果没有,这个重命名也应该删除,因为这个重命名涉及的范围实在太大了、太过于危险。

根据补丁注释,演示机型舍弃了如下的重命名补丁:

  • Rename OSID to XSID
  • Rename _OSI to XOSI
  • Rename GFX0 to IGPU
  • Rename HDAS to HDEF
  • Rename HECI to IMEI
  • Rename SAT0 to SATA

剩下的,添加到这个位置,并启用,见图:

注意:如果你的主板是 Z390,可能还需要添加 Fix RTC _STA bug 这个补丁。可以在这个页面的补丁列表中找到

至此,ACPI 部分完成。

 

阻止加载特定的 ACPI 表

OpenCore Configurator 的操作方法见下图:

注意:OpenCore Configurator 会把 ACPI 表名称的 Data 值转换成实际名称,常用的是以下两个:

  • 53534454 = SSDT
  • 44534454 = DSDT

Ivy Bridge(第三代酷睿)还需要在“删除”(Block)中添加以下补丁:

  • Ivy Bridge(第三代酷睿)
    • Delete CpuPm
      • TableSignature(Data)
        • 53534454
      • OemTableId(Data)
        • 43707550 6d000000
      • Comment(String)
        • Delete CpuPm
      • TableLength(Number)
        • 0
      • All(Boolean)
        • Yes
      • Enabled(Boolean)
        • Yes
    • Delete Cpu0Ist
      • TableSignature(Data)
        • 53534454
      • OemTableId(Data)
        • 43707530 49737400
      • Comment(String)
        • Delete Cpu0Ist
      • TableLength(Number)
        • 0
      • All(Boolean)
        • Yes
      • Enabled(Boolean)
        • Yes

 

Kexts 配置

使用 OpenCore Configurator 添加比较简便,见图:

注意:这里推荐一个常见 kext 文件的加载顺序列表以供参考。

解释一下演示机型使用的驱动:

  • Lilu.kext、VirtualSMC.kext(以及 SMC 开头的)、AppleALC.kext、WhateverGreen.kext 这些就不说了,属于基本必备;
  • HibernationFixup.kext 用于修复一些休眠问题;
  • IntelMausiEthernet.kext 用于板载网卡;
  • NVMeFix.kext 用于调整 NVMe 协议的 SSD 性能(有了这个驱动,PM981 也可以通过恢复版的方式安装 macOS);
  • RTCMemoryFixup.kext 用于修复内存 RTC 问题;
  • XHCI-unsupported.kext 用于支持第三方 USB3.1 总线;
  • SystemProfilerMemoryFixup.kext 用于不可更换内存的 iMac 机型,在“关于本机”处显示内存选项卡(好看而已,没什么实际作用);
  • 全新安装的用户,应该还需要 USBInjectAll.kext,用于支持 USB 端口注入,该驱动不适合长期使用,所以安装 macOS 后应定制 USB 端口
  • 更多 Kext 文件,可参阅下载 黑苹果 Kext 月度更新包

接下来,在 Kernel-内核 → 补丁处,迁移 Clover 使用的补丁:

注:USB Ports Limit Patch 在 OpenCore 已不再需要,只需打开 XhciPortLimit 这个 Quirk。

AMD 平台使用以下机型 ID 时,macOS 自带的 AppleIntelMCEReporter.kext 会导致 Kernel Panic:MacPro6,1、MacPro7,1、iMacPro1,1。要解决这个问题,有三种办法:

  • 下载使用 AppleMCEReporterDisabler.kext,黑苹果星球已准备好放在文件包内;
超级会员免费 永久超级会员免费

已有388人查看

  • 在 config.plist 中 Kernel → Block → 添加 Identifier → com.apple.driver.AppleTyMCEDriver 并启用;
  • 更换机型 ID。

至此,Kext 部分完成。

 

NVRAM 相关

因为我们使用了示例的配置文件,所以 NVRAM 基本项目已经添加好了,接着在以下路径添加启动参数:

NVRAM → 7C436110-AB2A-4BBB-A880-FE41995C9F82 → boot-args
#添加
-v
debug=0x100
keepsyms=1
agdpmod=pikera

参数解释:

  • -v 用于打开跑码模式,方便排错
  • debug=0x100 用于发生严重错误(Kernel Panic)后的自动重启,将停留在出错位置,方便排错
  • keepsyms=1 用于辅助上一个启动参数,可以对错误原因提供更多有用的信息
  • agdpmod=pikera 用于解决 Navi 核心的显卡启动黑屏问题,如果你是 Polaris(RX400/RX500) 或 Vega(56/64) 显卡则无需此项
  • 使用 Nvidia 显卡请添加 nvda_drv=1
  • 笔记本如需关闭独显请添加 -wegnoegpu
  • X99、X299 平台以及部分 AMD 平台需要添加 npci=0x2000 或 npci=0x3000,当跑代码卡在 PCI Start Configuration 时使用
    • 只有 AMD 平台的 BIOS 没有 Above 4G Decoding 选项时添加此参数,二者不可同时使用

注意:如果是 X99 或 X299 此类原生 NVRAM 不被 macOS 支持的主板,请勾选下方 LegacyEnable 和 Legacy Overwrite,取消勾选 WriteFlash。更多信息,参考:什么是 NVRAM?

 

UEFI 驱动相关

接下来我们处理一开始迁移过来的 .efi 驱动程序, 以下几个 .efi 驱动程序对于 Clover EFI 来说是基本必备,但是 OpenCore 不需要的:

Apfs.efi
ApfsDriverLoader.efi
AptioMemoryFix.efi
FSInject.efi
OsxLowMemFixDrv.efi
OsxAptioFixDrv.efi
OsxAptioFix2Drv.efi
OsxAptioFix3Drv.efi
OsxAptioFix2Drv-free2000.efi

上面这些文件可直接删除。以下 .efi 文件是 OpenCore 必备的:

OpenRuntime.efi
OpenCanopy.efi
HFSPlus.efi

其实 OpenCanopy 主要用于支持官方主题服务,也可以不用;HFSPlus.efi 用于支持 HFS+ 格式的分区,最好备上,所以一般来说 OpenCore 仅需要 OpenRuntime 和 HFSPlus 两个 .efi 驱动。以下 .efi 文件是可选的:

AudioDxe.efi
VirtualSmc.efi

完成增减后,在 UEFI 设置 → UEFI 驱动 中添加并启用对应的 .efi 驱动文件:

注意:图中设置的 .efi 文件并不是演示机型最终配置,也可能并不适合你的配置,不要照抄。

 

DeviceProperties 相关

这里我们主要设置独显、核显以及 ALC 声卡相关内容。

独立显卡

不使用 eGPU 的笔记本用户不需要看这个部分。一般来说,使用 WhateverGreen.kext 已经可以很好的驱动你的独显,如果你想加载 SMU 固件以提升性能,在下图位置添加信息:

可参考这篇文章添加 SMU 固件信息

驱动核显

如果你在 Clover 已经驱动了核显,可把对应信息迁移到下图位置。对于全新安装的用户,参考 驱动英特尔核显,让黑苹果流畅运行

驱动声卡

演示机型板载声卡芯片为 ALC1220,使用 AppleALC.kext 中的 layout-id 11 可以正常驱动,迁移到 OpenCore 后,在下图位置添加:

注意:十六进制倒序模式如何计算(并不复杂),在驱动核显的文章内有详细叙述。

 

OpenCore 注入三码

机型选择推荐

下面是各个平台机型选择推荐,注意:并不是只有推荐的机型可以使用,而是推荐的机型比较适合

 

生成三码

可使用 OpenCore Configurator 生成三码,操作非常简单,见图:

  • 一般情况下,OpenCore 将 SMBIOS 机型信息注入到 NVRAM,这会让黑苹果行为更像白苹果;
  • 对于拥有不被 macOS 支持的 NVRAM 的主板(例如 X99 和 X299),在模拟好 NVRAM 后,亦可使用此方法;
  • 如果你在 Clover 已经配置了三码并且希望继续使用,只需注意对应复制下面的信息:
    • System Serial Number 对应 序列号;
    • System UUId 对应 Clover 机型设置中的 SmUUID;
    • MLB 对应 Clover 机型设置中的 Board Serial Number;
    • BID 对应 Clover 机型设置中的 Board-ID,不过这个值每个机型都是固定的;
    • 其它信息可使用随机生成的。
  • 其它方面需要注意的地方和 Clover 生成三码几乎是一样的(除不需要那几个 Clover 需要的 .efi 文件),可以参考:给黑苹果注入三码,避免封号,解锁iCloud/FaceTime/iMessage/随航!

 

Quirks 相关设置

OpenCore 添加并开放了很多 Clover 没有的 Quirks,这个词直译过来是“怪癖”的意思,不是很容易理解,可以看作是基于硬件的底层设置。OpenCore 的 Quirks 设置涉及 ACPI、Booter、Kernel、Misc、UEFI 几个部分,针对不同的硬件平台修改 Quirks 设置,可以达到兼容的目的。以下设置基于 OpenCore 0.5.9 正式版,亦可能并不适合你的配置,如遇问题请自行判断

超级会员免费 永久超级会员免费

已有388人查看

 

其它设置

将 Misc → Security → Vault 设置为 Optional,否则会卡在开机引导处:

Configuration requires vault but no vault provided!

将 Misc → Mode → Picker Mode 设置为 External,这将开启官方主题支持。

注意:除了在 UEFI 中必须加载 OpenCanopy.efi 之外,你还需要下载额外的文件,以支持官方开机主题。

超级会员免费 永久超级会员免费

已有388人查看

如果需要开机音频,在 UEFI 设置 → 开机音频 见图操作:

 

添加启动项

好了,设置到这里基本告一段落,接下来可以尝试启动了。拿出之前准备的 U 盘或闲置的其它硬盘,格式化成 GPT 格式,将配置好的 EFI 文件夹放到 U盘/硬盘 的 ESP 分区。接下来使用 EasyUEFI 或 Bootice 之类的软件添加启动项。这个部分可以参考 黑苹果macOS系统U盘版/恢复版基础安装教程 中的 UEFI 启动项设置 部分。

注意:使用 Clover 引导时,启动项文件指向 BOOTX64.efi 或者 CLOVERX64.efi 都是可以的(因为本质上这俩是同一个文件),但使用 OpenCore 引导时,启动项文件必须指向 /EFI/BOOT/BOOTx64.efi,否则会出现一些莫名其妙的问题。

 

最终检查

请依次检查一遍所做的配置和文件,也可通过下面这个网站验证 config.plist 文件配置正确性。

  • https://opencore.slowgeek.com
  • 目前支持 OpenCore 0.5.9 正式版

 

救命!我卡在跑代码啦!

如果你足够幸运,那么上面这些都做完以后,你就可以进入 macOS,或开始全新 macOS 安装了。但对于卡在跑代码过程中的用户,黑苹果星球将搜集整理一些解决办法,列在这篇文章:OpenCore 安装卡住的拯救手册Q&A,欢迎反馈没有提到的问题。

 

 

0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,请及时邮箱[email protected],或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:[email protected],我们将第一时间配合处理!
扫描QQ二维码加入【黑苹果星球交流群】

黑苹果星球 » 一步一步从零迁移到OpenCore

11 评论

  1. 很好谢谢,辛苦了

  2. 配置这个太费劲了,我用镜像自带的oc引导做的系统,睡眠正常,开关机正常,5500xt显卡,修改机型为iMac7,1开启硬解,就是关机本机里显卡型号变成5700xt了。

  3. 我能说我喜欢上了你的主题嘛~主题叫什么名字啊太好看了

  4. 为什么我充值了,还不是超级会员

    1. 需要把积分兑换会员资格哦~

  5. 有点复杂,哥居然看完了~~~

    1. 鼓掌鼓掌鼓掌

  6. 厉害了,我的哥

  7. 这个总结非常好,希望持续维护更新。毕竟 OC 更新也很快

  8. DSDT配置有点难,有些问题解决不了

  9. 反正先整个沙发 牛逼就完事了

发表评论