在2024年9月装一台黑苹果主机的感受和记录
柴䦒
编辑于 2024年10月29日 00:36
黑苹果Hackintosh

在macOS Sequoia(15.0)正式发布的这个时间节点安装一台黑苹果,自己也没什么macOS方面的需求,显得是多少有点想不开,但空闲的硬件买时候血贵,卖二手血亏,不折腾又有点不甘心。。。

一、硬件配置

手里空闲的硬件有:

  • 主板,华硕Prime X299-A II

  • cpu,Intel Core i9 7940x SP分数92 能1.18v全核4.8G 已开盖换液金

  • 内存,英睿达 C9BLL颗粒 8G 3600Mhz C16-18-18-38 ARGB套条4根

  • SATA固态,一块480G的三星、一块240G的东芝、一块250G的闪迪

  • 散热,EK AIO Basic 360

  • 风扇,4把利民ARGB灯扇 3把酷冷ARG风扇 2把ID-COOLING的白光扇

  • 其他,VK C360的集线器、一个金属显卡支柱

这些硬件就挺适合装个黑苹果玩玩的,于是决定如果能收到成色好的显卡我就装一台机器,收不到显卡,那就算了。然后就在下了决定的一天之后的晚上,群友“F哥”600块出了一张自用的华硕Vega56 8G,真是有点过于巧了。

收到显卡之后发现,成色特别好,就散热鳍片内部有一些浮灰,无拆无修,甚至连保护膜都没撕,直接拆开清灰、换导热片、换硅脂、撕膜。

既然收到了合适的显卡,那缺少的电源和机箱也得买了,虽然有好几个千瓦的电源,但目前都有用处,按照,能满足功耗、能放下这套硬件、京东自营、便宜等条件选就买这俩了

  • 电源,九州神风 PQ1000G

  • 机箱,Tt 钢影 风

之后就是装机、理线、装个windows 10备用,顺道看看光效

二、计划

目前是已经在闪迪的250G固态中安装Windows 10(后期也可能会安Windows 11),用240G的东芝固态当win环境下的存储盘。计划在480G的三星固态中安装macOS,并且这台机器装好系统之后,就纯粹当作工作用的机器。

三、OpenCore

1.先在https://github.com/acidanthera/OpenCorePkg/releases下载OpenCore引导,我下载的是编译好的release版本,下载时版本号为1.0.1

下载解压之后有4个目录,主要需要X64目录中的EFI文件夹和Docs文件夹中的Sample.plist文件。将Sample.plist文件更名为config.plist并放置于于EFI文件夹中,即得到了初始的EFI引导。

2.在https://github.com/ic005k/OCAuxiliaryTools/releases下载OCAuxiliaryTools,我下载的是编译后的Win64版本,下载时版本号为20240001,解压即用。

3.配置OCAuxiliaryTools,打开OCAuxiliaryTools.exe按照→文件→设置→网络中的“选择升级下载的镜像服务器”和“选择网页访问的镜像服务器”都修改为https://github.com/,用于正常拉取网络资源。

OCAuxiliaryTools下载之后默认的oc版本为0.8.5,需先拉取1.0.1

4.使用OCAuxiliaryTools配置初始EFI中的config.plist,OCAuxiliaryTools会同步修改EFI下相应路径中的文件。配置内容参照https://dortania.github.io/OpenCore-Install-Guide网站,此网站还提供了所需文件下载的超链接,十分的方便。网站首页标明该站此时只支持到OC0.9.1的版本,虽然我要使用的是OC1.0.1的版本,但依旧有巨大的帮助,十分感谢此站点。

5.配置ACPI,在“Add增加”页面,添加SSDT,所需的SSDT有

  • https://github.com/dortania/Getting-Started-With-ACPI/raw/refs/heads/master/extra-files/compiled/SSDT-PLUG-DRTNIA.aml

  • https://github.com/dortania/Getting-Started-With-ACPI/raw/refs/heads/master/extra-files/compiled/SSDT-EC-USBX-DESKTOP.aml

  • https://github.com/dortania/Getting-Started-With-ACPI/raw/refs/heads/master/extra-files/compiled/SSDT-RTC0-RANGE-HEDT.aml

