黑苹果从入门到精通 篇九:从Clover转向OpenCore的X99 iMac Pro(一)

2019-12-27 17:01:17 200点赞 2045收藏 141评论

追加修改(2019-12-27 21:31:24):
这篇文章中我疏忽了一件事情,就是XCPM原生电源管理,在OpenCore中不像Clover一样直接有某项跟PluginType有关,而是需要通过SSDT-PLUG修复,但是困难之处在于OC-little中并没有和X99相符的SSDT-PLUG,于是我自己照着我的SSDT-PmMgt修改了一个SSDT-PLUG,这部分会在(二)中写到。

前言

本篇文章不能替代篇6的Clover安装说明,本文仅仅只是将Clover相关设置平行迁移到OpenCore下,所以没有阅读过篇6的请重新回去看一遍。

黑苹果从入门到精通 篇六:X99八核 iMac Pro 搭建指南追加修改(2019-10-2220:46:30):已经更新到macOS10.15Catalina,刚出来的时候比较懒,一直没升级,昨天升级了,一堆出错的,懒的搞再加上时间很晚了就关掉了,今天有点心情上来看了下,其实问题很小,主要问题有:1.变频出错:其实就是KernelAndKextPatches中唐少游| 137 评论231 收藏966查看详情

什么是OpenCore?

OpenCore是类似于Clover的UEFI的引导器,目前已越来越受到大家的欢迎。首先OpenCore提供了详细的日志系统,帮助黑苹果排错;其次OpenCore以更先进的方法注入第三方Kext,不破坏系统的SIP;再次,OpenCore支持读取NVRAM等一系列特性,可以让黑苹果变得更“原生”,诸如选择启动器、Command Ctrl互换,原生开启Option键特性都可以实现。

不过流行起来的原因倒并不是OpenCore具有种种优势,主要是一堆开发者抱起团来指名道姓Clover未来不会被他们的工作支持,第三方Kext都不会对Clover做兼容性检查,AptioMemoryFix这种重要的efi更是直接并入OpenCore成为了FwRuntimeVariable.efi。虽然对大家的学习又一次提出了挑战,不过我还是觉得确实每隔一段时间就应该打破向下兼容的传统,重构系统架构,这样整套引导系统会更有效率。上次是Clover革Chameleon的命,这次就轮到OpenCore革Clover的命了

为什么文章标题带个(一)

原因非常简单,因为OpenCore在传给OS ACPI表的时候是不分操作系统的,这意味着在OpenCore的框架下修改ACPI表要更加的小心谨慎,所以在这一块我仍然处于学习的阶段,未来会向大家继续汇报我学习的经验(笑)。不过可能是我这里使用的都是一些无关紧要的SSDT修复,所以Windows也是可以正常引导的,所以和我们X99使用也关系不大。

如何了解OpenCore的相关设置

本篇文章不打算讲OpenCore的相关设置,这里推荐三个地方的文章

  1. OpenCore Official Configuration

  2. 黑果小兵:精解OpenCore

  3. Xin:使用OpenCore引导黑苹果

本次文章的主要内容还是在了解了这些的基础上,对X99黑苹果引导进行升级。

OpenCore安装前准备

首先需要准备如下三个安装包:

  1. OpenCorePkg

  2. MacInfoPkg

  3. AppleSupportPkg

其次OpenCore官方推荐使用ProperTree和Xcode 10对config.plist进行编辑,目前Xcode11存在问题,所以如果你碰巧是Xcode10仍然可以继续使用,如果是11版本则需要更换一个plist编辑。

创建Catalina安装U盘并配置OpenCore

如何创建U盘我就不再赘述,有问题的看之前的文章,创建完U盘我们可以使用Clover Configuration或者在Terminal中输入sudo diskutil mount /dev/disk5s1挂载U盘EFI分区(disk5s1是在我的电脑上U盘的位置,各位在使用前先用diskutili list查看具体路径。)

接下来我们要将下载的OpenCorePkg中的EFI文件夹整个儿复制到U盘EFI分区中。

从Clover转向OpenCore的X99 iMac Pro(一)

文件结构如下图所示,在各个文件夹中目前仍然是全空的状态。我们接下来要补充相关ACPI、Drivers和Kexts。

从Clover转向OpenCore的X99 iMac Pro(一)

在我们下载的AppleSupport中,我们需要将其中的efi驱动放到Drivers中,Tools同样方法迁移到EFI分区中。

