跳转至

系统优化

片言碎语

国光的黑苹果教程

由于黑苹果又是另一个领域的知识点了,而且知识点有点繁杂,所以不适合在本 PVE 教程里面详细展开,想深入黑苹果的网友可以转到我的另一个黑苹果教程:国光的黑苹果安装教程:手把手教你配置 OpenCore

EFI 是黑苹果中最核心的一个文件夹,这里面包含着机器相关的所有驱动,这也就是为什么我们之前使用了 Github 开源的 OpenCore 镜像可以引导安装 macOS 系统的原因了,是因为那个 iso 里面封装了 PVE 虚拟机的相关 EFI 驱动:

但是呢,我们不能一直使用 CD 光盘来引导系统吧,主要原因如下:

  1. 官方项目的 EFI 有待定制,比如一些独显参数优化啥的都缺失
  2. 官方的 EFI 挂载在光盘里面,可以当做备份,平时我们改放到硬盘本地的 EFI 就行了
  3. VM 虚拟机一直插着光盘不优雅,就像物理机启动系统一直插着 U 盘一样,太滑稽了

EFI 归位

接下来我们需要把这个 OpenCore 的 ISO 镜像的 EFI 引导文件夹拷贝到硬盘当中,因为系统已经安装好了,开机前我们先移除掉之前挂载的苹果安装镜像,只保留 OpenCore 引导镜像:

接着进系统后,使用 OpenCore Configurator 挂载硬盘 以及 ISO 光盘后,直接将 ISO 光盘的 EFI 拷贝到硬盘里面即可:

如果 OCC 软件无法打开的话...... 点击展开解决办法 👉

对第一次使用苹果的用户可能比较不友好,直接打开可能看到下面的提示: 有两种解决办法: 1. 下图左边这种,直接鼠标右键,点击打开即可 2. 下图右边这种,先打开软件,失败后到「设置」-「安全与隐私」-「通用」里面点击无论如何打开就行:

拷贝完成后关机,就可以移除 OpenCore ISO 镜像了,然后应该可以正常进入系统,这是因为我们放入到硬盘的 EFI 开始生效了。之后我们就可以直接编辑本地的 EFI 配置文件了,就像物理机黑苹果那样:

有黑苹果基础的同学还可以直接优化 EFI 配置,或者升级 OC 版本,没有基础的同学也没有关系,可以参考我写的这个教程慢慢来:国光的黑苹果安装教程:手把手教你配置 OpenCore

所以下面教程国光我只优化一些基础操作,进阶的操作需要大家自己花时间琢磨研究。

直通 USB

细心的小伙伴会发现,目前通过 PVE 的 Web 界面操作我们的键鼠实际上是有延迟的,毕竟还是走得 VNC 网络传输协议,为了更好的体验,我们可以分配一个键鼠直通到 PVE 虚拟机中:

PVE 支持几种 USB 设备添加,下面简单挑着解释一下:

  • 使用 USB 供应商 / 设备 ID
    • 根据你的设备名称添加
    • 就算你的 USB 拔掉换其他接口也可以正常直通到虚拟机的
  • 使用 USB 端口
    • 根据 USB 物理端口添加
    • 你这个接口插鼠标,那么鼠标就直通到虚拟机了;插键盘,那么键盘就直通到虚拟机了
    • 根据实际情况勾选,USB3 是 USB2 和 USB3 的合体,所以如果你的 物理端口是 USB 3 请勾选 USB 3

因为国光我我更偏向于前者者,使用 USB 的设备 ID:

直通独显

直通独显需要 PVE 本身配置好才可以

确保自己按照前面的教程:国光的 PVE & Linux 生产力环境搭建教程 - 硬件直通 操作完后再进行直通独显操作。

独显参数

然后关掉原来的 Vmware 兼容显示设备,最终的硬件如下: 因为 OC 引导黑苹果的话,使用 RX5500/5600/5700/6600/6800/6900 系列新的免驱系列显卡启动过程中会黑屏,所以先需要编辑我们的 OC 配置文件,在启动项添加 agdpmod=pikera 参数:

保存配置文件后关闭 PVE 黑苹果虚拟机。

添加 PCI 设备,找到我们的 RX 6600XT ,这里没有显示出来,但是 Navi 23 确实是这个显卡的架构:

然后勾选如下选项:

指定 romfile

接着我们编辑 VM 配置文件,让显卡加载到上传到 PVE 里面的 ROM:

Bash
nano /etc/pve/qemu-server/103.conf 
在显卡的 PCIe 选项中添加 romfile=xxxx.rom 参数即可

PVE 下存放 ROM 文件的路径为 /usr/share/kvm/