其中的“Delete删除”和“Patch补丁”的tab页中内容,全部删除,“Quirks选项”页面为默认配置

6.配置Booter,将“MmioWhitelistMmio白名单”和“Patch补丁”页面中内容删除,“Quirks选项”页面配置如图

7.配置DP,将“Add增加”和“Delete删除”页面中内容删除

8.配置Kernel,kernel存在依赖关系要按顺序添加,需在“Add增加”页面,添加kernel,所需kernel有

  • https://github.com/acidanthera/Lilu/releases/download/1.6.8/Lilu-1.6.8-RELEASE.zip(解压后需要其中的Lilu.kext)

  • https://github.com/acidanthera/VirtualSMC/releases/download/1.3.3/VirtualSMC-1.3.3-RELEASE.zip(解压后需要其中的VirtualSMC.kext、SMCProcessor.kext、SMCSuperIO.kext)

  • https://github.com/acidanthera/WhateverGreen/releases/download/1.6.7/WhateverGreen-1.6.7-RELEASE.zip(解压后需要其中的WhateverGreen.kext)

  • https://github.com/ChefKissInc/SMCRadeonSensors/releases/download/v2.3.0/SMCRadeonSensors-2.3.0-RELEASE.zip(解压后需要其中的SMCRadeonSensors.kext)

  • https://github.com/acidanthera/AppleALC/releases/download/1.9.1/AppleALC-1.9.1-RELEASE.zip(解压后需要其中的AppleALC.kext)

  • https://github.com/acidanthera/IntelMausi/releases/download/1.0.7/IntelMausi-1.0.7-RELEASE.zip(解压后需要其中的IntelMausi.kext)

  • USB定制,此处稍后详细记录

  • https://github.com/acidanthera/BrcmPatchRAM/releases/download/2.6.8/BrcmPatchRAM-2.6.8-RELEASE.zip(解压后需要其中的BlueToolFixup.kext)

  • https://github.com/OpenIntelWireless/itlwm/releases/download/v2.3.0/AirportItlwm_v2.3.0_stable_Ventura.kext.zip(解压后需要其中的AirportItlwm.kext)

  • https://github.com/OpenIntelWireless/IntelBluetoothFirmware/releases/download/v2.4.0/IntelBluetooth-v2.4.0.zip(解压后需要其中的IntelBluetoothFirmware.kext、IntelBTPatcher.kext)

  • https://github.com/acidanthera/bugtracker/files/3703498/AppleMCEReporterDisabler.kext.zip(解压后需要其中的AppleMCEReporterDisabler.kext)

  • https://github.com/acidanthera/CpuTscSync/releases/download/1.1.0/CpuTscSync-1.1.0-RELEASE.zip(解压后需要其中的CpuTscSync.kext)

  • https://github.com/acidanthera/NVMeFix/releases/download/1.1.1/NVMeFix-1.1.1-RELEASE.zip(解压后需要其中的NVMeFix.kext)

  • https://github.com/acidanthera/RestrictEvents/releases/download/1.1.4/RestrictEvents-1.1.4-RELEASE.zip(解压后需要其中的RestrictEvents.kext)

其中NVMeFix.kext、BlueToolFixup.kext、AirportItlwm.kext、IntelBluetoothFirmware.kext、IntelBTPatcher.kext等5个kext没有被启用,是为了避免莫名奇妙的问题,因为我现在的硬件中没有安装Nvme固态、无线网卡、蓝牙。但后续可能有追加Intel AX210网卡和铠侠RC20固态,主板本身有无线网卡安装槽位,先预留。