再将原来Clover中的DSDT/SSDT和Kexts文件都放到OC对应文件夹中。复制后结构如下:

从Clover转向OpenCore的X99 iMac Pro(一)

简单说明需要注意的点,目前我使用WhateverGreen来替代X580的aml,主要基于两点理由,第一是尽量少用ACPI替换;第二是WhateverGreen相对来说会一直迭代,不需要我操心,这里的WhateverGreen版本为release 1.3.6,可以支持在10.15.2下HEVC硬解码。

TB3T.aml也被我拿掉了,我目前没有使用雷电卡,因为我用上了雷电卡发现我本质上不需要雷电卡,我既没有5K屏幕也没有雷电扩展设备,白白占了我一条PCI-E x16通道不说还挺贵,所以转手就出掉了。

在Drivers里面,我们使用了四个驱动,Apfs/HFSPlus就不用多说了,大家都懂,FwRuntimeServices.efi就是AptioMemoryFix.efi,也是必备的,这次我添加了一个MemoryAllocation.efi,主要是听说X99和Z390主板都需要添加这个驱动预留第一组 512MB 内存, 帮助引导工具注入内核以及内核缓存至第一组 512MB 内存, 加入这个后还需要配合 FwRuntimeServices 和引导标识符 slide=1。但是根据实测我发现没有这个也很正常,本着能少用就少用的理念,我bak注释掉了这个驱动。VirtualSMC.efi是配合VirtualSMC.kext一起使用的,嗯,原来KGP是使用FakeSMC的,但是我觉得有点太老了,这次就升级更换掉了。

有一个很具争议的驱动是UsbKbDxe.efi,主要是为了在启动阶段提供苹果原生的快捷键,但是我的在使用时候发现加入了这个在OC引导界面直接不能用键盘了,这个需要你们自己测试,我推荐不用。

接下来是很重要的一步,我们需要根据以前的Clover config.plist修改OpenCore.plist。首先从OpenCore/Docs文件夹中将Sample.plist复制到EFI/OC目录下,并重命名为config.plist,如果你原来的机型是老机型,则使用SampleFull.plist。

从Clover转向OpenCore的X99 iMac Pro(一)

在讲解OpenCore具体用法部分我不会详细讲每一项的功能,这和黑屏小兵和Xjn的重复了,我以阅读OC Configuration为主,配合Xjn的一些实测结果进行设置,这里也只讲我碰到麻烦的一些地方。

1、ACPI部分

修改ACPI之前首先将开头的5个Key-String对删除,只是一些Warning。Add array中主要是关于ACPI表的修补,我们需要将其修改为加载我们自己的ACPI patched。将九个SSDT patch加入其中,需要注意,貌似这个加载是有顺序的,所以DTGP要放到了最前面,除此以外icon-patch和ANS1/2有关,但我不是很敢肯定依赖关系顺序,所以我尝试了icon-patch放后面,ANS1/2放前面,结果正常起效了,所以大家可以依照这个来,我有点怀疑这三者作用时可能对顺序没啥要求,所以随便放也是可以的。

从Clover转向OpenCore的X99 iMac Pro(一)

Patch array要改的就非常多了,稍微解释一下其中两个我认为重要的Properties,第一个是Count,实际上是指这种替换要进行多少次,默认是0,意思是只要碰见符合替换的就进行替换;第二个是Limit,默认是0,意思是整个ACPI表都要进行查找替换。这里给了一个例子给大家参考:

从Clover转向OpenCore的X99 iMac Pro(一)

最终应该是有10条常规hot patch和16条跟线程有关的hot patch。其实在DSDT中要修改的CP-PR对挺多,但是我就修改这么多,剩下的留置争议到以后再说。

从Clover转向OpenCore的X99 iMac Pro(一)

最后是Quirks Array,具体解释如下,我就不再翻译了,针对X99,统统默认关闭就行了,没啥卵用。

从Clover转向OpenCore的X99 iMac Pro(一)

2、Booter部分

MmioWhitelist不用动,都是默认关闭的,第一项跟Haswell内存寻址修复有关,第二项跟X99用户很熟悉的卡PCI Configuration有关,但是这两项对我们也是没啥用的,X99卡PCI也和第二项没关系。

Quirks中设置如下,如果对每一项究竟是干什么用的感兴趣,请去翻官方文档。

