拖更了快两年的帖子,终于有空写下了,准备往网安发展,需要有一台主机专门做靶机和学习机,这台老主机还能在十多年后发挥它的余热,还是挺不容易的。
主要配置如下:
主板&CPU:Aurora ALX(微星代工MS-7591)&X5650(须刷A11 BIOS支持点亮)
内存:芝奇DDR3 4G 1600*6(不知道怎么设置只能在1450Hz运行)
显卡:AMD RX550 2G(刷BIOS)
OC&Nvme驱动引导盘:8G MLC SATA
系统盘:Samsung SM961 512G & PCIE转Nvme转接卡
无线网卡&蓝牙:BCM943224PCIEBT2
千兆网卡:BCM5784M
声卡:ALC888
USB3:奥睿科PCIe转USB扩展卡(Fresco FL1100)
这台主板陪伴了我从Windows 7到10,从OS X Mavericks到如今的Monterey。也是经历了从变色龙到Clover到如今OpenCore的发展。但是到如今2023年了,找遍全网也没有多少关于旧主板(模拟UEFI)安装opencore的教程,X58有的也是一笔带过,只有老版本OC配置EFI没有说明,只有自己摸滚带爬搜索测试后,才有了这篇短要的教程,希望给同是热爱黑苹果的大伙们少走一点弯路。
操作前提:
有一台能正常启动的黑/白苹果主机。
有一个U盘或者Sata的硬盘用来当作引导盘,容量1G左右就够了。
显卡需支持Monterey驱动
能承受硬件无故损坏的后果
这块老主板安装黑苹果的故事真的可以说是一波三折
刷BIOS的缘由:
为什么,因为外星人的BIOS里阉割了VT-d还有HPET的选项,我也是直到安装好PVE后才发现不支持VT-d,无法直通。



从微星的官网中搜索了一下,有一个X58M(MS-7593)的主板和这张外星人X58的配置很接近,PCIE x1换成PCI插槽,网卡设备不同(走的是PCIE通道,所以不影响),多了光驱和软驱的接口,而且查看说明书,BIOS选项里有VT-d开关,于是就有了一个大胆的想法,能不能直接强刷主板BIOS,答案经过试验是肯定的!不知道我是没有弄懂spi接口定义,还是主板问题,BIOS芯片需要用热风枪拆除后上编程器才能刷进去,第一次开机需要短接开关清除设置。
但是,你以为刷了就这么简单吗?并没有。而且经过我的尝试后即使BIOS里打开了VT-d,PVE里面也不能直通显卡,原因是X58 or X5650并不支持IOMMU Interrupt Remapping,内核DMA重新映射只支持到C2步进,不能单独把显卡设备组独立出来,希望有大神能解决这个问题或者告诉一下我思路,反正搭建PVE多系统的愿望暂时落空了,只能试着直装黑苹果吧。
重点来了,经过无数次测试与试验,以下选项必须更改才能进入黑苹果系统:
开启HPET(MS-7591的BIOS没有这个选项,所以也是不能OC进入黑苹果)
关闭COM Port 1
关闭EIST(CFG Lock)(MS-7591的默认关闭,因此用Clover也是可以引导)
关闭C-State
开启Hyper-Threading Function、Execute Bit Support(不开的话Opencore里会过不了EB初始化)
PCI Latency Timer改为128
所有这些选项我都写进了修改版的BIOS里面了,懒得一个个调整了直接重置就开箱即用,以免以后老了又失忆了之后忘了怎么设置哈哈



BIOS & OpenCore EFI(0.8.8) 下载地址 密码:kkji
2023年9月2日 更新OC引导为0.9.4,建议安装版本为12.2.1,更高版本键盘输入法有Bug,输入中文卡住,未排除到原因
(本EFI已做好USB定制,内置USB分配给蓝牙端口)(不知道为什么失效了)
土豪金编程器刷入BIOS后短接跳线开机。
Opencore MBR模拟UEFI:
在另一台黑/白苹果电脑(不讨论先有鸡还是先有蛋的问题嘿嘿)挂载SATA引导盘,下载0.8.8(与你的EFI版本对应才能正确启动)的OC文件,找到里面的工具文件夹
# Replace X64 with IA32 if you have a 32-Bit CPU
sudo ~/Downloads/OpenCore/Utilities/legacyBoot/BootInstall_X64.tool
按提示操作选择格式化引导盘

然后把OC EFI文件夹放进到引导盘即可。
注:请自行添加三码。
Opencore的设置
重点来了,当你直接把OC文件夹放进去,我这个主板不设置的话是无法使用键盘鼠标的,也无法找到nvme的硬盘。为了解决这个问题我在网上爬遍了数十个帖子,终于找到具体方法。
键盘鼠标无法识别
关键在于LegacySchema(NVRAM变量)的设置,需要添加如下代码:
(另外貌似部分机械键盘也不兼容,试试接普通的薄膜键盘)
<key>LegacySchema</key>
<dict>
<key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
<array>
<string>EFILoginHiDPI</string>
<string>EFIBluetoothDelay</string>
<string>LocationServicesEnabled</string>
<string>SystemAudioVolume</string>
<string>SystemAudioVolumeDB</string>
<string>SystemAudioVolumeSaved</string>
<string>bluetoothActiveControllerInfo</string>
<string>bluetoothInternalControllerInfo</string>
<string>flagstate</string>
<string>fmm-computer-name</string>
<string>fmm-mobileme-token-FMM</string>
<string>fmm-mobileme-token-FMM-BridgeHasAccount</string>
<string>nvda_drv</string>
<string>prev-lang:kbd</string>
</array>
<key>8BE4DF61-93CA-11D2-AA0D-00E098032B8C</key>
<array>
<string>Boot0080</string>
<string>Boot0081</string>
<string>Boot0082</string>
<string>BootNext</string>
<string>BootOrder</string>
</array>
还需要在UEFI驱动中添加OpenUSBKbDxe.efi支持
加载NVME驱动
因为X58的是模拟UEFI,没有nvme的驱动,因此我们需要在引导前强制加载nvme的驱动NvmExpressDxe.efi,而且必须要使用OpenHFSPlus.efi/OpenRuntime.efi/OpenCanopy.efi,否则启动会出现红色乱码界面(目前开机后假如还没进入OC界面,一直按着键盘也有一定概率出现乱码)。

