backgroundbackground
PVE黑苹果食用指南

PVE黑苹果食用指南

黑苹果 / PVE / KVM / OSX

教程

2025-09-09 02:10

因某些需求需要云Mac,记录一下折腾过程

一、准备工作

  1. OpenCore引导器

OpenCore 是一个开源的引导加载器,广泛用于黑苹果(在非苹果硬件上运行 macOS)项目。与常用的 Clover 引导器相比,OpenCore 支持更现代的 UEFI 启动方式,具有更高的可定制性和兼容性。它能够更好地模拟苹果硬件环境,提升 macOS 的稳定性和原生体验。

相比于其他引导器,OpenCore 的优势主要如下:

  • 更强的硬件兼容性,适配新旧平台
  • 更完善的安全性和原生功能支持(如 FileVault、iMessage 等)
  • 配置灵活,易于维护和升级
  • 社区活跃,文档丰富

OpenCore 已成为目前黑苹果领域主流的引导方案。

本教程使用的OpenCore项目链接:https://github.com/thenickdude/KVM-Opencore

在Release页面下载.iso.gz结尾的镜像文件即可,下载完后解压出ISO文件以供后续使用,该OpenCore当前最新支持Ventura

也可以用其他适配好的项目或自己配置

  1. OSX镜像

这里使用OSX-KVM项目的镜像下载脚本,需提前安装python3

脚本地址:https://github.com/kholia/OSX-KVM/blob/master/fetch-macOS-v2.py

下载完后控制台执行:

python fetch-macOS-v2.py

fetch-macOS-v2.py

选择Ventura,等待下载完毕,下载完后是苹果的BaseSystem.dmg文件,需要用dmg2img工具转换一下

安装dmg2img

archlinux直接执行:paru -S dmg2img,其他发行版问AI

然后执行:

dmg2img -i BaseSystem.dmg BaseSystem.img

就得到img系统镜像了

最后将OpenCoreBaseSystem.img上传到PVE中

二、创建虚拟机

阶段1

进入PVE控制台,点右上角创建虚拟机

操作系统:

类别选Other,ISO镜像选择OpenCore

操作系统

系统:

显卡选择VMware兼容,机型选择q35,勾选QEMU代理,BIOS选择OVMF(UEFI),不要勾选预注册密钥

系统

磁盘:

总线设备选择VirtIO Block,磁盘大小最低32G

磁盘

CPU:

类别选Haswell,核心数量需要是2的幂,例如2、4、8、16等

CPU

网络:

模型选择VirtIO (半虚拟化)

网络

确认创建,此时不要启动,进入虚拟机的硬件配置,添加CD/DVD驱动器,把BaseSystem.img加进去

还要做一些特殊配置,PVE的界面无法直接配置,需要进入shell改配置文件

记下虚拟机的编号id,例如100

阶段2

进入PVE的shell,执行下面的命令避免循环引导

echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u

编辑配置文件/etc/pve/qemu-server/100.conf,这里的100改成你的虚拟机id

根据你的CPU型号在开头加入下面配置:

# Intel处理器
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

# AMD处理器
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -cpu Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+fma4,+bmi1,+bmi2,+xsave,+xsaveopt,check

如果您的 CPU 不支持+invtsc功能,或者您希望能够在 Proxmox 节点之间迁移正在运行的虚拟机,您可以从 -cpu 列表中删除+invtsc功能。

在 AMD 上,您可能会发现安装程序在加载时重新启动,或者没有出现加载栏,如果是这样,请将-cpu host替换为-cpu Haswell-noTSX

将ide的两行的media=cdrom改为media=disk

保存退出

最后在虚拟机选项中确认引导顺序,将OpenCore排在第一位

三、安装系统

启动虚拟机,进入OpenCore的引导界面

选择Base System进入

OpenCore

选择磁盘工具,点Continue,选择你要安装的目标磁盘,点右上角抹掉,格式选APFS,方案选GUID分区,点抹掉开始格式化磁盘

磁盘工具

磁盘工具

然后退出磁盘工具,选择Reinstall maxOS开始安装OSX,选择刚刚格式化好的磁盘,等待安装完成自动重启

磁盘工具

因为要从网络同步,安装过程可能会比较久

要重启4次

第一次重启后在OpenCore引导界面选择Install,第二次也是选择Install,第三第四次就没有Install选项了,直接进系统即可

最后安装成功

OSX

四、使用体验

当前PVE上的OSX体验并不算流畅,仅仅是可用的水平,后面可能会尝试添加AMD显卡来增强图形性能,看看体验会不会更好,待续...

五、参考链接