从Clover转向OpenCore的X99 iMac Pro(一)

其中需要注意的是DevirtualiseMmio这一项,手册中写了对大多数主板来说都应该开启,但是Xjn这个表达了不同的看法,他认为连续性内存注入更合适,没有电脑适合分布式注入。所以我这里选择和他一致关闭这一项,关闭后理论上是需要提供slide值的,但是能直接进系统最好不指定。

三、DeviceProperties

这部分和Clover中的DeviceProperties是对应的,主要是对帧缓冲和音频进行属性注入,由于X99没有核显,所以单单处理音频部分即可。这部分Xjn写的太好了,如果你需要对核显进行处理,建议看看xjn的教程,X99的朋友照抄我的就行了,应该大家都是ALC1150。

从Clover转向OpenCore的X99 iMac Pro(一)

可以看到声卡的设备地址是PciRoot(0x0)/Pci(0x1b,0x0),再使用Hackintool查看目前的layout-id为5

从Clover转向OpenCore的X99 iMac Pro(一)

将OC config修改如下即可:

从Clover转向OpenCore的X99 iMac Pro(一)

四、Kernel部分

这一部分涉及Kext注入,我们需要对每一个Kext都列一个item,而且这个kext注入方式有顺序,也就意味着Lilu和Lilu附属驱动要注意先后,有关联的驱动要排顺序。大致如下图所示

从Clover转向OpenCore的X99 iMac Pro(一)

三个蓝牙的驱动貌似是没有顺序的,随便即可,我的顺序如下

从Clover转向OpenCore的X99 iMac Pro(一)

特别需要注意的是,针对笔记本而言经常用的VoodooI2C和VoodooPS2这类驱动内包含驱动的,千万不要忘记要分开注入,也就是说,一个驱动要分为多个子驱动注入,当然对台式机没啥影响,大多数kext都是单个单个打包的。

还有不要打错、少打、漏打、多打,Enabled选项要改为True才能正常注入。

至于Emulate部分则是和CPU仿冒有关,针对Haswell-E的处理器修改如下,Broadwell自己查。

Cpuid1Data F2060300 00000000 00000000 00000000

Cpuid1Mask 010A0000 00000000 00000000 00000000

Patch部分等同于Clover中的KextToPatch和KernelToPatch,照抄过来即可。KernelToPatch只需要将Identifier改为kernel即可。

比较蛋疼的一项是IOPCIFamilyPatch,作用于IOPCIFamily.kext,熟悉的朋友应该知道,X99如果不修改这一项会造成卡PCI,我按照Clover的设置经验直接填了IOPCIFamily,结果卡PCI了,我大概猜测是这一项没有实现修改,经过查阅资料发现,OC上这里要修改为com.apple.iokit.IOPCIFamily。

此外需要注意,10.15.2的X99又双叒叕改Patch了。详情可以从这里看。

最终修改结果大致如下。

从Clover转向OpenCore的X99 iMac Pro(一)

Quirk部分除了AppleXcpmExtraMsrs/ThirdPartyDrives我开启了以外,其余都关了,CFG-Locked的机器请参照Xjn的方法使用EFI修改BIOS项,都快0202年了还有没解锁的。ThirdPartyDriver则是开启Trim功能。其他项目参考官方文档。

五、Misc部分

Misc主要关系OC本身的引导界面,需要修改的东西不多,在安装的时候我们可以把ShowPicker和UsePicker改为True,Timeout改为0,等同于Clover引导timeout -1。Debug部分只需要把Target改为3即可。

六、NVRAM

在boot-args小项中改为-v npci=0x2000,除此以外不懂不要动。

七、PlatformInfo

这里和SMBIOS有关,需要借助Clover Configuration中的SMBIOS来计算配套的三码,Xjn做了很好的教程,参照他的即可。不要什么EFI拿来就直接用,不修改三码坑的不仅仅是你,还有贡献EFI的人。

八、UEFI

在Drivers项中,我们需要依次把Drivers文件夹中的efi加载进来,同样需要注意顺序,我的配置文件如下。

从Clover转向OpenCore的X99 iMac Pro(一)

比较重要的是Protocols和Quirks,ConsoleControl务必要打开,RequestBootVarRouting关系到macOS的启动磁盘是否能使用,我这里也打开了,最重要的是SanitiseClearScreen,在手册中解释说高分屏需要这一项来避免运行在1024x720的分辨率下,实测发现这里的高分屏包含1080p,所以除非你用的是上古显示器,不然都打开。