开机进入系统后画面冻结
添加SATA-unsupported.kext 到Kexts文件夹。
网卡无法驱动
BCM5784M其实是原生驱动的,OS X Catalina之前的旧系统的方法是直接把BCM5722D.kext放进SLE文件夹里的IONetworkingFamily.kext/Contents/Plugins,然后重建权限就可以了,但是更新后这个方法就不行了。
这个是仿照白苹果Mac Pro 5.1的驱动方法,添加CatalinaBCM5701Ethernet.kext以及BCM5722D.kext到OC/Kexts文件夹。

其他设置
开启GopPassThrough

开启Jumpstart

开启RebuildAppleMemoryMap

安装Monterey
第一步:按照正常流程启动,选择安装分区,无脑操作。直到安装好后自动重启。
第二步:把nvme ssd拔掉插进一台能正常OC启动黑苹果的机器,继续往下的安装步骤,直到安装完成。
第三步:SSD插回X58主板。
延伸阅读
延伸:SpeedStep技术的升级版本EIST,全名为Enhanced Intel SpeedStep Technology(增强型Intel SpeedStep技术),是Intel全新的节约能源技术,最早用于Pentium M处理器上,同样也是一款笔记本所用的移动版CPU。出于和AMD台式机处理器中的Cool’n’Quiet技术竞争的目的,EIST技术现在也推广到Intel较新的台式机处理器中,目前使用这一技术的Intel台式机和移动版CPU包括Core系列、Pentium D系统(不包括805、820、915)、Pentium M系列和超线程的Pentium 4系列(不包括5XX)。Intel Core处理器,Pentium Dual-Core和以后的Pentium处理器,Celeron,Atom均支持EIST。
与早期的SpeedStep技术不同的是,增强型SpeedStep技术可以动态调整CPU频率,当CPU使用率低下或接近零的时候动态降低CPU的倍率,令其工作频率下降,从而降低电压、功耗以及发热;而一旦监测到CPU使用率很高的时候,立即恢复到原始的速率工作。当然,对于移动版处理器,仍然可以设置在使用电池的时候永远不要调整到最高频率,而始终维持在低频率工作。
英特尔X58(代号:Tylersburg)使用了LGA 1366插座和英特尔的IOH(I/O Hub)芯片组。X58的IOH通过QPI总线与Intel CPU互联,且通过DMI总线与ICH南桥互联。Nehalem微架构已内建内存控制器,因此X58并没有内存控制器。X58芯片组支持第一代Intel Core i7 处理器和使用LGA 1366插座的的至强处理器。
Westmere相对于Nehalem的改进:
·原生六核心(代号Gulftown)和原生十核心(代号Westmere-EX)。
·新增AES(Advanced Encryption Standard,高级加密标准)指令集,与此前相比AES加密/解密之性能高出3倍。
AES指令集或AES-NI提供了7条实现AES加密/解密算法的指令。其中一条称为PCLMULQDQ(参见CLMUL指令集)以实现密码乘法。这些指令集将使处理器可实现硬件加速的加密/解密而不必像此前的处理器使用慢速的软件加速,同时也可实现对可运行程序的攻击保护。
·集成图形处理核心(GPU)。但并不是整个显示核心像AMD Fusion(APU)一样GPU与CPU完全集成进一块芯片上,而是GPU核心和CPU核心是分立于两块芯片,并封装于同一块印刷电路板上,两者之间用QPI总线互联。[5]因为这样的设计被AMD以及不少人和媒体组织戏称为“胶水集成”。集成有显示核心的是代号Arrandale和Clarkdale的双核心处理器,显示核心为Intel HD Graphics 1000。
改进虚拟化的延时。
·新的虚拟化功能:“VMX无限制模式支持(VMX Unrestricted mode support)”,这允许16位应用程序在这些处理器上运行(即使是实模式或增强实模式)。
·支持1GB的“大标签页”(Huge Pages)。
参考内容:
Westmere微架构 https://zh.wikipedia.org/wiki/Nehalem%E5%BE%AE%E6%9E%B6%E6%A7%8B
Intel X58 https://zh.wikipedia.org/wiki/Intel_X58
BASE EFI Intel Nehalem (HEDT) https://github.com/luchina-gabriel/BASE-EFI-INTEL-HEDT-1STGEN-X59-NEHALEM
OpenCore Legacy for GA-EX58-UD5 https://www.insanelymac.com/forum/topic/341766-opencore-legacy-for-ga-ex58-ud5/