

从Clover迁移到OpenCore
source link: https://fisher.lazybone.xyz/%E4%BB%8Eclover%E8%BF%81%E7%A7%BB%E5%88%B0opencore.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

从Clover迁移到OpenCore
发表于
2021-04-11
阅读次数: 90
目前,OpenCore Bootloader已经开发了相当一段时间,已经趋近于稳定。OpenCore的启动方式更接近于原生macOS电脑,对系统的注入更少,越来越多的驱动都基于OpenCore适配开发。因此,将Bootloader从Clover迁移到OpenCore也是时候提上日程了。以下博客记录了我的迁移过程,并向大家分享一下我的迁移方法。不同于网上的纯ProperTree手动配置、纯OpenCore Configurator图形配置或OC Gen-X直接生成,我同时用到了以上三种工具,节省了迁移成本的同时,也避免遇到了很多错误。
首先介绍的是我的硬件信息,如下表所示。
整个配置的过程需要用到以下的工具包,均可以从GitHub下载,注意工具对应的OC版本需要一致,否则极大概率会出错。
- OpenCore(版本0.6.8正式版),地址在这里
- OC Gen-X(版本3.0.2),地址在这里
- OpenCore Configurator(版本2.33.1.2),GitHub地址在这里,软件下载地址在这里
将OpenCore解压,安装OC Gen-X,安装OpenCore Configurator。至此,工具的准备工作完成。
生成配置文件
首先我们需要准备一份适合本机配置的配置文件,如果使用OCC或ProperTree纯手动配置的话,需要手动填入很多参数,费时又容易出错。因此我们使用OC Gen-X直接生成一份简单的配置文件,然后再基于这份配置文件进行修改。
打开OC Gen-X,首先确认系统架构。因为我使用的是第八代酷睿,因此在System Type选择Intel Consumer
的Coffee Lake
。
接下来在Kext中进行如下列表的勾选,图比较多我就只放Essential
中的一张了
- Essential,勾选:Lilu和VirtualSMC
- VirtualSMC Plugins,勾选:SMCProcessor、SMCSuperIO和SMCLightSensor
- Graphics,勾选:WhateverGreen(Boot Args留空),AGPMInjector(显卡节能用,选择你目前的仿冒型号和GPU,我的选择是
iMac18,2
和GTX1060
) - Audio,勾选:AppleALC(Boot Args留空)
- Ethernet,勾选:IntelMausi
- USB,勾选:USBInjectALL
- WI-FI and Bluetooth,无需勾选,稍后手动添加驱动
- Extra’s,无需勾选,里面的驱动是给AMD CPU使用的
接下来在Firmware Drivers中,在UEFI
中勾选OpenRuntime.efi
和HfsPlus.efi
。
最后在SMBIOS中,OC Gen-X会自动填入当前系统的SMBIOS信息,不需要去修改了。在Additional BootArgs中也不需要填入任何参数,稍后用OCC手动填入即可。
点击下方Generate EFI
,就会在你的桌面生成一个EFI文件夹,此时可以关闭OC Gen-X了,接下来的操作就是修改这个EFI的配置。
添加固件、驱动、主题
OC Gen-X生成的EFI文件并不是立即就能使用的,还需要根据自己的需要进行修改,以下是我的修改过程。
首先打开EFI/OC/Drivers
,可以看到里面只有刚刚勾选添加的2个固件,缺少了其他固件,OC是启动不起来的,因此需要添加OpenCore官方包中的固件。打开OpenCore
官方EFI(准备阶段中下载解压的)中的OpenCore-0.6.8-RELEASE/X64/EFI/OC/Drivers
,可以看到里面有很多OC的启动固件,把这些固件全部复制到Gen-X生成的EFI中。
接下来打开EFI/OC/Kexts
,可以看到文件夹中已经添加了我们刚刚在Gen-X中勾选的驱动。但每个人的配置都不同,还需要根据自己的配置添加对应的驱动。对于我的配置来说,我还需要添加的驱动和作用在以下列表中。
- AirportItlwm.kext,Intel AC 9560网卡驱动,这个Airport版本支持原生Airdrop
- CPUFriend.kext,CPU变频补丁驱动,添加后有低频档位
- HibernationFixup.kext,睡眠修复补丁,目前发现添加与否并不影响睡眠,先加了再说
- IntelBluetoothFirmware.kext,Intel AC 9560蓝牙驱动
- IntelBluetoothInjector.kext,修复系统蓝牙开关为灰色的补丁
- NVMeFix.kext,NVME固态硬盘兼容性提升驱动
添加完驱动后的Kexts文件夹如下图所示。
(可选)最后可以根据需要添加Bootloader的主题,如果没有主题,OpenCore的启动界面是纯文字的,也不是不能用。但是为了好看,我还是弄了一套官方的主题。
从GitHub拉取OcBinaryData
仓库,地址在这里。因为我不需要开机声音,所以我把拉取后把仓库中的Resources/Audio
下的音频文件全部删除了。
最后,把整个Resources文件夹替换掉EFI/OC/
中的Resources文件夹即可。
至此,EFI中的固件、驱动、主题文件准备完毕,接下来就是对配置文件进行修改。
修改配置文件
在修改配置文件之前,我们需要准备一个有EFI分区的U盘,最好是以前配置Clover时留下来的一个备份。挂载这个U盘的EFI分区,将里面的EFI文件替换,然后就可以开始配置文件的修改了。
使用OpenCore Configurator打开U盘EFI/OC
中的config.plist
,开始配置文件的修改。
首先是ACPI-ACPI设置
,这里需要根据机型的不同添加对应的SSDT文件,在右侧列表框的下方点击下载/更新Acpi文件
,对于我的配置,我需要下载以下SSDT文件:
- SSDT-AWAC
- SSDT-EC-USBX-DESKTOP
- SSDT-PLUG-DRTNIA
- SSDT-PMC
点击下载后,就可以关闭ACPI补丁下载器了,然后点击快照添加
,刚刚下载的SSDT配置文件就会自动添加并启用,配置完成后的ACPI设置界面如下。
接下来的Booter-启动设置
,不需要修改里面的任何选项,直接跳过。
接下来的DeviceProperties-设备属性设置
,如果想开启核显加速,就需要在里面添加核显设备。点击左侧设备列表的加号,在新添加的空白栏中填入PciRoot(0x0)/Pci(0x2,0x0)
,然后点击右侧表格下方的加号,在新添加的空白栏中的键填入AAPL,ig-platform-id
,在值中填入0300983E
,不同CPU,不同核显和不同的加速效果有着不同的值,这个值需要在网上查询自己核显的ig-platform-id
,添加后的效果如下。
接下来的Kernel-内核设置
,需要在添加
页面加入自己需要启用的驱动,打开EFI/OC/Kexts
,拖动自己添加的驱动到列表中,启用即可。这里需要注意调整启动顺序,自己添加驱动启动顺序最好放在最后面。添加后的效果如下。
在Kernel-内核设置
中,还需要添加的是RTC修复的补丁,否则每次重启开机BIOS都会进入安全模式,具体原因在xjn的博客中有详细描述,想了解更多的点这里。点击补丁
,在表格右下角点2次加号,添加两个补丁条目。在两个条目中,标识符均填入com.apple.driver.AppleRTC
,替换次数均填入1
,均勾选启用。在第一个条目中的查找中填入752E0FB6
,在第一个条目中的替换中填入EB2E0FB6
。在第二个条目中的查找中填入75330FB7
,在第二个条目中的替换中填入EB330FB7
,最小内核和最大内核填入18.5.0
(网上也有解决方法是不需要填入内核参数的,但我并没有进行测试,有兴趣的朋友可以测试一下)。填完后的效果如下。
接下来是Misc-其他设置
,如果在上一节中添加了主题文件并且想启用,在Boot
页的设置中需要把Picker Mode启动界面模式修改为External
,如果想隐藏多余的启动项(例如:恢复分区、Reset NVRAM等),可以勾选HideAuxiliary
,修改后的效果如下。
在Misc-其他设置
中,还需要修改启动的安全选项,在Security
页中,将Vault
参数改为Optional
,如果使用AirportItlwn
驱动,还需要将SecureBootMode
参数修改为Default
,这个参数会导致开机速度变慢,但为了使用Intel原生Wi-Fi驱动,也是没办法的事情,修改后的效果如下。
接下来是NVRAM-随机访问储存器设置
,我们需要修改启动参数,不同配置的机型启动参数可能不同。点击左侧UUID表中的7C436110-AB2A-4BBB-A880-FE41995C9F82
,在右侧boot-args
中把默认的值删掉,填入-v debug=0x100 keepsyms=1 nvda_drv=1 alcid=7
,下面是参数含义解释。
- -v,开启debug模式,测试无问题后可删去
- debug=0x100,在启动遇到问题后不自动关机,而是停止操作,方便观察debug log
- keepsyms=1,输出更多的debug信息,方便调试
- nvda_drv=1,启用NVIDIA驱动,N卡独显需要使用
- alcid=7,声卡ID注入,我的板载声卡注入ID为7
配置完成后的效果如下。
接下来是PlatformInfo-机型平台设置
,由于Gen-x在生成配置文件时已经自动填入机型信息,这一页不需要再手动配置了。
最后是UEFI-UEFI设置
,如果要开启OC的主题,还需要添加UEFI驱动。点击UEFI驱动
页面,点击浏览
,将EFI/OC/Drivers
中的OpenCanopy.efi
添加到表格中,添加后效果如下。
至此,OC的启动配置文件修改完成,按command + s
保存配置,就可以开始重启,使用OC尝试引导系统了。
清除Clover残余
如果使用OC能够成功引导系统,并且使用一段时间后没有任何问题,就可以将硬盘上的Clover EFI替换为OpenCore EFI了。替换的操作也是一样的,将整个EFI文件夹替换即可,最后在Terminal中执行以下代码,清除Clover残留文件即可完成迁移。
# 删除 Clover 位于系统偏好设置中的面板
sudo rm -rf "/Library/PreferencePanes/Clover.prefPane"
# 删除 Clover 的自动脚本
rm -rf "/etc/rc.clover.lib"
rm -rf "/etc/rc.boot.d/10.save_and_rotate_boot_log.local"
rm -rf "/etc/rc.boot.d/20.mount_ESP.local"
rm -rf "/etc/rc.boot.d/70.disable_sleep_proxy_client.local.disabled"
rm -rf "/etc/rc.boot.d/80.save_nvram_plist.local"
rm -rf "/etc/rc.shutdown.local"
rm -rf "/etc/rc.boot.d"
rm -rf "/etc/rc.shutdown.d"
# 删除 Clover 的守护进程
launchctl unload '/Library/LaunchDaemons/com.slice.CloverDaemonNew.plist'
rm -rf '/Library/LaunchDaemons/com.slice.CloverDaemonNew.plist'
rm -rf '/Library/Application Support/Clover/CloverDaemonNew'
rm -rf '/Library/Application Support/Clover/CloverLogOut'
rm -rf '/Library/Application Support/Clover/CloverWrapper.sh'
在迁移到OC后,最好再重置一次NVRAM,重置完后系统就完全是由OC来引导启动了,接下来就开启愉快的OC之旅了。
Recommend
-
1283
-
859
README.md OpenCore Configurator A tool for creating and editing OpenCore configuration files. Features Paste ACPI patches from eit...
-
409
README.md AMD Vanilla Clover Kernel binary patches to enable native AMD CPU support on macOS. Features Enables macOS to...
-
1423
README.md OpenCore 0.5+ 部件补丁 说明 依据 OpenCore 0.5+ 的要求和建议,制作本部件补丁。 主要内容 总述
-
33
-
12
我之前有台黑苹果开发机一直使用着CLOVER驱动Catalina,运行稳定可靠,日常开发使用也很顺手。 机器的配置如下 Intel 第八代CPU i3 8100 华硕H110M-K D3 MATX主板 (魔改BIOS,为了支持i3 810...
-
27
使用 OpenCore 引导黑苹果 – 淮城一只猫 使用 OpenCore 引导黑苹果 Jaxson Wang / 2020-04-12 / 生活杂记 / 阅读量
-
242
OpenCore on the Mac Pro C cdf macrumors 6502a ...
-
13
home heroImage heroText actionText actionLink meta /dortania-logo-clear.png Dortania's OpenCore Install Guide Getting Started→ prerequisites.md name content de...
-
21
Opencore Gen-X Desktop Opencore EFI and config.plist generation utility OC Gen-X is a utility application to create a pre-defined config.plist and a EFI Folder to the users Desktop. Based on the system type selected by the u...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK