关于MacOS Monterey Ventura Sonoma Sequoia Tahoe的非MAC机型安装黑苹果日志

引言

关于在非MAC机器上使用MacOS,其实前面的诸多文章已经给出了很多基于VMWarer的解决方案,关于文章,本站已有详细记录。


在Tahoe中,根据Apple的系统更新方案,在放弃对不可支持设备的支持后,系统中不再集成对于旧机器的硬件驱动程序,而Tahoe已成为最后一代支持X86处理器的机器的MacOS,理论上来说,除非有新的通过X86处理器模拟Apple Silicon的补丁程序问世,否则Tahoe将成为最后一代黑苹果系统。

这里我尝试了两代,包括Monterey和Sonoma,Sonoma方案算是应用层面最为优选的方案,毕竟针对于AppleID的兼容还是在的,在较久的Montery系统AppleID似乎已经没法正常用了,不排除是因为高级数据保护导致的旧版本OS不支持的问题,所以在低难度技术路线下,Monterey是最方便的方案,如果你有高级需求,则建议至少在Vnetura及以上,推荐Sonoma或Sequioa,乃至于Tahoe.

但是目前建议在支持AMD独立显示卡的设备中使用Tahoe,但是,该显示卡最好不要超过RX6000系类,不然系统也不认识设备。针对于iGPU的支持,目前似乎7000系APU已经得到支持,可以驱动内部显卡,针对于VEGA家族的iGPU,全系支持。

先来说一下最基本的设备配置吧,即便这是一个失败的过往日志,但是我也需要记录一下,针对于入门和部分错误排查,可能依旧存在一些价值。

测试设备表单

设备名Lenovo Legion R7000P 2021 82JU支持
CPUAMD Ryzen 7 5800H 8 Core支持
dGPUNvidia RTX 3060 Laptop不支持
iGPUAMD Radeon Vega 8/7(不确定,应该是Vega8)支持
有线网卡Realtek 千兆有线网卡支持
无线网卡联发科MTK 7921不支持
声卡ALC287支持
内存金士顿DDR4 2*8G支持
磁盘1海力士HFS512G不建议
磁盘2致态Tiplus 7100 1TB建议

针对于MacOS支持的硬件设备通用表

硬件设备硬件型号兼容
CPU10代Intel酷睿处理器
AMD Ryzen锐龙处理器
AMD 2-7系APU
GPUNvidia RTX 10系及以下独立显卡
AMD RX6000系及以下独立显卡
AMD Vega全系核显
Intel移动端10代酷睿HD系列核显
内存不低于8GB,DDR版本345都可以
磁盘除三星、海力士以及使用英韧主控的所有国产SSD以及使用SATA接口的设备
网卡针对于Sonoma及以前的版本推荐博通系列无线网卡
针对Sonoma之后的版本,推荐Intel系列网卡,如AX210

基本知识准备

黑苹果是一种黑客行为,其的运行是侵犯Apple公司版权的,但是苹果对这类行为并不加以管理,这点就和Windows一样,但是由于MacOS挑剔的硬件条件,Mac即便可以用盗版也势必十分困难,所以仅针对有这个心的人玩一下即可,别在公司用,会吃律师函的。部分设备在运行MACOS后,如果硬件设备,尤其是GPU设备支持,其确实可以成为一台生产力设备,代码编辑与视频剪辑都是可以用的,即便是使用核显的设备,依旧可以完成基本的代码编辑工作以及使用MACOS看视频,等轻度日常办公娱乐,也算是可用状态,调试的不错其功耗是低于Windows的,但是这里说实话,如果从降低功耗又保持轻度娱乐和办公能力的角度出发,为什么不妨试试更为简单的Linux呢?安装一台Linux可比MacOS简单的多得多得多。

处理器

有趣的是MacOS对处理器并不是很挑剔,几乎大部分的Intel和AMD处理器都能够运行它,处理器支持,那么后边的操作就好搞很多,针对不同的处理器平台,有不同的内核驱动方案。

显示卡

Apple在2016年左右跟老黄掰了之后,Mac便不再支持英伟达系列显卡,但是我们依旧可以通过提取旧驱动的方式在一些比较新的系统中重新驱动这些受支持的英伟达显卡,因此,低于10系列的英伟达显卡都在可驱动序列之内。说起来之前拆过一台老MAC,其确实是N卡

无线网卡

MAC的无线网卡在旧机器上使用的是博通网卡,在使用博通网卡的机器还未被完全淘汰的时代,博通网卡是黑苹果最佳网卡,插上即用无缝体验MAC提供的各种功能,但是随着搭载博通网卡的机器停止支持,博通网卡驱动也被苹果从系统移除,所以现在主流网卡是英特尔的网卡,经过补丁之后可以使用隔空投送等功能。

磁盘

磁盘设备详见表格,除了三星和海力士,这两个的主控MAC玩不转,强行用出BUG装不上是小问题,给磁盘干炸了就是大问题了。其他的固态硬盘都没啥问题,国产的英韧主控有问题,联芸的一般都支持。

内存

条子随便,别太小就阔以。

引导

目前的主流引导方案是OPENCORE引导方案,这是目前最活跃的黑苹果引导方案社区。

引导文件制作必备软件