AirportItlwm.kext作者提供了各个macOS版本对应的kext文件,且已经告知macOS 14.4+ 中的 API 发生变化,目前提供的最新版本也是macOS14.4的,没有我计划安装15.0相应的版本,看网上别人的成功经验是需要macOS13版本的,所以下载了这个版本。

“Block阻止”、“Force强制”、“Patch补丁”、“Emulate仿冒CPU”、“Scheme老旧系统方案”等页面内容都是默认值,“Quirks选项”页面配置如图

9.配置Misc,“Boot引导”页面,设置为类似白果一样,直接显示苹果logo不显示oc引导界面,但不影响开机时按option/alt键进入oc页面进行其他操作。如图

“Debug调试”页面,如图

“Security安全”页面,我设置的扫描数值,仅用于扫描mac磁盘,win10由win10自身的EFI引导,切换双系统时采用bios快捷键切换。如图

“BlessOverride定制引导加载程序”、“Entries添加启动项”、“Serial串行”,都未默认值未变动,“Tools工具”页面删除其他项目,仅保留如图所示项目

10.配置NVRAM,“Add增加”页面,UUID的1和2不动,仅修改3,如图

“Delete删除”、“LegacySchema传统BIOS”两个页面为默认值,不动。

11.配置PI,在“Generic通用”页面,选择好型号为MacPro7,1之后,需按顺序,点击如图的两处位置生成相应的数值。其他设置如图

其他的“DataHub数据Hub”、“Memory自定义内存”、“PlatformNVRAM平台NVRAM”、“SMBIOS系统管理BIOS”页面均不动。

12.配置UEFI,“APFS文件系统”页如图

“AppleInputApple输入”、“Audio音频”页面,保持原样不动。“Drivers驱动”如图

“Input输入”、“Output输出”、“ProtocolOverrides协议覆盖”、“ReservedMemory预留内存”都保持原样不动,“Quirks选项”如图

13.保存以上配置,关闭OCAuxiliaryTools软件。

14.在https://github.com/acidanthera/OcBinaryData下载主题,用于偶尔使用OC引导界面时,能有图形化界面,比如使用U盘安装macOS、重置NVram等,据说这个是官方主题,看着也还算耐看,就用这个吧。使用方法是解压之后将其中的Resources文件夹,替换掉EFI目录中的Resources文件夹。

四、主板Bios

1.将主板Bios升级到最新版本,升级操作参照华硕官网即可,最新版本如图,对于这个主板现在还能有新bios出来,还是有点惊喜的。

2.一些针对于这颗i9 7940x和内存,下调了一些数值之后的设置

Ai Tweaker:

  • Ai 智能超频 [Auto]->[XMP]

  • CPU Strap [Auto]->[100]

  • BCLK 频率 [Auto]->[100]

  • AVX Instruction Core Ratio Negative Offset:->[5]

  • AVX-512 Instruction Core Ratio Negative Offset:->[15]

  • CPU 核心倍频 -> [Sync All Cores]→ALL-Core Ratio Limit -> [45]

  • 最低CPU缓存倍频 -> [30]

  • 最高CPU缓存倍频 -> [30]

  • 内存速度比率模式 -> [100:100]

  • 内存频率 -> [DDR4-3800MHz]

  • 外接数字供电控制→CPU负载线矫正[Auto] -> [Level 5]

  • CPU Core Voltage -> [Manual Mode]

  • →CPU Core Voltage Override -> 1.140

  • CPU Cache Voltage -> [Manual Mode]

  • →CPU Cache Voltage Override -> 1.000

高级:

  • CPU Configuration→Hyper-Threading -> [Disabled]

3.一些通用设置

