定制你的黑苹果
Posted 新青年TALKS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定制你的黑苹果相关的知识,希望对你有一定的参考价值。
我在18年开始接触黑苹果,但当时基本靠抄作业,最近又开始折腾,了解原理自己打补丁是真的快乐。目前我的笔记本已经接近完美黑苹果。桌面如下:
我的配置如下:
型号:联想M41-80(i7版,15年产,16年上大学买的)
CPU:i7-6500u
集显:intel HD 520
独显:AMD R7 m360(但黑苹果无法驱动,无解)
内存:海力士DDR3 4GB*2
无线网卡:intel的某个型号,反正黑苹果无解
本篇文章的主要内容:
当然,如果你的配置和我类似(主要看cpu与集显),可以直接抄作业,我的EFI文件会放在文章末尾。但在此之前希望你可以了解一点安装和基本常识。
我的黑苹果目前已经基本完善,包括睡眠唤醒、亮度调节、显卡驱动等,可登icloud,imessage与appstore使用正常。
在开始安装前,我想给几点建议:
MACOS的体验固然很棒,但如果电脑本身硬件(例如触摸板、键盘)不好,其实体验也会大打折扣。有条件的建议直接白苹果。
笔记本除非和我一样穷,否则最好自己配一台主机装黑苹果,这是最划算的方式。
即使你比我还穷,也不要尝试在机械硬盘上安装黑苹果,因为体验会直接砍半。
比起十年前,无论是技术还是搜索方式都有很大提升,装上黑苹果并不是多厉害的事,只要有一定信息检索以及动手能力,都能吃上黑苹果。amd cpu可能除外。
如果你有MAC环境,无论是黑苹果还是白苹果还是虚拟机,安装黑苹果的调试部分会快很多。一台电脑也不是不可以,只是比较耗时间。
请准备2-3个8G以上内存的U盘。(1个Windows安装U盘,1个MAC安装U盘,可以再选1个PE盘),如果有自信,一个U盘也可以。
关于这篇文章的一些说明:
因为机型和配置都不一样,我因为穷没办法提供每种显卡、cpu型号的解决办法,具体可自己搜索(能科学上网最好使用谷歌)。
因为我的电脑已经装成单系统,没有windows,所以Windows下一些操作的截图只能网上借。
这篇教程默认你会装Windows,有一点计算机基础。
big sur版本已经发布,经测试,比较稳定,但有些小bug所以我又回退到10.15.7,发图为证:
big sur的一些控制器规则有修改,5125以下的clover版本无法引导,本文clover配置文件不适用big sur,推荐转成opencore引导。但是clover提取原始DSDT是最好的方式,而打过补丁的DSDT无论是什么版本、什么引导文件理论上均适用,因此,clover在Catalina下的配置与DSDT补丁方式还是得了解,oc引导在big sur的下个版本更新时我会再更新。
下面正文开始。
一、单/双系统安装方法:
单系统和双系统安装方法前面都是类似的,只有最后的硬盘引导部分略有不同。
2.使用windows自带的分区系统进行分区。(也可以使用DG)
右击左下角win标==>磁盘管理==>右击有空余空间的分区==>压缩卷
分出多少空间根据自身情况定。
如果是要装单系统,请直接上DG把磁盘全格式化,然后电脑会蓝屏,直接开机装就完事。
3.镜像烧录
下载etcher,打开镜像,选择U盘,点击Flash即可。Windows10需要以管理员权限运行
4.u盘启动后,可以看到类似下面类似的界面
选择install catalina的选项。就开始安装了。
5. 硬盘引导
复制u盘内EFI/CLOVER文件夹到硬盘内。
6. 其中抹盘的一些操作不想赘述,百度和B站一堆教程,因为能进MAC实用工具就已经成功了一大半,而真实情况是:你可能半个月都见不到开机的苹果图标。
抹盘推荐格式:macos扩展(日志式),guid分区表。
本篇教程主要针对跑码错误和驱动问题进行解决。
二、常见问题及解决
我们初期目的以能装上系统并开机为目的,后面驱动和显卡问题再调。
1.卡加号
首先应该了解.efi和.kext的区别,.efi是保证开机,.kext是驱动系统能正常使用。所以一半卡代码的原因和.efi文件与config.plist文件配置有关。
卡加号只要在drivers文件内加入AptioMemoryFix-64.efi,删除3D/2D的那个文件。
也可能是config文件内没有勾选内核电源
2. ACPI Error
基本上所有ACPI开头的错误都和这些有关:
有可能是使用的别人的EFI文件,勾选了不必要的选项或者打了不必要的补丁。
建议全部清空,再看有什么错误,缺什么加什么。
3. 卡APFS
修改EC名,大部分电脑可能都需要这个补丁。
ACPI更名补丁选择补丁列表即可,如下:
4. 卡acpi sleep states s3 s4 s5
这个问题一般出现在无脑使用他人EFI文件的情况下,网上的解决方法也都是让你换EFI,但其实最开始自己配置以极简、能开机为主,就不会出现这种情况。所以请先取消所有acpi选项卡内的勾选。
5. 跑完代码直接重启,或卡在reboot字样
基本是显卡驱动问题,建议在第一次配置时,id注入为0x12345678。缓冲帧补丁以及驱动见下方驱动部分的内容。
因为我碰到的错误有限,并且同一个问题解决方式可能不同,没办法涵盖所有情况,如果你找遍整个互联网都没解决,可以私信我。万一我知道怎么办呢?
三、驱动部分
1.显卡驱动
在我提供的工具包内打开hackintool。
选择你的cpu架构与平台ID,如果不知道的请移步到度娘。
勾选通用选项卡中的子项
高级选项卡中的子项勾选
如果bios有DVMT分配选项,这里不用勾选,去bios中设置
请勾选音频声卡部分,为下面声卡驱动做准备
最后点击生成补丁
对每个选项不明白的可以鼠标放在子项上会有说明
导出补丁
直接导出覆盖掉原有的config文件,这种方式是无损的。
这是最终结果,左边是父项表示接口路径,第一个是声卡,第二个是显卡
右边是子项,之前勾选的项目都在这里
现在核显已经驱动重启即可
重启前请替换clover64.efi与BOOTX64.efi文件,之前我好几次打上补丁后就无限重启,更换文件就好了。
2. 声卡驱动
使用驱动:AppleALC.kext
尽管voodooHDA.kext是万能的,省心又省力,但是会出现各种奇奇怪怪的问题,请不到万不得已不要使用。我为了让使用我的EFI的能正常驱动声卡,使用的是voodooHDA,请删除voodooHDA.kext和AppleHDADisabler.kext文件,按以下步骤重新驱动。
首先你需要知道你的声卡型号,可在Windows下查看;或者linux中提取codec文件,文件中的id是芯片型号不会出错。
可能一个型号的声卡对应多个不同的id,需要你自己慢慢试
你需要测试扬声器、麦克风,以及耳机声音与麦克风
找到id需要转换成十六进制填入下图处:
进制转换可以使用hackintool的计算器,转化后填入只要填前两位,不足两位的前面补个0,比如我的id是16,那么layou-id就是:10000000 ;如果你的id是15,那layout-id就是:0F000000。
每次重启后进行测试。
3.键盘驱动|触摸板驱动
直接使用VoodooPS2Controller.kext即可。
4. 其他基本不需要配置即可驱动,可参考我的驱动:
红色标签的驱动是必备驱动
黄色标签是需要定制的驱动
如果你发现浏览器的网页很卡,可能就是缺少SMC的某个子项驱动
USB驱动定制请参见黑果小兵的教程[1],讲的非常详细,因为这一步很重要,直接影响到是否能完美睡眠。
cpu变频对我的电脑来说好像有没有都一样,还挺鸡肋的,定制方法也很简单,请滑到文章末尾参考某个大佬的教程[2]
四、DSDT补丁
起初我苦苦钻研DSDT如何打补丁,但我发现类似EC更名、原生电源管理、亮度调节这种基本的补丁在OC的官方引导文档里就有!!!根本不需要你一个个去修改。
只是网站为英语,可能对部分人不太友好,但比起撸代码要舒服的多,而且迟早是需要转OC的,不如先熟悉熟悉。
说明:
EC更名的SSDT补丁在使用前请在config文件中的ACPI => 补丁列表 删除里面所有的关于EC的布丁
比起clover的静态补丁,更推荐使用SSDT动态补丁的方式
五、补充
但是,不幸的是影响睡眠唤醒的问题千千万万,这种补丁还是需要自己打,而且找出无法睡眠的根本原因可能都得花上很多时间,如果对睡眠没有需求,可以忽略此节内容。
使用到的工具:iasl(反编译工具),macIASL(打补丁工具)
工具在我文末分享的工具包内
1.提取DSDT
clover引导的,可以在界面系统选择的时按F4,开机后会在clover/ACPI/origin文件下生成本机原始DSDT,可以复制一份,因为以后可能会用到。
2. 联合反编译.aml文件
请删除所有不是DSDT、SSDT开头的文件
请删除所有SSDT-x 开头的文件
打开终端
cd到origin文件所在目录
将iasl拖入终端,会自动出现这个文件的路径
将 -da -dl *.aml 复制到路径后面,回车
示例:
结果:
新出现的.dsl文件就是反编译的结果。对于睡眠问题的补丁来说,只需要DSDT.dsl文件。
3. 检查.dsl文件语法错误
用macISAL打开DSDT.dsl文件
点击编译,如图所示:
这个错误的意思应该是,返回了未知的变量名。我们直接删除即可。
4.根据睡眠唤醒故障原因打上合适补丁[3]
此处以我的电脑为例,原声电源管理、cpu变频、usb定制均完美,但睡眠会一睡即醒。所以你需要自己查看自己电脑的唤醒原因再找对策。原因查找可在终端输入以下命令:
log show --last 1d | grep -i "Wake reason"
我的原因是因为USB端口唤醒的,即使全部改为内建都不行,爬贴找到需要打上USB_PRW的补丁,macIASL内置rehabman的补丁源,直接点击补丁源:
选择补丁后应用,然后将新的.dsl文件编译成.aml文件。
最后放入patched文件中即可。
六、工具获取
七、结尾
本篇教程重点放在了后续的驱动以及前期常见卡代码的解决方式上,类似smbios的设置、CFGlock的解锁、clover其他配置项,都没有详细介绍,因为迟早要转oc,clover只是让你有配置的基础,知道具体都是些什么意思。
后续我会再出一次opencore引导的配置教程。
随着M1芯片的发布,黑苹果也许再过两年就不复存在,但也不一定,只是难度和成本会增加,我也是才抓住这个尾巴将黑苹果这些东西摸透了一半,我想我的乐趣不在于MacOS的体验,而在于解决问题的体验。
参考
^黑果小兵usb定制 https://blog.daliansky.net/Intel-FB-Patcher-USB-Custom-Video.html
^cpu变频教程 https://change-y.github.io/2018/04/30/%E5%88%A9%E7%94%A8CPUFriend-kext%E5%AE%9E%E7%8E%B0%E5%8F%98%E9%A2%91/
^DSDT指南 https://www.kancloud.cn/chandler/mac_os/482278
以上是关于定制你的黑苹果的主要内容,如果未能解决你的问题,请参考以下文章