黑苹果从零开始(黑苹果从入门到精通)

本内容来源于@什么值得买SMZDM.com|作者:唐少游

本来从第三篇开始是基于一台没有任何参考的电脑,逐步逐步从零开始给大家展示黑苹果优化修复过程,可惜在第五篇结束后OC Formula主板损坏了,于是第六篇重新装了一台X99电脑,然而X99有非常详细现成的资料,导致黑苹果一步到位,大家也学不到啥,这次尽量延续第三篇的意图,后续会把每个步骤都详细列出来,这次引导器将基于OpenCore 0.5.6,未来我也不再会回Clover。

BIOS设置

主要就是CFG Lock vt-d FastBoot CSM需要关闭,不过我这块主板的BIOS没有CFG-Lock设置项,我又不想重刷BIOS,所以考虑使用setup_var来修改BIOS不可选项。

经过extract得到CFG Lock信息

黑苹果从零开始(黑苹果从入门到精通)(1)

可以看到默认为Disable,所以省事儿了,不需要做进一步修改。 同理,这个方法还可以对DVMT进行修改。

Clover创建Catalina启动盘

如何创建Clover引导U盘和配置方法已经在篇三中讲过了,没有看过的朋友点下面的链接。

黑苹果从零开始(黑苹果从入门到精通)(2)

黑苹果从入门到精通 篇三:在Intel电脑上安装macOS 10.14 Mojave声明本教程仅用作学习或个人使用,严禁将黑苹果安装作为商业牟利手段,以出售黑苹果安装服务进行交易。个人非常讨厌那些在闲鱼、淘宝上出售黑苹果安装服务的商家,原因有很多:一、安装方法、启动器、驱动程序均非淘宝商家开发;二、淘宝商家安装黑果实际效果很差,仅仅做到能用,而不是好用,各类驱动和DSDT/SSDT唐少游|赞578评论308收藏4k查看详情

下图是我的目录结构,根据我自己的需求调整了Kext,config.plist随手从黑果小兵repo中找的一个,反正都是可以调的,只要知道每一项的功能和可能造成的效果就行了。

黑苹果从零开始(黑苹果从入门到精通)(3)

10.15 Catalina对EC的名称做了规定,很多主板的EC ACPI名称为EC0或H_EC,需要将其改为EC(这种就只有一直关注黑苹果的人才知道了),从DSDT中可以看出,华擎Z170m ITX对应的EC名称为H_EC。

黑苹果从零开始(黑苹果从入门到精通)(4)

所以我们要在ACPI热修复中加入对EC的补丁

黑苹果从零开始(黑苹果从入门到精通)(5)

很多人可能会好奇热修复中的Find和Patch中一串数字是怎么来的,这个实际上是字符串改十六进制,例如H_EC就是485F4543,H对应48,_对应5F即缺失,45对应E,依次类推,尽量四个四个一组,即使EC这样的两个字符后面也要用__填补,所以EC的查找是EC__,Clover Configuration带了这个小工具。

如果你不是用编辑器打开会发现对应十六进制变成了一串奇怪字符串,这是Base64加密后的十六进制数,找个工具翻译过来就行。

除了这个EC补丁外,我还加入了RTC Fix,据说是很多Z390主板会卡apfs_module_start,但是很多教程传的云里雾里的,说华硕华擎微星,我特么蛮久没用Clover了还真不太清楚......

没啥好说的,反正试试又不会死,我是先加入了但没有启用,万一启动真卡了这边儿顺手一开就行了。同理我还加了HDAS to HDEF(音频),HECI to IMEI,GFX0 to IGPU,PEGP to GFX0(这三个都是显卡有关,第二个是核显的修复),这些是根据这块板子的DSDT需要做的针对性的修复,但其实现在很多事情Kext都帮你做好了,所以也没开,如果Kext没起效再开。

哦对了,ACPI设置里不要忘了Plugin Type=1,六代以上开启这个就能启用CPU原生电源管理了。

在Boot-args中我加入了shiki-id=Mac-7BA5B2D9E42DDD94和shikigva=40,这个本质上是仿冒iMacPro1,1实现独显硬解码,因为我贼心不死,虽然6400T核显在Windows下就感觉变频怪怪的,但这不是还能用嘛,所以我选了iMac18,3想搞个核显加速,事实证明我是在想peach。如果你就用独显硬解,没有核显,就直接选iMacPro1,1的SMBIOS就行啦。