从Clover转向OpenCore的X99 iMac Pro(一)

最后Enjoy!

从Clover转向OpenCore的X99 iMac Pro(一)

从Clover转向OpenCore的X99 iMac Pro(一)

从Clover转向OpenCore的X99 iMac Pro(一)

从Clover转向OpenCore的X99 iMac Pro(一)

从Clover转向OpenCore的X99 iMac Pro(一)

从Clover转向OpenCore的X99 iMac Pro(一)

从Clover转向OpenCore的X99 iMac Pro(一)

从Clover转向OpenCore的X99 iMac Pro(一)


展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

159元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

106元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

328元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

299元起

Microsoft 微软 office365家庭版microsoft365增强版15个月

Microsoft 微软 office365家庭版microsoft365增强版15个月

289元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

189元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

729.6元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

1288元起

Microsoft 微软 office365家庭版15个月 203元

Microsoft 微软 office365家庭版15个月 203元

198元起

自助挂号应用服务

自助挂号应用服务

15000元起
141评论

  • 精彩
  • 最新
  • 年纪大了还是要以实用,少折腾为主。。所以我选择白苹果。。 [抽烟]

    校验提示文案

    提交
    你这话我赞同,太累了

    校验提示文案

    提交
    玩了十几年的黑苹果,目前正在用的是四年前配的,6700k加32G内存加580显卡的平台,也是玩累了,正准备买一台最新的16寸MBP。四十岁的人折腾不动了 [喜极而泣] ,而且发现最新的MBP性能居然可以吊打我四年前的台式机

    校验提示文案

    提交
    还有10条回复
    收起所有回复
  • 对于已有Clover引导环境的用户,我建议参考你的Clover配置来进行施工。虽然两者有区别,但一些补丁实现方式差不多,这样可以让你的配置步骤更有条理。
    另外OpenCore官方不建议使用更名补丁,除非必须使用的情况。要使用SSDT注入,请制作一个兼容性好的SSDT补丁,这样不会影响Win系统,并且Clover和OpenCore都可以使用,一次制作,两处使用。
    尽可能采用添加设备属性(DeviceProperties>来对PCI设备打补丁。当Properties方法不奏效时或者其他原因,优先考虑是否可以通过仿冒设备的方式来解决问题。再考虑对设备或者方法更名以及Hotpatch的SSDT文件对其实施定制补丁……

    校验提示文案

    提交
    最近就在做这件事情,累死

    校验提示文案

    提交
    我是直接网上找人远程帮忙安装,50大洋,美滋滋

    校验提示文案

    提交
    收起所有回复
  • x99 10.14.6,usb3.0驱动不了,一直没搞定,还好很少外接USB设备,系统比较稳定,周一开机,周五关机,还是不错的。

    校验提示文案

    提交
    USB定制多简单啊,我已经在写了,你可以看看篇七和篇九中间差了个篇八,主要是缺素材

    校验提示文案

    提交
    好的,等你大作,我是找过也试过,只是没搞定。 [喜极而泣]

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 请问楼主现在oc支持amd引导吗

    校验提示文案

    提交
    支持的,但是具体怎么样没了解

    校验提示文案

    提交
    收起所有回复
  • x99有了,我1070黑苹果合适吗?对e5有要求么

    校验提示文案

    提交
    1070显然不行,N卡现在就没法驱动,E5倒不是问题

    校验提示文案

    提交
    N卡最高到10.13.6,用的nvidia webdriver

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • oc 能驱动1060吗

    校验提示文案

    提交
    不行,N卡是由老黄放出的,老黄在Mojave的时候想弄出来,问题是苹果铁了心推自家的metal

    校验提示文案

    提交
    收起所有回复
  • 换了oc好多软件启动不了了,比如navicat,和bandzip,有解决办法么 [哭泣]

    校验提示文案

    提交
    不是很明白,oc只是引导器,应该和软件关系不大吧,我好像没有听过类似消息,倒是catalina以后32位软件都不能用了

    校验提示文案

    提交
    用clover一直没问题,换了oc之后就闪退,再换回去也不行,有点头疼

    校验提示文案

    提交
    收起所有回复
  • 楼主用什么显卡的?想入手一个

    校验提示文案

    提交
    蓝宝石RX 580 超白金,最好对比下RX 570价格,可能570更划算

    校验提示文案

    提交
    收起所有回复
  • 双路e5可以用黑苹果吗?求赐教

    校验提示文案

    提交
    z9pe-d8吗,我不敢肯定,这种有点老了,我手头也有一块,自己还没组

    校验提示文案

    提交
    我之前用过一套华南x79双路e5黑苹果

    校验提示文案

    提交
    收起所有回复
  • 黑苹果小白一枚,请问楼主,我电脑配置X99,E51620,GTX750能装黑苹果么,想折腾很久了,哪里需要更换?

    校验提示文案

    提交
    可以啊,先看我上一篇文章,但是需要注意kextToPatch都发生变化了,10。15.2要用最新的patch

    校验提示文案

    提交
    收起所有回复
  • x99 6950x 1080能不能黑苹果?想把前几年配的那台折腾个黑苹果试试

    校验提示文案

    提交
    显卡不行 紫薯布丁

    校验提示文案

    提交
    收起所有回复
  • 正好在折腾x99,一直搞不定睿频和变频,至于Emulate部分则是和CPU仿冒有关,针对Haswell-E的处理器修改如下,Broadwell自己查。

    Cpuid1Data F2060300 00000000 00000000 00000000

    Cpuid1Mask 010A0000 00000000 00000000 00000000
    对于内核补丁不懂<因为没折腾过clover),能大概解释下吗?
    另外能否共享下EFI?

    校验提示文案

    提交
    这段是用来仿冒CPU的,不是内核补丁,让macOS选择比较合适的电源管理策略,留下你的邮箱,但是X99很吃细调参数,你直接套估计是不行的,能启动,但是问题会很多。

    校验提示文案

    提交
    谢谢啦!邮箱:mogic@qq.com
    我在用oc的,主要对那些补丁等不理解<不懂洋文。。),所以想参照大佬你的配置 [doge]

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 准备入lg的那款5k屏,雷电卡用的什么产品啊,能输出独显内容吗,性能会损耗吗?

    校验提示文案

    提交
    技嘉titan ridge,可以输出独显,又不参与计算,怎么可能会有性能损耗

    校验提示文案

    提交
    但这个雷电卡走的是pcie 4,显卡是pcie 16啊。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • nuc8i7hvk路过,什么时候能出傻瓜装机包 [大囧] ,太专业折腾不了

    校验提示文案

    提交
    冥王峡谷不是已经傻瓜化了吗

    校验提示文案

    提交
    感觉有点贵

    校验提示文案

    提交
    收起所有回复
  • 唐兄,我的笔记本m4800是3k屏,一直不能点亮或者分辨率错误刷新率特别低,外接hdmi就正常,有遇到过吗?

    校验提示文案

    提交
    感觉像是DVMT pre-alloc的问题,BIOS能调大吗

    校验提示文案

    提交
    收起所有回复
  • 大佬大佬!什么时候写学习向SP 篇二 [种草]

    校验提示文案

    提交
    我已经全面转向iPad,犹豫种种原因Surface不合我意,令我比较失望,不过其实是通用的,我使用Onenote集成我所有的学习任务,本质上可以互相迁移,我会分享的

    校验提示文案

    提交
    x99这种没有核显的可以使用随航吗?

    校验提示文案

    提交
    收起所有回复
  • 生命在于折腾,啥时写写 AMD ryzen 9 + X570 平台啊?

    校验提示文案

    提交
    Ryzen挺简单的呀,只要把AMD Vanilla的内核补丁添加进Clover就行啦

    校验提示文案

    提交
    谢谢回复,请问 在 open core 和 clover + vanilla 之间怎么选?谢谢

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 大神 如何添加linux引导项

    校验提示文案

    提交
    在scan项中勾选linux和kernel

    校验提示文案

    提交
    收起所有回复
  • 为啥把篇一 虚拟机安装的给删了?

    校验提示文案

    提交
    重新写了一遍,之前用Markdown渲染都出错了

    校验提示文案

    提交
    收起所有回复
  • 您好,经常出现 in memory panic
    PLease go to https//panic.apple.com to report
    实在解决不了

    校验提示文案

    提交
    错误信息在上面,这段话包括上面很长一段都是关于机器的一些信息,没用的

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
2.0K
扫一下,分享更方便,购买更轻松