K39小钢炮黑苹果实践

2020-03-09 23:15:12 111点赞 914收藏 67评论

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

BIOS设置

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

无需刷BIOS!使用setup_var命令解锁MSR0xE2锁定,修改dvmt值www.misonsky.cn去看看

经过extract得到CFG Lock信息

K39小钢炮黑苹果实践

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

Clover创建Catalina启动盘

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

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

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

K39小钢炮黑苹果实践

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

K39小钢炮黑苹果实践

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

K39小钢炮黑苹果实践

很多人可能会好奇热修复中的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请评论告诉我,但是我真记得是要开的)

K39小钢炮黑苹果实践

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

K39小钢炮黑苹果实践

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

K39小钢炮黑苹果实践

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

黑苹果必备:Intel核显platformID整理及smbios速查表|黑果小兵的部落阁本文的由来经常有网友进群问某某机型需要注入哪个platform-id才能正确地驱动显卡,每到这个时候,我都需要翻出Clover自带的⁨src⁩ ▸ ⁨edk2⁩ ▸ ⁨Clover⁩ ▸ ⁨rEFIt_UEFI⁩ ▸ ⁨Platform⁩ ▸ gma.c查找显卡参数。于是我就想把它整理出来方便大家查blog.daliansky.net去看看

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

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

K39小钢炮黑苹果实践

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

K39小钢炮黑苹果实践

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

使用AppleALC声卡仿冒驱动AppleHDA的正确姿势|黑果小兵的部落阁大纲,写作中 前言经常给网友仿冒声卡驱动, 一直都没有将过程写下来,鉴于每天会有许多人问如何仿冒声卡,就想将过程记录下来,供大家参考学习 提取codec 通过CLOVER提取codec操作方法:CLOVER v2.4k r4886或者以上,CLOVER下载链接在安装CLOVER时请勾选AudioDeblog.daliansky.net去看看

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

K39小钢炮黑苹果实践

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

K39小钢炮黑苹果实践

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

K39小钢炮黑苹果实践

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

K39小钢炮黑苹果实践

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

Comment: USB port limit patch #1 10.15.x
Name: com.apple.iokit.IOUSBHostFamily
Find: 83FB0F0F
Replace: 83FB3F0F

Comment: USB Port limit patch #2 10.15.x
Name: com.apple.driver.usb.AppleUSBXHCI
Find: 83F90F0F
Replace: 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修改好,重启就完成了。

双系统时间同步

不说了,翻前面文章

下载链接

我把一些常用的黑苹果工具上传到了网盘中,供大家下载使用。百度云链接 提取码w6u1