高级:

  • CPU Configuration→MSR Lock Control -> [Disabled]

  • 平台其他设置→页面所有选项全部关闭

  • System Agent(SA) Configuration→Intel VT for Directed I/O(VT-d) -> [Disabled]

  • PCH 存储管理→SATA Mode Selection -> [AHCI]

  • PCH存储设置→PCI Subsystem Settings→bove 4G Decoding -> [开启]

  • →Resize BAR -> [关闭]

  • 内置设备→串口设置 -> [off]

  • USB Configuration→egacy USB支持 -> [Enabled]

  • →USB Mass Storage Driver Support -> [Enabled]

  • 高级电源管理→rP支持 -> [开启(S4+S5)]

  • Thunderbolt(TM) Configuration→BT Root port Selector -> [Thunderbolt Disabled]

高级→CPU Configuration→处理器电源管理:

  • Enhanced Intel SpeedStep Technology -> [Enabled]

  • Turbo Mode -> [Enabled]

  • Autonomous Core C-State -> [Enabled]

  • Enhanced Halt State(C1E) -> [Enabled]

  • CPU C6 Report -> [Enabled]

  • Package C-State -> [C6 (Non retention)]

  • Intel(R) Speed Shift Technology -> [Auto]

  • MFC Mode Override -> [OS Native Support]

启动

  • 快速启动 -> [Enabled]

  • Above 4G Decoding -> [On]

  • →First VGA 4G Decode -> [Auto]

  • CSM→开启CSM -> [关闭]

  • 安全启动菜单→操作系统类型 -> [Windows UEFI 模式]

4.暂未发现存在影响,个人用华硕主板习惯性设置

  • Download & Install ARMOURY CRATE app -> [关闭]

  • PTT -> [Enabled]

  • 启动时数字锁定键状态 -> [Disabled]

  • When system is in sleep,hibernate or soft off states -> [Aura Off]

  • 调整Q-Fan设置

五、定制USB

1.在https://github.com/USBToolBox/tool/releases/download/0.2/Windows.exe下载USBToolBox工具。

2.双击运行Windows.exe,它是一个CMD窗口工具,输入D并回车

3.界面会变化为USB设备列表页面,并每5秒刷新。此时将所有USB口都依次接入设备并等待5秒钟页面刷新,Type-C口的设备要正反插两次,全都插完一遍之后, 输入B返回主菜单。

4.回到主菜单之后,输入S查看结果,然年再输入K导出UTBMap.kext

5.在https://github.com/USBToolBox/kext/releases/download/1.1.1/USBToolBox-1.1.1-RELEASE.zip下载USBToolBox.kext

6.在第四步导出时,会提示有一些扫描到的接口没有使用,询问是屏蔽还是忽略,我选择了忽略,因为这个机箱接口很少,无法发挥主板上的全部USB接口。后续其实可以都用转接线转到机箱的pcie插槽处

这主板当初买的时候还挺贵的,背面的usb接口我是都插拔过了。

在图中位置1处,是前置type-c接口,机箱没有前置type-c接口。位置2处是前置usb3.0接口3_4,能接出2个usb3.0接口,机箱只有一个前置usb3.0接口。位置3处是前置usb3.0接口1_2,机箱没有可接的接口就没接。位置4处是2组前置usb2.0接口,可接出4个usb2.0,机箱只有一组usb2.0线,能接2个usb2.0前置接口。

六、开始安装macOS Sequoia(15.0)

1.我使用了一个闪迪type-a口32G usb3.0的U盘,在MacBook Pro上下载了15.0的安装镜像,使用终端输入命令sudo /Applications/Install\ macOS\ Sequoia.app/Contents/Resources/createinstallmedia --volume /Volumes/u制作了系统安装u盘。

2.对磁盘分区之后和安装白果一样的步骤使用u盘进行安装

3.遇到了安装第二阶段在苹果logo界面走完剩余时间之后,无限重启的问题,最后是修改了config.plist中Misc→“Security安全”→SecureBootModel -> [Disabled],问题解决。解决问题的思路来自于和卖我显卡那位群友在同一个群的另一位群友“G爷”,他提供了重要的帮助,他检索互联网资源的能力真是太强了,我咋搜都找不多的东西,他都能快速准确的找到,十分感谢。其实很多帖子都写了要关闭这个选项,但我所参照的那个网站上对于我这个硬件平台,貌似是要求保持默认,也可能是我机器翻译候理解的不准确,误会了。

