自从苹果采用intel处理器以来,黑苹果成为不少DIY玩家的选择,在现在科技快速发展的时代,在黑苹果引导方面也有很大的进步。目前open core引导的普及,使安装黑苹果很简单,甚至和安装Windows不无差异。目前的open core引导代替clover引导就像几年前clover引导代替变色龙引导一样,由于open core引导更好的兼容性,成为未来安装黑苹果主流引导指日可待,接下来我将会从open core引导所需要设置以及配置和安装黑苹果来和大家一起探讨。
目前随着open core configuration(下面简称OCC)发布,配置open core(下面简称OC)也像配置clover一样简单,甚至在我看来还要比配置clover更简单,其实最近又刚刚发布一款最新配置OC引导的软件,名字为OC GEN X,关于链接我会放到文章最后,虽说目前OCC已经发布,但是相对于最新版OC的更新速度总是会慢一步,所以本篇文章会从OCC以及ProperTree来进行配置efi文件。关于OCC的下载地址:https://mackie100projects.altervista.org/opencore-configurator/
在这里我所采用的OC版本是0.6.2,虽然是上一个正式版本,但是最新的0.6.3配置方法差距并不大。
我们先来看下OC文档目录:
在Docs中存放着关于OC引导官方介绍文档以及升级日志,还有我们所需的配置文件,在此处的名字是sample.plist,我们回头为配置OC引导需要将名字改为config,后面会讲。
在AcpiSamples文件夹中存放着一些ACPI文件,关于它的作用后面也会讲。
第二个文件夹EFI是重中之重,也就是我们OC引导最重要的地方,没有它我们就没有办法去引导Mac系统。
但这个目录目前来说是不完整的,后面需要我们去完善。
BOOT文件夹中存放引导文件,用来加载open core和下面的bootstarp一起使用。
ACPI文件夹中用于存储ACPI部分的补充ACPI信息的目录。
Drivers文件夹中用来存放UEFI驱动文件。
Kexts文件夹中用来存放内核文件,用来正确驱动电脑硬件。
resources文件夹中用来存放主题文件,如果你有好的主题可以放在此文件夹中。
Tools文件夹中用来存放一些OC工具,例如清楚nvram。
在OC文件夹中最后一个Utilities文件夹一般是我们用不到的,这里不做过多解释。
在官方给出的文件形式如下:
那么介绍完文件目录形式,我们开始配置OC引导,这里我们先将Docs文件夹中sample文件拷贝到EFI文件夹下OC文件夹中,并更名为config。
一、开始编辑
现在我们可以使用ProperTree打开config.plist。
上方WARNING是没有什么影响的,可以直接删除。
(1)ACPI设置编辑
第一项ACPI设置,将ACPI中描述文件删除,将提前准备好的ACPI文件拷贝到此处,在此之前应现将符合你机器硬件描述文件拷贝到ACPI文件夹中。再将文件拖拽到OCC中,并启用。
将其他无关ssdt文件删除,将准备好的文件导入,并改好名字启用。
关于各项选项功能大家可以参考我所给出的中文参考文档(https://oc.skk.moe/):
后方不再多解释。
对于如何获取符合你电脑的描述文件,我会根据此文章反应怎样……哈哈哈,此文章还是主要针对如何配置OC来讲。
Delete、patch和quicks选项一般不需要更改。
(2)booter启动项设置
在此选项中我们只需要更改下方quicks选项,大家可以参考我的选择,适合大部分台式机电脑。
(3)DeviceProperties设置
配置PCI设备参数,例如配置显卡驱动、声卡驱动。
这个地方大家可以借助hackintool(瑞士军刀)来完成,首先我们打开瑞士军刀,找到PCIe设备选项
然后在桌面上会出现四个文件
我们使用propertree打开后缀plist的文件。
列出了所有的设备文件,这里我们主要使用的是显卡pcie参数,如果你配备有无线网卡,还需要使用显卡的PCIe。
关于显卡注入id和显卡smbios大家也可以使用瑞士军刀。
(4)kernel设置
在这里主要放一些驱动文件,主要的有Lilu、WhateverGreen、VirtualSMC,如果你有其他的需要驱动的内核文件也是放在这个里面,主要操作方法是将准备好的内核文件放在EFI-OC-kexks
我所使用的一些内核功能一般是声卡驱动、网卡驱动、USB驱动等。根据自己的电脑配置进行安排。
然后在配置文件中按如下方式键入:
关于CPU仿冒:
主要针对Comet Lake如果想使用Big Sur,需仿冒为Coffce Lake
Cpuid1Data:EB060800 00000000 00000000 00000000
Cpuid1Mask:FFFFFFFF 00000000 00000000 00000000(来自Bugprogrammer)
在patch补丁方面一般IntelCPU是不需要进行补丁,而ryzen的处理器一般需要补丁,这里不做过的解释
Quicks设置,注意,如果没有解锁CFG需要勾选前两项,最后一项是使用USB注入,解锁USB端口限制。
AppleXcpmExtraMsrs:无原生电源管理的CPU需开启
AppleXcpmForceBoost:强制让CPU一直满载,部分至强CPU可用
CustomSMBIOSGuid:之前是Dell笔记本使用,不建议开启,会导致无法读取序列号的问题
DisableIoMapper:禁止VT-D
DisableRtcChecksum:禁止RTC的校验和写入(推荐使用其他方法替代该选项)
DummyPowerManagement:和NullCPUPowerManagement类似,无原生电源管理的机型需使用(Ryzen必须开启,或使用同类驱动替代)
ExternalDiskIcons:如果遇到内置变外置,外置变内置的情况可开启,可将外置变为内置,内置变为外置
IncreasePciBarSize:如果BIOS中没有Above 4G Decoding(4G以上解码)的选项可尝试开启,将PCI带宽大小扩充至4GB
LapicKernelPanic:对HP笔记本的修补(HP笔记本必须开启)
PanicNoKextDump:显示驱动崩溃信息(调试用)
PowerTimeoutKernelPanic:遇到睡眠崩溃或重启的问题可尝试开启解决
ThirdPartyDrives:开启第三方SATA的TRIM功能,会导致开机变慢
(5)Misc
在其中主要讲一些主要设置,关于Picker Mode中,默认Builtin是代表不使用图形化界面启动,如果你有好的主题可以使用External,apple主要适用于白果,timeout为进入系统倒计时,0为不做任何设置。
ShowPicker:显示引导菜单
HideAuxiliary:隐藏辅助工具(Reset NVRAM、Recovery等,开启后可通过引导菜单内按空格键显示辅助工具)
Hibernate Mode:Ryzen建议设为None,其他原生NVRAM机型可设为Auto
Security
ScanPolicy设为0,Vault设置为Optional,不然一般是不能开机的。
如果想要在引导界面开启重置nvram功能,需要将AllowNvramReset功能打开。
(6)nvram
主要更改7C43开头的,boot-args启动参数,后方添加-V可以开启跑码模式,特殊的功能igfxonln=1可以防止睡眠唤醒黑屏,alcid=92驱动声卡,这个可以参考黑果小兵文档。csr-active-config主要是SIP参数,00000000 开启SIP
E7030000 关闭SIP(10.15.x及以下)
77000000 关闭SIP(Big Sur 11.0)
prev-lang:kbd语言设置:
7A682D48 616E733A 323532代表中文。
(7)PlatformInfo
机型设置,可以使用瑞士军刀生成smbios
将对应文件填入其中
(8)APFS
EnableJumpstart:开启内置的APFS驱动,如果Driver中无ApfsDriverLoader.efi则必须开启
HideVerbose:隐藏APFS驱动的日志
JumpstartHotPlug:支持含有APFS分区的USB设备的热插拔
GlobalConnect:默认即可
Audio主要是模仿白果开机音效,想要开启可以设置。
Drives主要放驱动文件,想要开启图形化启动界面需要放入OpenCanopy.efi
Output输出参数,ConsoleMode一般为Max,Resolution为显示器输出分辨率。
其他选项一般是不需要更改的,到此为止基本上使用propertree配置OC efi文件已经结束了,说实话,我感觉我这篇文章可能除了我其他人可能并不一定很好懂,所以后期我会更新使用OCC配置EFI文件的教程,并且更细致化的解释各项的主要功能。
关于各项功能具体解释后方将会放出,如果大家有什么问题可以私信或者在评论区指出。关于文中所出现错误也请大家指出。
感谢:
OC官方:https://github.com/acidanthera/OpenCorePkg
黑果小兵:https://blog.daliansky.net/
知乎Rewhite:https://www.zhihu.com/people/whitegold-98
OC中文文档:https://oc.skk.moe/
黑苹果屋:http://imacos.top/
Zxystd开发的Intel网卡驱动:https://openintelwireless.github.io/