使用 SCP 命令将我们之前显卡中提取的 ROM 或者官网下载的 ROM 文件放入到 PVE 的 /usr/share/kvm/ 下

然后关掉原来的 Vmware 兼容显示设备,最终的硬件如下:

/etc/pve/qemu-server/103.conf
agent: 1
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc
balloon: 0
bios: ovmf
boot: order=sata0
cores: 16
cpu: host
efidisk0: local-lvm:vm-103-disk-0,efitype=4m,size=4M
hostpci0: 0000:85:00,romfile=RX6600XT.rom,x-vga=1 # (1)
machine: q35
memory: 32768
meta: creation-qemu=7.1.0,ctime=1670939163
name: macOS-Monterey
net0: virtio=92:1A:24:B9:6B:EE,bridge=vmbr2,firewall=1
numa: 1
ostype: other
sata0: ssd3-nvme-2tb-WD-AN1500:103/vm-103-disk-0.qcow2,cache=unsafe,discard=on,size=320G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=2896b313-d40d-41ab-a288-8ea8df452dfb
sockets: 1
usb0: host=046d:c092
usb1: host=0f39:0611
vga: none
vmgenid: ca66aaea-9bd3-4312-88b7-1ba05e7eaadd
  1. 主要就是添加了这个 romfile=RX6600XT.rom 参数

部分显卡不需要 romfile 参数也可以直通

  1. AMD RX400、RX500 系列测试无需 romfile 参数也可以直通
  2. AMD RX5000、RX6000 系列大多数需要 romfile 参数才可以顺利直通

直通效果

最终直通后进系统,此时插在 6600XT 显卡上的显示器会正常点亮,使用键鼠都可以正常操作,就和物理机黑苹果的体验是差不多的:

直通网卡

直通 WiFi

因为我的 BCM94360CD 插的也是 PCIe 接口,而且是免驱无线网卡,所以需要再额外修改 EFI 文件。我们可以在 PCI 设备里面找到我们的无线网卡:

也给他添加到虚拟机中:

国光小课堂

如果上图这样直通 WiFi 无线网卡失败的话,不妨只勾选「所有功能」和「ROM-Bar」或者只勾选「所有功能

直通蓝牙

要想实现免驱网卡的所有功能,光有 WiFi 是不够的,蓝牙也得需要直通进去,蓝牙走的是 USB 协议,所以我们可以在 USB 设备中添加我们的蓝牙设备:

记得取消 USB3 勾选。

直通效果

WiFi、蓝牙 隔空投送均可以正常工作:

直通声卡

其实音频设备不添加的话也没有关系,默认我可以直通的两个独显是可以通过 DP/HDMI 传输音频数据的,需要直通显卡负责 HDMI/DP 音频传输的 PCIe 设备:

image-20221215211042745

也可以通过蓝牙来传输音频数据:

或者使用下图中这种 USB 声卡也是可以的,大多数这种 USB 声卡都是免驱的,直接 UBS 设备直通到虚拟机里即可使用:

当然我们主板自带的声卡也是可以直通的,

image-20221215210854818

image-20221215210903785

机型设置

因为我这个双路 E5 没有核显,而且很符合工作站性质,所以国光我将机型换成了 MacPro7,1 CPU 型号这里就换成 Mac Pro 自带的 3842 即可(CPU 代号需要自己查表计算,这属于进阶技能,国光这里不展开说了):

最终机型和 CPU 型号成功识别:

内存定制

细心的网友会发现我们的 MacPro 7,1 机型下,内存显示不正常,频率是未知的,而且还有告警提示:

作为黑苹果职业玩家,这怎么能忍,必须定制一下:

最终 MacPro7,1 机型内存修正后的效果如下:

硬盘对比

VirtIO Block 硬盘类型是黑苹果下最快的硬盘类型了,在 4k 测试下提升尤为明显,但是此时 QQ 会无法打开,只能换兼容性好的 SATA 硬盘才可以解决问题。

读写速度测试:

读写速度测试:

硬盘内建

默认 PVE 下的 VM 把我们的 SATA 硬盘识别成了外置驱动器,这怎么能忍(VirtIO Block 硬盘类型则不会出现这种情况):

使用 OCC 编辑器添加当前的两个 SATA controller:

然后均添加 built-in 属性,值为:01000000

重启后,最终硬盘内建的效果如下:

开机自启

默认的 OpenCore 如果我们不按回车的话,会一直卡在系统选择界面导致无法自动进入系统:

我们只需要编辑 OpenCore 的 config.plist 文件,找到「Musc-其他设置」取消勾选「Show Picker 显示引导菜单」即可:


最后更新: 2023-03-06