另外作为第一次启动,-v keepsyms=1 debug=0x100也是不可或缺的,这样出问题了才有空拍照查资料。

比较诡异的一点是HWP Enable,在我的印象中是要这个开启 plugin type=1才能完整开启变频,但是根据我后面实测的结果,开启这个会导致CPU频率卡死在2.4Ghz不变,虽然负载和功耗都在变,但总归很奇怪,关了就可以正常变频,这个真的有点让我吃惊,我猜测啊(真的是猜的),plugin type=1就足够让几个变频kext正常加载,但是开启这个会让macOS去套系统内相近的CPU变频,如果是6700K这种普通的U应该没啥问题,但是6400T这种最好还是关了这个让主板控制,(如果我记错了这里变频不用开HWP Enable请评论告诉我,但是我真记得是要开的)

黑苹果从零开始(黑苹果从入门到精通)(6)

设备设置这里主要是两个属性注入,声卡和核显加速,框框左边是设备路径,右边是属性注入,我还很有梦想的配置了核显缓冲帧注入,嘿嘿,事实证明不行。

黑苹果从零开始(黑苹果从入门到精通)(7)

很多人看到这里估计要发问了,那怎么才能知道设备路径是多少?注入参数是啥?一般来说设备路径都是比较固定的,大部分主板的声卡就挂在pci(0x1f,0x3)下,不用改,核显也是pci(0x2,0x0)路径

黑苹果从零开始(黑苹果从入门到精通)(8)

如果核显加速就需要一个属性,注入AAPL,ig-platform-id值0x19120001(这个是HD530的headless id值),然后我们需要两个两个一组分成四组,再倒着写,就变成了01001219 ,具体可以查黑果小兵整理的《黑苹果必备:Intel核显platform ID整理及smbios速查表》

如果你是核显输出不是独显输出,那请参考黑果小兵的《教程:利用Hackintool打开第8代核显HDMI/DVI输出的正确姿势》,感谢黑果小兵,整理的很好,照着教程做就行了,很简单。

音频驱动其实很简单,目前都是AppleALC Lilu驱动,得益于网友们不断的贡献,AppleALC已经包含了大部分的声卡芯片布局,我们只需要一个个试layout-id即可,hackintool可以非常方便的完成这个工作,首先找到音频部分,尝试选取一个layout-id

黑苹果从零开始(黑苹果从入门到精通)(9)

然后在菜单栏中点击文件-导出-引导文件config

黑苹果从零开始(黑苹果从入门到精通)(10)

不用担心会覆盖你原有的config,实际上他只是填充了对应的音频属性。具体的layout-id可以查看github上的AppleALC库中的WIKI或打开AppleALC看实际布局情况。如果说很不幸你的声卡没有适配的layout-id,说明需要你自己动手做一个,黑果小兵也做好了具体教程,但是但是!台式机一般是不需要从头做的,基本上看后面是3口还是6口输出都能定下来了,而且很多时候6口输出的声卡布局是可以适配3口输出的,如果你不会看布局,从1试到9一般就行了。

再讲讲引导界面的设置,首先是扫描部分,不要使用自动模式,自定义模式中,Entries是必须要的,除非你还装了Linux,不然Linux也不用勾选,Legacy不要选,不然你会发现有一堆硬盘出现在引导项中,右边隐藏卷可以用来隐藏不需要的Volume,例如Preboot和Recovery,除了名称外还可以通过Volume/Disk UUID来隐藏卷,UUID可以在Clover界面按下F2(好像),preboot.log会保存在misc中(好像),这些隐藏的卷通过F3可以在引导时切换隐藏与否。

黑苹果从零开始(黑苹果从入门到精通)(11)

内核补丁方面也要强调一下,黑苹果小白真的太多了,很多人会拿着-v输出来问我卡这儿了怎么办,然后上来的图长这样(随便找了张图,发现很多人在远景问连图不上,只说卡在in memory panic stackshot succeeded后自动重启,这样鬼知道什么原因导致的)

黑苹果从零开始(黑苹果从入门到精通)(12)

其实上面的信息都是无用的信息,它只是macOS引导在出错后整理加载的相关组件,并打包成log的一种方法,实际上错误输出在这些的上面,所以我们需要勾选PanicNoKextDump!

