因某些需求需要云Mac,记录一下折腾过程
一、准备工作
- OpenCore引导器
OpenCore 是一个开源的引导加载器,广泛用于黑苹果(在非苹果硬件上运行 macOS)项目。与常用的 Clover 引导器相比,OpenCore 支持更现代的 UEFI 启动方式,具有更高的可定制性和兼容性。它能够更好地模拟苹果硬件环境,提升 macOS 的稳定性和原生体验。
相比于其他引导器,OpenCore 的优势主要如下:
- 更强的硬件兼容性,适配新旧平台
- 更完善的安全性和原生功能支持(如 FileVault、iMessage 等)
- 配置灵活,易于维护和升级
- 社区活跃,文档丰富
OpenCore 已成为目前黑苹果领域主流的引导方案。
本教程使用的OpenCore项目链接:https://github.com/thenickdude/KVM-Opencore
在Release页面下载.iso.gz结尾的镜像文件即可,下载完后解压出ISO文件以供后续使用,该OpenCore当前最新支持Ventura
也可以用其他适配好的项目或自己配置
- OSX镜像
这里使用OSX-KVM项目的镜像下载脚本,需提前安装python3
脚本地址:https://github.com/kholia/OSX-KVM/blob/master/fetch-macOS-v2.py
下载完后控制台执行:
python fetch-macOS-v2.py

选择Ventura,等待下载完毕,下载完后是苹果的BaseSystem.dmg文件,需要用dmg2img工具转换一下
安装dmg2img:
archlinux直接执行:paru -S dmg2img,其他发行版问AI
然后执行:
dmg2img -i BaseSystem.dmg BaseSystem.img
就得到img系统镜像了
最后将OpenCore和BaseSystem.img上传到PVE中
二、创建虚拟机
阶段1
进入PVE控制台,点右上角创建虚拟机
操作系统:
类别选Other,ISO镜像选择OpenCore

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

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

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

网络:
模型选择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进入

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


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

因为要从网络同步,安装过程可能会比较久
要重启4次
第一次重启后在OpenCore引导界面选择Install,第二次也是选择Install,第三第四次就没有Install选项了,直接进系统即可
最后安装成功

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