在机器启动的时候,BIOS会根据引导顺序启动系统,如果WINDOWS在第一位就启动WINDOWS,或者Ubuntu在第一位就启动Linux,同样的MacOS同样拥有引导,这个引导文件需要我们自行制作。

如果你早玩几年,当时的OPENCORE引导文件都是要你手动添加的,比较麻烦,更折腾,现在我们有了更快捷的开源工具

OpenCoreSimplify

这款工具能够基于设备状态快速生成一个针对于你设备配置的EFI引导文件,当然这个引导文件一般来说并不完美,我们需要自行添加一些修改补丁。

我们通过一个名为config.plist的文件管理我们的驱动状态,哪个驱动允许加载,哪个不加载,加载参数是什么,我们都需要通过这个文件管理,可以说做黑苹果引导的过程就是调试config.plist文件,添加或修剪驱动和补丁。

针对于config文件的修改,我们也不再用VSCODE进行编辑,我们有了更现代的图形化界面,后续对配置文件的编辑使用这款开源工具

OCAT

这款程序可以辅助我们快速进行配置文件管理。

在我们进行配置时,我们需要进行USB映射以让MAC读取到我们的USB设备,这里我们需要使用USBTOOLBOX这款程序生成USBMap.kext这个驱动(是一个文件夹,这很正常,内核扩展补丁文件在Windows系统下都是一个文件夹)

程序下载地址

必备的知识

首先是SSDT,SSDT文件

就上上图这样,SSDT文件一般来说都是生成好的,不太需要动它,个别的AMD机器会需要的额外SSDT为

SSDT-CPUR

这个主要是协助B550这一级主板进行配置的辅助文件。

另外就是Kernel内核文件,这里是需要频繁改动的地区,如果是全新安装,建议不要勾选过多的kext,否则可能导致一些意外崩溃,为了方便起见,最好不要勾选太多,等安装完系统再重新启用即可。

然后就是随机三码,这个主要是帮助我们将自己的设备仿造成一台MAC设备骗过MACOS以安装系统,如果大家自制也无需修改,如果是网上找到的其他人的同机型或同平台EFI文件,则需要修改这个三码,随机生成点一两下就可。我记得应该是再PI或者NVRAM栏目下,挺好找的(我弃疗了把这些东西都删掉了,暂时没法放截图了)

针对于AMD平台的一些问题

AMD平台由于不是原生的MAC支持,所以相对于英特尔平台会比较麻烦一些,尤其是核显,NootedRad这个驱动文件,一般来说,再安装的时候很多都是不建议打开这个驱动,在进系统后才建议打开,这个驱动的主要功能是让AMD的核显可用,但是在MAC上的Chrome、edge等浏览器上的硬件加速依旧是有问题的。

问题调试日志

第一次尝试:MacOS Tahoe

结果:内核恐慌,无法确定问题原因,失败

EFI:自制、来自同处理器平台5800H

第二次尝试:MacOS Sonoma

结果:卡代码,内核恐慌

EFI:自制、同处理器平台

第三次: MacOS Ventura

结果:卡USBTOOL XHC0、XHC1、磁盘挂载问题、风扇狂转问题、UIMInitalize: Unable to create fillter、内核恐慌。

EFI: 自制、同机型

可以看到所有的都失败了。其中Ventura研究的最久,碰到的问题最多,但是依旧没有成功。

我用了各种方法解决这些问题,但都没搞定,可能也是同样的机型案例太少,我很少卡代码,总是卡在一些奇奇怪怪的位置,导致网上都搜不到什么错误处理手段,好不容易有个类似的,但是是启动问题不是安装问题,只能参考,但是也没成功。

所以,后边的问题我将着重分析来自Ventura的问题,其他版本的可做参考。

问题1:USBToolBOX: USBTOOLBOX:XHC0: WAIT FOR MAT或者任何USB TOOL BOX类问题报错,包括timeout

解决:重定义USBMap映射(未解决),换用同机型EFI文件方案中的USBPorts.kext这个内核驱动,不会报出此类错误,项目地址(已克隆到我的本人仓库)

项目直达

问题2:风扇狂转问题

解决:这个问题主要是系统没有正确的接管处理器温度管理导致的EC自动开启最大功率风扇以保护设备,解决方法是在Kerel中添加AMDRyzenCPUPowerManagement.kextSMCProcessorAMD.kext这两个驱动,并确保第一个驱动的加载顺序在第二个驱动之前,它们是管理AMD处理器电源方案和温度传感器的驱动补丁,添加后即可解决风扇狂转问题。

问题3:如何定位跑代码问题

解决:在NVRAM-》boot-args的7开头的条目下(应该是这个路径,记不太清楚了,但就是类似这一块)的启动中添加

-v debug=0x100

两个参数之间用空格分开,这个参数代表启动啰嗦模式(-v)输出代码,启动调试模式(出现问题不重新启动而是停留在输出页面。)

问题4:禁用独立GPU

解决:如果SSDT中有SSDT-dGPU-OFF这个文件,禁用它(可能导致其他额外问题),在上方提到的boot-args选项中加入如下代码

-wegnoegpu

这会告诉OPENCORE禁用除iGPU外的所有GPU。

问题5:跑完代码黑屏

解决:这是一个未解决的问题,勾选核显驱动跑完代码黑屏,不勾选卡别的程序初始化,我真没招了。

上一篇
下一篇