黑苹果从零开始(黑苹果从入门到精通)(13)

这样输出的结果就可以看到了,例如下图所示,这是我在调试核显加速时的报错,Kernel Extension in backtrace后面才是真正的报错信息,不过这玩意儿输出的信息和C 编译的报错差不多,就算输出了也不一定能理解究竟是什么原因,例如我们可以知道是X86PlatformShim导致的连锁错误,但是这玩意儿是和变频有关的,具体是怎么错又不清楚,只有我这样正巧在调试核显导致才能明白是核显变频出问题了。

黑苹果从零开始(黑苹果从入门到精通)(14)

另外没有定制过USB接口的要添加USB Limit Patch,PMheart出品。

Comment: USB port limit patch #1 10.15.xName: com.apple.iokit.IOUSBHostFamilyFind: 83FB0F0FReplace: 83FB3F0FComment: USB Port limit patch #2 10.15.xName: com.apple.driver.usb.AppleUSBXHCIFind: 83F90F0FReplace: 83F93F0F

至此配置结束,剩下就是不断的调试了。

完善的一些心得

首先肯定是一次点亮进系统了,不过后面完善的时候出现了一些问题,把修复的过程简单说一下。

CPU变频

这个前面就已经提到了,在我的印象中六代以上CPU变频是通过PluginType=1和HWPEnable来实现的,但是在我的测试中发现CPU频率锁死在2.4Ghz,功耗和负载正常,一开始我以为是SMBIOS选取的问题,从iMac18,3切换到了iMac17,1,结果发现没有区别,关闭了HWPEnable后成功变频,原因不详。

独显变频及硬解

对于AMD免驱显卡,加入WhateverGreen即可,硬解需要iMac Pro或者使用仿冒参数。

WIFI蓝牙及网卡驱动

往Kext文件夹扔驱动就行了,看往期文章,但需要注意的是现在蓝牙驱动需要BrcmBluetoothInjector.kext/BrcmFirmwareData.kext/BrcmPatchRAM3.kext三者搭配,篇五驱动方法过时了。

定制USB端口

另开一篇文章吧,这里不想写了,我被催的最多的就是USB定制,马上回头赶出来,真心超级简单,为什么这么多人不会。不要迷信hackintool,它对USB Port的识别可能会出错,最关键的还是要靠IORegistryExplorer。

睡眠唤醒

这个是个比较复杂的问题,牵扯到方方面面,但很多时候和USB有关,例如典型的睡眠秒醒,一般就是USB有Bridge、Hub或者蓝牙没有内建。我这次碰到的比较奇葩,可以正常睡眠并唤醒,但是唤醒后系统卡飞,而且键盘输入有问题,查阅资料得知一般是需要添加VoodooTSCSync.kext修复,这个驱动很老了,上次我用它还是在第一次玩X99的时候(2016年吧),RehabMan出的最新版不需要修改核心数,所有机器都可以用。

蓝牙键盘对码

一个比较实用的小技巧,很多人喜欢用蓝牙键盘,毕竟没有凌乱的线材,希望一把蓝牙键盘能无缝在Windows、macOS甚至Clover BIOS中都能使用,但是很可惜,Clover和BIOS使用需要苹果原装卡,而且还要主板固件支持,退而求其次,双系统使用蓝牙键盘如何实现?

首先需要把这把蓝牙键盘在Windows下进行配对,例如我手头K380支持三台设备,使用1设备连接到Windows,接下来重启到MacOS下,同样使用1设备配对,但是两个系统配对对码方式是不一样的,所以产生的校检码也不同,我们要做的就是把Windows改成和macOS一样。

下载bt.py(后面会给下载链接),这是一个翻译脚本,在Terminal中拖进去执行,会在桌面生成一个btfix文件夹,里面有BTFix.reg,这个就是我们需要添加到Windows的注册表中的文件,拷进U盘,重启进入Windows,但是这块对应的注册表我们是无法修改的,所以需要pstools打开注册表(这个也在后面的网盘里面),在cmd中打开pstool所在文件夹,输入psexec -s -i C:Windowsregedit.exe打开注册表,然后同样用编辑打开BTFix.reg,将对应的注册表区域照着BTFix.reg修改好,重启就完成了。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页