展开 收起
67评论

  • 精彩
  • 最新
  • 置顶 蓝牙键盘对码是干货!!但链接挂掉了……能私信一下吗?

    校验提示文案

    提交
    s/1QMMoxL44nemYOQoSrSuEbA,补全前面的度盘,提取码还是上面的

    校验提示文案

    提交
    收起所有回复
  • 置顶 前面写错了,本次是基于Clover而非OpenCore,本来是想直接OpenCore一步到位,问题是本来打算注入缓冲帧核显加速,但是OpenCore本人还没尝试过,调试了半天回到Clover先熟悉配置好各个问题再直接套到OpenCore上,文章写完没检查抱歉 [汗]

    校验提示文案

    提交
    2022-12-23,马上三年了,本系列13什么时候更新?

    校验提示文案

    提交
    收起所有回复
  • 既然可以黑苹果,为什么不能黑iphone

    校验提示文案

    提交
    你了解下iphone的cpu比安卓阵型最强的快多少你就知道了,黑了也没用 [喜极而泣]

    校验提示文案

    提交
    iOS是真一点东西没开放,手机又是高度定制化的,macOS基于Unix,而且也是EFI引导…这两个难度差别太大了

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 楼主,我现在整个配置都完全OK了,睡眠啊网络啊蓝牙啊都解决了,现在只有一个问题,我显卡是rx460然后用1080的显示器没问题,换到4k显示器开机跑完第一段进度条之后会全屏闪一下,然后进第二段显示登录。hdmi口和dp口都试过了。远景上的黑屏补丁我都试了,就是不知道啥问题,楼主你有解决思路吗?

    校验提示文案

    提交
    闪一下是非常正常的...因为两段引导过程不一样啊...4K显示器比较需要关注的是苹果LOGO大小,例如开了hidpi后第二段logo变大,这个时候为了舒服起见Clover UI Scale同样要设置2倍,跟黑屏补丁没啥关系,WEG有就不需要这个补丁

    校验提示文案

    提交
    那就没有问题了,两段logo是一样大的,就那闪一下贼难受 [小怒]

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 有个问题想请教一下大佬,我的是AMD3700x+x570+5500XT
    用的OC0.53的EFI,现在有个问题就是使用中如果有几分钟(约3-5分钟>没有键盘或者鼠标的交互输入就会死机,只能重启,一直使用的话没有任何问题, 主动选择sleep的话会无法唤醒, energy saver选项关闭sleep也无法解决上述问题,请问可能是什么方面的问题呢?

    校验提示文案

    提交
    首先睡眠肯定是有问题的,先用hackintool关闭掉睡眠吧,你是在节能里选了显示器关闭阻止睡眠吗?睡眠只能通过pmset设置啊,至于睡眠为什么有问题,这个得看日志,是S3启动不起来还是CPU C State有问题,这些都可能。至于你说不使用3-5分钟就死机,如果不是睡眠设置了3-5分钟,我真找不到原因,如果是睡眠导致的,修好睡眠或者关闭睡眠就行了。

    校验提示文案

    提交
    多谢大神 hackintool在github没找到编译的文档。。 我试了一下在命令行执行sudo caffinate -t [timeout]就不会死了,就是每次开机要执行一下 [期待]

    校验提示文案

    提交
    收起所有回复
  • 适合做黑苹果的笔记本平台有推荐吗?y9000?

    校验提示文案

    提交
    xps 9360,y9000x都可以,这两款用的人多,也比较完美

    校验提示文案

    提交
    楼主我xps9370,外接网卡用,就是风扇会经常转,想用macs fan control来控制也无法修改。是不是无解了

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 如何查看是否硬解成功啊?

    校验提示文案

    提交
    VideoProc可以看硬解

    校验提示文案

    提交
    收起所有回复
  • 菜鸟,不太懂这么折腾去装苹果系统,目的是什么?不如去买一个苹果的电脑好了,嫌贵买二手的,问题也应该不大吧?是因为同样的硬件配置,装苹果系统会比win系统性能更好,还是有软件必须用苹果系统吗?求解

    校验提示文案

    提交
    如果你懂NAS,那么同样有一个镜像问题,为什么有这么多人愿意折腾黑群晖,直接买白群不好吗,嫌贵买二手,问题也不大啊?这个问题很容易解释,用买低配的钱享受顶配的配置,能让人折腾的事无一例外如此,告诉你A4L能通过改装完完全全改成A8,请问你是买非常旧的老A8呢,还是买全新的A4L改装呢?

    校验提示文案

    提交
    至于系统的问题,很简单,我业余做iOS开发的,有时候也写Android和前端,如果Windows下有Xcode两个系统应该对我来说差不多,然而没有,所以macOS是刚需,至于别人,他们的想法我也猜不到。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 请问黑苹果可以装final cut pro吗?

    校验提示文案

    提交
    可以 紫薯布丁

    校验提示文案

    提交
    好的,谢谢

    校验提示文案

    提交
    收起所有回复
  • 老大~ 我也是6400t 不能开启核显还有硬件解码, 可以分享你的efi我试一下么? 我邮箱 doufu88@vip.qq.com。谢谢。帖子那个地址上不去

    校验提示文案

    提交
    6400T A0步进确实进不去macOS,不可以当作headless核显硬解,Windows下是可以用的,mac的驱动注入很蠢,我只能认为es的核显和正式版是不一样的

    校验提示文案

    提交
    收起所有回复
  • 我来个小提示,纠正一下关于ACPI表的EC控制器改名的问题。,其实根据你图示代码是不需要改名为EC的,因为返回值为0,他表示这个设备实际并不生效。以我的经验来看,只有大多数笔记本用EC来管理电池才会涉及到更名问题,台式机不存在这个情况,所以一般都是通过仿冒一个新的EC。所以即使你改名了也是无效的,反而会和你新增的SSDT-EC布丁产生冲突。

    校验提示文案

    提交
  • 稀里糊涂啥也没看懂,牛*就完事了

    校验提示文案

    提交
  • 技术贴,收藏为敬~

    校验提示文案

    提交
  • 支持😁字数补丁

    校验提示文案

    提交
  • 每篇都学到了知识,赞!

    校验提示文案

    提交
  • 太深奥了,关注楼主很久了,这个我是真的看不懂,黑苹果都是花钱安装的

    校验提示文案

    提交
  • 值得买讲黑苹果的文章只服你! [赞] 双系统蓝牙对码真的困扰了很久,所以,兄弟,你的链接挂了

    校验提示文案

    提交
  • 黑苹果从入门到放弃。以前台式机装了 Yosemite 一切完美,笔记本装了 Yosemite Intel 网卡无解,现在直接入了 15 寸 i9 32G 512G ,省事,过一阵换新的 64G 的。

    校验提示文案

    提交
  • 有没有性价比高的成品机器卖啊

    校验提示文案

    提交
  • 你银子有了 [赞一个] [赞一个] [赞一个]

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

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