吃口黑苹果
本文最后更新于 2024年12月23日 晚上
一、引子
实话实说,我无数次地想要装个黑苹果出来玩玩。从变色龙想到 Clover,又从 Clover 想到如今的 OpenCore。
最开始我的 PC 是英伟达显卡,无法正确驱动,后来就装虚拟机凑活着用,最后是在台式机上成功驱动了 i7 的 HD530 集成显卡,终于在桌面上看到了正确的毛玻璃效果。
Windows 的不便
我经常会下载一些影视剧,放到 Emby 里面看,Emby 需要严格且规律的命名才能识别这些影视剧。MacOS 的重命名功能可以很方便地改名字。
虽然说 Windows 上也有 ReNamer 之类的软件可以批量重命名,但总归还是不方便。
MacOS 的刚需
对于有些工业软件,Win 自然是不得不用的,对于 Mac 来说同样,但这个软件各位可能意想不到:Downie
这个是用来下载视频的工具,可以下载几乎任何你能在网页上看到的视频,而不仅仅是 Youtube 和 Bilibili,对于软件配置未提及的网站,还可以通过软件内手动提取的方式找到直链下载(早期互联网我就是用 F12 下载视频的)。而且这个软件在其他任何平台都没有替代品,像 You-get,或者是 IDM,在便捷性普适性上都比不过 Downie。
另外有些小设计也比较好,日常使用如果用 MacOS 的话会更方便一些。
二、须知
使用建议
- 不要在黑苹果上登陆自己的 Apple ID,如果实在需要,注册个单独的账号。黑苹果有风险,可能导致账号封禁。万一序列号和别人撞上,且苹果出 Bug,就可能导致数据泄漏,虽然这种概率很低很低。
- 可以登陆其他的账号,正常使用即可。
工具
软件 | 用途 |
---|---|
OpenCore | 实际的引导底层,无需单独下载 |
Radpid EFI | 简便的 OC 引导配置制作工具 |
ProperTree | plist 编辑工具,添加 kext 条目用 |
Hackintool | 生成序列号;挂载 EFI 分区 |
OpenCore Configurator (OCC) | 编辑 EFI |
安装步骤
每一步都应测试正常后再进行下一步
- Radpid EFI 制作 EFI
- 加入上一步不包括但又需要的 kext,并用 ProperTree 写入 plist
- 利用 双移动介质方法,制作引导盘和“可引导安装器”。
- 安装系统
- Hackintool 生成序列号,OCC 写入 plist
- Hackintool 挂载 EFI,操作无介质启动
三、安装
1. Radpid EFI
选好配置制作即可,可以先不管他自动生成的序列号,能成功进入后再修改序列号。
台式机 和 迷你主机
这个是说安装的设备是什么类型,选择以后,在下面会有对应的能够模拟的设备,所以有时候选了迷你主机下面出来 iMac 的选项并不奇怪。根据 OC 的官方说明,台式机和迷你主机有一些差别,主要是移动硬件和台式机硬件的区别。
比方说同样 i7 6700 的电脑,选台式机和迷你主机都有一个 iMac17,1 的设备可以模拟,但他们在硬件上或许有细微差别,配置上或许也略有不同。
⚠️注意:品牌台式机,采用的可能也是移动硬件,如果遇到问题,可以改改台式机和迷你主机这种机型试一下。
声卡,ALC 布局
记得在声卡这里点进去选具体的型号和布局。
这个配置需要试错,比如 ALC662 这个声卡,他的布局有 5,7,11……需要反复测试哪个能用。
不能用的表现可能有:
- QuickTime 报错(-101)
- 第三方播放器点开视频就暂停或者无法播放。
- 可以预览图片,不能预览视频
值得注意的是,QuickTime 点开视频后正常情况下就是暂停的,需要手动点击播放,所以测试视频播放需要用如 IINA 这种第三方播放器。
ALC 测试方法
不需要用 Rapid EFI 反复生成,只需要用它确认一下这个型号下有几个布局代码
只需用 OCC 修改 plist 里的 NVRAM 中 UUID 的某项里的 boot-args,最后有个 “alcid=_”
根据之前获得的布局代码,修改测试即可。推荐先测试 11 之内的数字。
2. ProperTree
不建议手动修改
在 kext 文件夹内添加内核扩展后,需要在 plist 里添加对应条目才可以引用。
这时候使用 ProperTree 点开状态栏的“文件”有两种操作选择:
方法 | 具体作用 |
---|---|
1. OC snapshot | 仅在 plist 中新增未引用的内容 |
2. OC clean snapshot | 清空 plist,重新引用全部存在的文件 |
推荐第一种方法,可以最小限度的修改;第二种办法可能会会污染 plist,修改顺序之类的,比较显而易见的变化是他会给文件添加”commit”(注释),对于已经可以用的配置,最好还是做最小限度的修改。
引导盘
引导盘的几种制作方法(推荐双介质安装)
只用 Win 的方法
用 Windows 通过 OC 中的 macrecovery.py 下载 Base System 然后直接放入移动介质,再放入 EFI。
这种方式下载的系统,是 Base System,正如其名,它是基础系统,就是白苹果按住 Option 后进入的那个 recovery mode。因此这种方式需要联网才能安装,时间较久。
双移动介质方法(推荐)
使用 OC 引导启动,通过 Mac 用官方方法制作的“可引导安装器”安装(推荐)
- 先按照 OC 的要求格式化 U 盘,再把做好的 EFI 直接放入。
- 通过 Apple 官方方法,用另一个 U 盘做一个能供白苹果使用的“可引导安装器”。
⚠️注意:这种方式不需要下载 Base System
![]() |
OC 的要求:使用 Rufus 照图设置即可 但最下面的文件系统,只有 32GB 以上的介质才会出现 Large |
---|
放置常用工具(可选)
可以在根目录放 macOS 常用的应用程序,和 /EFI 同级
推荐放 ”Hackintool” ”OpenCore Configurator” ”IINA”。
安装系统
用“可引导安装器”安装
插入两个 U 盘,通过含有 OC 的 U 盘启动,这时可以看到 OC 的界面,选择“可引导安装器”,这样即可本地安装。
可以理解为,进入 OC 的选择菜单,就已经进入了模拟的苹果环境,所以可以使用针对白苹果制作的安装器。
重启流程
启动 OC 选择“可引导安装器”进行安装
第一次重启
OC 会自动选择”Installer”,继续安装。
一方面是 macOS 安装会自己修改启动项,另一方面 OC 可以识别这个修改并应用。
第二次重启
“可引导安装器”选项甚至会消失(这个现象也许在白苹果中可以复现),但选择的也是”Installer”。
第三次重启
只显示一个安装的硬盘
第四次重启
显示苹果进度条,然后跑代码重启
第五次重启
选择安装盘,跑代码重启
第六次重启
显示苹果进度条,进入系统
刚进入可能会显示一个看起来像显卡没驱动成功的单纯颜色背景
3. 序列号
Hackintool 生成序列号,OCC 写入 plist
SMBIOS ID
机型对应的一串数字,选一个和自己配置相近的,这是下面几个序列号的基础。
如:iMac17,1
三码是什么
MLB | Main Logic Board serial number | 主逻辑板序列号 |
---|---|---|
SN | System Serial Number | 系统序列号 |
SystemUUID | System Universally Unique Identifier | 系统通用唯一识别码 |
这三个需要对应上面的 SMBIOS ID 才行。
生成并验证
可以使用 Hackintool 根据机型生成。去 Apple 的验证界面会有三种结果:
无效 | 在使用的设备 | 未激活的设备 |
---|---|---|
可以用 | 不能用 | 可以用但不建议 |
这些设置得当的话,配合较好驱动的硬件,可以开启如 AirDrop 等功能。但仅需求 Mac 系统的话不建议在三码上折腾,用个无效的就行。
部件号 / Part No.
这个东西不是单独设置的,它包含在 SN 的信息内,在 everymac.com 上查 SN 可以看到对应的部件号,以此判断国家地区。但是,如果我们用的是在 Apple 查询后发现无效的 SN,那自然查不到部件号,也就是说,用“无效 SN”的话,实际上没有部件号的信息。
和别人撞了会怎样
不登陆 ID,不去网站上查序列号,你甚至都不会发现撞序列号。
登陆了 ID 的话,会弹框让你输密码重新登陆。
至于会不会出现自己的设备加到了别人的 ID 下,或者反过来,甚至别人的短信直接同步过来,我认为是不会的,除非苹果出 Bug。因为虽然说序列号相同,但苹果大概也有别的手段识别唯一的设备(硬件码之类的),而且这些互通和账号,都是两边握手同意才可以。
比方说
A设备(白苹果) | B设备(黑苹果) |
---|---|
aabb序列号 | aabb序列号 |
1账号 | 2账号 |
黑苹果先登陆了 2 账号,然后过几天白苹果被激活并登陆了 1 账号,这时,苹果采用某种手段辨识出了 B 是黑苹果(其实这很容易,苹果完全有手段一键封禁所有黑苹果,目前来看不可能百分百完美),所以 AB 可能都需要重新登陆 ID(并不是苹果请求你登陆,而是他发现异常后把 1 2 都踢下线,请求输入密码登陆的是 A B 两台设备本身),A 登陆后正常,但 B 的相关 iCloud 服务会被禁用,AB 都可以看到自己 ID 下有这台设备,A 不需要操作,B 如果想正常使用,必须更换序列号。
4. 无引导介质启动
Hackintool 挂载 EFI,操作无介质启动
原理和用 Mac 制作引导盘差不多,在装好系统后,系统盘实际上有几个分区,其中包括一个 EFI 分区,里面写的是白苹果的引导文件。
- 进入 Hackintool 的“磁盘”页签,挂载 EFI 分区。
- 把 EFI 分区里的东西删掉,替换成引导介质里的 EFI 文件即可。
- 还可以专门针对这个盘里的 OC 做一个特殊设置,
用 OpenCore Configurator 把 boot-args 最前面的 “-v” 参数去掉,就不会在开机过程跑代码了。
5. Q&A
Q:蓝牙重启断连
A:添加 BrcmPatchRAM 项目中的几个 kext
BlueToolFixup.kext
BrcmPatchRAM3.kext
BrcmFirmwareData.kext
Q:睡眠一觉不醒
A:添加 HibernationFixup.kext