4.还遇到了完全无法休眠的问题,修改了bios中的一些电源选项,问题解决,此处还是需要感谢群友“G爷”。

5.还需要感谢远景论坛,感谢论坛中UID 4534807的网友,为我提供了一种对比思路,就是有一个我完全不曾知道的,一键配置OpenCore的github项目,通过那个项目生成的EFI进行对比,帮助我完善了自己的EFI,项目地址为https://github.com/JeoJay127/RapidEFI-Tool

鸣谢UID 4534807

6.在配置OpenCore时因为我参照的https://dortania.github.io/OpenCore-Install-Guide/网站是英文的,我使用浏览器的翻译功能进行机器翻译,可能存在我理解能力不足而导致的错误配置。也是参照了一键生成项目,才发现,我漏掉了AppleMCEReporterDisabler.kext和RestrictEvents.kext,这两个kext对于x299平台还是很重要的。开机不会在内存报错了。加入之前:

加入之后变成了:

7.看起来我貌似没有添加任何-v一类的启动参数,以及关闭电子狗、开启debug之类的,其实在一开始的排查过程中是有的,只是现在是一个施工完毕的状态,就都去掉了。

七、短期使用

1.目前不确定所谓的“完美”黑苹果达成率是多少,但暂时性用一用的话,可以说能用。

2.目前存在一个黑屏问题,不确定是EFI问题、bios问题、线材问题、还是我用的红米RMMNT27NU显示器有问题,或者是我这种用法存在问题。我的使用方式:

  • 显示器在办公室用。

  • 显示器上两个下行USB-A口,接入Dell PowerEdge R750XS服务器原装自带的键盘鼠标。

  • 显示器的3.5mm音频接口,接入我2014年买的iphone 5s的原装耳机

  • 60w的type-c口用显示器原装双c口线,接入Dell Latitude 3400笔记本的type-c口,笔记本的配置是i7-8565U+16G内存+nvme250G固态+sata250G固态+UHD620核显+MX130独显+win10 22H2,笔记本除了C口线,只接了一根网线。

  • 显示器的HDMI接口,用显示器原装HDMI线,接在黑苹果主Vega56显卡上的HDMI口上。

  • 通过显示器的按钮,手动切换信号,选择我要用的机器。

现在问题现象和复现:

  1. 正常使用笔记本工作时,显示器显示的笔记本的内容,此时将黑苹果开机,那么无显示信号输出,也无法在显示器切换输入源为黑苹果。

  2. 正常开机使用黑苹果,手动将显示信号切给笔记本,黑苹果无显示信号输出。

  3. 如果断开笔记本的连接,正常使用黑苹果,则可以正常休眠和唤醒。但如果时间久一点,显示器休眠了,那么再唤醒,黑苹果无显示信号输出。

  4. 正常使用黑苹果,冒着烧HDMI接口的风险,断开HDMI连接线,再插上,黑苹果无显示信号输出。

感觉就像是,只有开机之后一直让黑苹果能收到显示器的信号,才能一直保持输出显示信号一样。

八、整个过程中的感受

1.黑苹果算是濒临生命末期了,也不知道macOS16是否还会支持Intel的芯片,毕竟M芯片都到第三代了,好几年了。

2.OpenCore真是个好东西,配置起来确实很轻松,目前我自己的状态其实和“小白”差不多,感受上入手难度不高。比2012年还在大学那会用的“变色龙”要好用太多了。也比2015时候为了开发ios用“clover”装黑苹果的体验要好很多。平心而论,体验好除了OC本身的优秀外,clover在之前的时期里,积攒了大量的各类资源和工具,是功不可没的。

