注意事项
- 注意分清,本文针对 cpu 型号 5600G,不是显卡 5600。 AMD 这块命名是很奇怪的。
- 注意 amd 黑苹果+sonoma没法使用主流的任何虚拟软件,比如 parallel desktop(包括老的13.1), virtual box, vmware 等等。如果虚拟化是你的强需求,可以换老点的 os 一个个试。要是希望使用 sonoma,不要往下看了。
上一次折腾黑苹果还是上一次,那个时候用变色龙在 thinkpad t420 上玩的黑苹果,当时就记得问题很多,折腾dsdt费老劲,触摸板、睡眠、亮度调节能不能用都是玄学,笔记本还特别烫手,所以装完了没几天,新鲜劲过去了,也就删了。
现在有个小需求要用一下 mac 系统,所以决定再搞一次黑苹果。虽然我对黑苹果的麻烦有思想准备,但是实际操作下来,还是觉得折腾得很。一是黑苹果本身就是要面对多种多样的硬件,基本没有现成能用的东西;另外是黑苹果玩家大部分仍然是玄学大师,这么多年,少见经验传承,每次拿一台新机器,大概率都要重新搞,这谁受得了。
闲话少说。本文不是从 0 到 1 的教程,只是记录几个关键的参数的作用,以及提供一些定位的思路,给同机型的同学一些参考。
cpu | amd ryzen r5 5600G |
---|---|
主板 | 微星B350M |
网卡 | 忘记了,板载的 |
显卡 | 没有独立显卡 |
声卡 | 板载,忘记了,不重要 |
首先 EFI 怎么搞
建议先找别人的 EFI 大胆用
虽然搞黑苹果很重要的一个原则是,尽量不要使用别人的EFI,驱动越少越好好定位问题,但是这么多年没有搞了,早就忘得一干二净了,所以我决定找别人的EFI,open core 的作者也说了,如果 cpu 支持,主板大概率就是没问题的,有这样一个前提,其实我就可以大胆去找别人相似 CPU 的 EFI,忽略网卡、主板什么的干扰因素。
找到别人的 EFI 之后,虽然很可能不能用,但是可以看他们用了什么 kext 也就是驱动,记下来,自己后面不用再趟坑。
我就是找了一个 5700G B450M (我自己是 5600g b350m)的 EFI,自己也就改了改三码,映射了下usb,内建了网卡硬盘,改了下cpu核心数,之后没改什么,遇到问题定位问题就行,icloud, imessenger, 休眠等等功能全部OK,省了太多功夫,得到的是人家整理好的驱动和基本可用的设置,比如 innie.kext(nvme改内置的,现在可能已经没用了,见下文常见操作5) amdtscsync.kext,这种你自己根本想不到会有这种问题。
自己从 0 做
如果是打算自己从 0 写,那么 open core 下载的包里面 docs 文件夹下就有示例 plist 文件。
然后是镜像
open core 的文档用的是苹果恢复镜像的方式,这种方式在安装的时候还会联网下载完整 os 文件,无疑增加了一些不确定性。
可以自己做镜像,但是建议仍然用别人做好的镜像。如果一个镜像很多人在用,也没什么问题,在乎他在里面装 pe 或者分几个区干嘛,也不用去学怎么做的,其实没什么技术含量。
bing 搜索 sonoma 14.5 引导镜像
下载即可。
至于刻录那些网上教程非常多,基本都是正确的。
关于 BIOS 的设置
Option | Status | 微星B350M迫击炮钛金主板有没有这个设置 |
---|---|---|
SATA Mode | AHCI | 有 |
Above 4G Decoding | Enabled | 有 |
EHCI/XHCI Hand-off | Enabled | 有 |
SVM | Enabled | 有 |
CSM | Disabled | 有 |
Secure Boot | Disabled | 有 |
Serial Port | Disabled | 有 |
Parallel Port | Disabled | 有 |
因为拍照也不好看,就直接写吧。为了在b350m上跑5600G,我的B350m主板是更新了最新bios的,不是那个click os。这些配置和你们的名称,以及位置,可能就完全不一样了。注意以上配置必须全部按照要求修改。
- BIOS 中的 Above 4G Decoding 必须要开启,开了这个启动参数中不能有 npci=0x2000。另外 要修改它需要更改它旁边的另一个 resizable bar 设置,具体名字忘了,这个设置其实开或者关都可以,据 oc 作者说是开了能稍微提升一些性能, 还需要在 plist 里面改一个配置 Booter -> Quirks -> ResizeAppleGpuBars 为 0。
- secure boot 必须关闭,不然会遇到启动时选择操作系统超时的问题:Choose the operating system: timeout
- oc 文档还提到要关闭 fastboot,但是 B350m 的主板没有此选项,只在超频里面找到了 memory fast boot,给它关了。
遇到的几个问题,EFI 的几处修改,以及为什么修改
安装过程中无限重启
misc-security-SecureBootModel 要设置为 disabled 这个选项在此有说明,你可以选择 disabled,或者按照作者的教程一点点趟。
表现是:安装无限重启,盘符一直是 MacOS Installer。
安装后找不到苹果系统盘,无法引导
这在 oc 文档里面说的很清楚,几种看不到mac分区的解决办法。
我再补充一点玄学的一点:
当我没有删除干净 windows 的引导分区的时候,我确实遇到了这个问题。我把 windows 系统盘整块盘抹除之后,该问题就消失了。而后来我在同一块硬盘上安装双系统却没有此问题,可能是哪里变量没控制好。
第二次安装卡在剩余少于1分钟
网上说什么的都有,但是我仔细回想了自己安装第一次的场景,当时刚进系统, 上不去网(其实是我碰掉网线了),我还以为网卡驱动有问题。于是等了一会之后,我果断重启, 拔网线安装,很顺利就安装完成了,后来在安装双系统的时候我故意测试了一下,还是这样的结论。 所以安装过程中还是断网吧。
安装双系统的分区问题
安装系统的时候,diskutility,也就是那个分区软件,很傻。在图形界面可能会出现
- 一个硬盘上两段连续的未使用空间被另一个硬盘隔开,导致无法合并
- 扫描不出来未分配空间 这样的搞笑行为。
所以此时就需要命令行了,苹果这一点值得 linux 和 windows 学期,它自己出品的命令行工具,使用说明非常的好用,你不需要看任何文档,不需要上网搜索,就可以完成大部分操作:
1## 列出所有磁盘和分区
2diskutil list
3## 抹掉整个硬盘,可以解决上面的问题1
4diskutil erasedisk 格式 要起什么新名称 硬盘名称
5## 使用未分配空间,创建一个新分区,可以解决上面的问题2
6diskutil addPartition 哪个硬盘 什么格式 什么卷名 大小
7## 如下面这条命令就是使用未分配空间添加一个 apple extended journal 格式的分区
8diskutil addPartition disk2 %Apple_APFS% %noformat% 0
不用在意格式,执行完了后,界面能看到分区了,可以再改啊。
icloud 的登录问题
当你登录 appstore 和 icloud 时出现 无法联系服务器
时,有两件事必须要做:
- 内建你的网卡 使用 hackintool 拷贝你的网卡 device path 粘贴到 EFI plist 里面的 DP 中,具体参考下面常用配置5-nvme外置改为内置步骤
- 检查你的三码 这个网上教程很多,黑苹果能装到这一步的基本都不会在这里出问题。另外序列号一定要在苹果官网检查,因为各种工具生成的序列号,其实随机到别人正在用的序列号概率是不小的,因为我自己就碰到了一次。
EFI 地址
记得随机生成一下三码,不要直接使用这个 EFI 里面的三码,否则你的 apple id 一定会被封号。
https://krnue5wdel.feishu.cn/file/NkRHbDtwEoZMbjxCq9ucMAIrnbd?from=from_copylink
一些常用配置
鼠标滚动方向
改键 不借助其他改键软件,轻量改一下。将无用的大写键改成高频使用的 command。
放开安装来源,否则一些dmg打开会显示映像损坏
1sudo spctl --master-disable
一些放开 amd 限制的脚本 如 ryzen_patch.sh
adobe_patch.sh
adobe_patch_legacy.sh
以上文件均可在 ryzen-hackintosh 中找到。在我提供的 EFI 压缩包中也有,但是不一定是最新的。
- nvme 外置改为内置
我的 EFI 中 DP 中有一个 pci 设备的条目,这个就是将 nvme 硬盘改成内置类型,也就是在访达中没有弹出按钮的类型。
但是这个每个人都不一样,你可以参照如下步骤添加条目。
11. hackintool(我在用v4.0.3) 中上部分菜单 PCIe 找到类型为 Mass storage controller 的 nvme 硬盘 22. 右键 copy device path 33. 在 ocauxiliary tools 的 DP 中粘贴一个条目 44. 在右侧添加值,key为 built-in, 类型选择 data,值写 01
- ntfs 支持
注意,千万不要使用 github 上面那个 ntfstool。这是个假开源软件,你甚至能在app store搜到它,给你7天试用时间,到期要给武汉一家公司付费,但是你在任何地方都只能看到它声称自己是免费软件。它会将你的ntfs格式修改为它自己重命名的格式,这样做是为了防止你使用其它 ntfs 驱动,真的流氓,有小白不懂的只能格式化磁盘,面临数据全部丢失的悲剧,github上的issue你可以自己去看。如果你不慎安装了它,执行以下命令删除它的驱动。
1sudo rm -rf /Library/Extensions/ntfstool.kext 2sudo rm -rf /Library/Filesystems/ntfstool.fs
以前苹果乐园什么的网站都没了,很多网站现在都收费。所以推荐一个网站,https://macked.app,ntfs的软件在这里下。