3.各类大神真的牛啊,有的硬啃各类规范协议,有的硬啃OpenBSD下的驱动做移植,没有他们肯定是没有如今我这么轻松的体验的。也是多亏了他们,不用在如今的互联网环境“翔中淘金”,只需要全程在github获取所需资源即可。

4.其实目前所有正常使用的需求都已经满足了,很难再有动力继续奔着“完美”去完善EFI的配置。

5.安装过程中,看着功耗和发热,就后悔当年为什么要那么自信,在刚吵完架情绪不稳定的时候,竟然还敢对cpu进行开盖,结果搞掉了好几个电容,报废了一颗cpu。现在装机这颗cpu是我的第二颗i9 7940x了,第一颗是我在一堆cpu中调出来的sp96分的,能在1.14v的电压下全核5.0Ghz,并且关闭超线程后,配上双360的水冷,能在风扇不吵的情况下,维持在一个较低的温度和功耗,还是没开盖换液金存在积热的情况下。

6.我特意关闭了超线程、从4.8G降到4.5G、电压下调到1.14v,是因为这颗cpu在全核4.5Ghz的情况下,14个核心性能已经挺强了,而且开盖换过液态金属之后,die积热也改善了非常非常多(我从2015年就在开盖4790k,开盖搞液金对我来说很简单)。完全没必要参数调的那么高,平白增加发热和风扇噪音,无论是在win10里打游戏还是在macOS里工作都很没必要。

至此就告一段落了,如果没有其他问题,就不折腾了。为了防止以后需要对EFI做调整,还是姑且记录下来,毕竟记忆力现在变得很差,而这段时间也算是投入精力了解了很多东西,不要浪费。

=================更新================

因为本身装这台设备就是因为想折腾,所有还是买了一些扩展线继续折腾。把所有的USB口都引出来了,并且加装了一张AX210的网卡,将系统升级到了15.0.1。

而先引出USB接口,是想把USB定制再重新好好弄一遍,毕竟之前急着弄EFI,有点糊弄,而且网卡的蓝牙走的usb协议,如果USB没有配置,也无法使用。还会在安装系统时出现这种错误

在重新定制USB的过程中,发现这个板子的USB口是真的不少,但依旧有几个是我无法使用的,我猜其中有端口可能是2个12v RGB针脚的控制器,毕竟5v的ARGB控制器也用了一个usb端口,剩下的就不知道了。

为了让这些接口全都启用,我找出了之前买4雷电口MacBookPro时的各种转接器,同时各种2.0和3.0设备,都插拔了一圈

之后将新生成的UTBMap.kext替换,还要修改Kernel→Quirks选项→勾选“XhciPortLimit”,我在几乎所有的教程里都看到“如果安装系统版本为11.3+,不要勾选此项目”,可我也没找到解决只能有15usb端口被启用的方法,因为我所有控制器加起来有34个端口,所以还是勾选了此项。

之后爬帖子,调整蓝牙相应的.kext时,除了BlueToolFixup.kext能在GitHub的地址找到所需的新版本V2.6.9,其余需要用到的IntelBTPatcher.kext和IntelBluetoothFirmware.kext我在github原项目地址上找不到V2.5.0版本,是使用的帖子中提供的版本。

调整wifi相应的.kext时,新增了IOSkywalkFamily.kext和IO80211FamilyLegacy.kext两个.kext,加载顺序如图

那个黑屏的问题,就像是黑苹果不支持显示器断开连接一样,断开就停止显示信号的输出。又隐约记得之前查过显示器接口的资料中有提到过,于是把线从HDMI换成DP试了一下,问题解决。

新增问题:可能是ax210网卡导致的一些连锁问题,罗技的LogiOptions+软件,会卡在授予蓝牙权限的页面,导致了Logi master3s这款在macOS上非常好用的鼠标,无法自定义按键功能了。

至此,后续的折腾也结束了。