PVE黑苹果安装
参考网址:https://klabsdev.com/definitive-guide-to-running-macos-in-proxmox/
一、获取 macOS 安装镜像
macOS 官方只提供 .pkg 安装程序,因此需要手动生成 ISO。
一种方式是使用 gibMacOS 工具下载 macOS 安装包。
流程:
1️⃣ 下载 gibMacOS
https://github.com/corpnewt/gibMacOS解压后运行:
gibMacOS.command选择需要下载的 macOS 版本,例如:
macOS Sonoma
macOS Ventura
macOS Monterey
下载完成后会得到:
InstallAssistant.pkg创建 macOS ISO
创建临时磁盘:
hdiutil create -o /tmp/macOS -size 16000m -volname macOS -layout SPUD -fs HFS+J挂载:
hdiutil attach /tmp/macOS.dmg -noverify -mountpoint /Volumes/macOSISO创建安装介质:
sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createinstallmedia \
--volume /Volumes/macOSISO --nointeraction转换 ISO:
hdiutil convert /tmp/macOS.dmg -format UDTO -o macOS.cdr
mv macOS.cdr macOS.iso最终得到:
macOS.iso可以直接上传到 Proxmox 使用。
也可使用下载好的镜像
| MacOS | Version | Download |
| Tahoe | 26 | https://cdn.klabsdev.com/MacImages/macOS-Tahoe-Beta-26.0.iso |
| Sequoia | 15.4 | https://cdn.klabsdev.com/MacImages/macOS-Sequoia-15.4.iso |
| Sonoma | 14.1.1 | https://cdn.klabsdev.com/MacImages/macOS-Sonoma-14.1.1.iso |
| Ventura | 13.6.3 | https://cdn.klabsdev.com/MacImages/macOS-Ventura-13.6.3.iso |
| Monterey | 12.7.1 | https://cdn.klabsdev.com/MacImages/macOS-Monterey-12.7.1.iso |
二、准备 OpenCore 引导
macOS 在虚拟机中运行时需要 OpenCore Bootloader。
下载:https://github.com/thenickdude/KVM-Opencore?ref=klabsdev.com
OpenCore-v20.iso.gz解压得到:
OpenCore-v20.iso三、创建 macOS 虚拟机

在下一页,你将选择你上传的图片。然后选择操作系统类型。然后点击“下一步”。OpenCorev20.isoOther

在下一个界面,你会选择显卡。机器类型会是 。BIOS 应该是 。接下来,勾选添加EFI磁盘的选项。选择你希望保存这些物品的存储方式。然后在SCSI控制器中选择。然后点击“下一步”。VMWare compatibleq35OVMF (UEFI)VirtIO SCSI
确保你未勾选“预注册密钥”选项。如果不这样做,你会遇到启动问题!

在磁盘界面,将总线/设备设置为,并将存储设置为64GB或更大,具体取决于你想要的空间。接下来将缓存设置为 。最后,如果你在ZFS上运行这个虚拟机,请确保该框已被勾选。如果你没有使用ZFS,那就把这个框留在未勾选中。然后点击“下一步”。VirtIO BlockWrite back (unsafe)Discard

在CPU界面,选择核心部分。然后点击“下一步”

在内存界面,将内存(以兆字节计)设置为 。然后点击“下一步”

在网络标签页中,选择型号。然后点击“下一步”。

此时你可以选择完成虚拟机的设置。确保启动虚拟机的选项为未勾选,因为我们不希望虚拟机还没启动。我们需要先做一些硬件改动。
接下来,我们需要把我们制作的 MacOS 镜像/ISO 文件附加到虚拟机上。操作方法是进入硬件标签页,点击顶部的“添加”按钮,然后选择“CD/DVD驱动器”。

然后选择你上传的macOS镜像!点击“添加”。

接下来,点击你的MacOS虚拟机选择它。然后进入选项 - >启动顺序。我们需要确保它被设置为启动顺序中的第一个选项。OpenCore.iso

现在我们需要手动在虚拟机的 .conf 文件末尾添加一些参数。为此你需要进入Proxmox主机控制台。点击你的节点,然后点击右上角的Shell来实现。

打开控制台后,你可以用以下命令编辑虚拟机配置文件:用你的MacOS虚拟机的ID号更改。在这个例子中,我用的是999。VMIDHERE
nano /etc/pve/qemu-server/VMIDHERE.conf文件打开后,进入文件底部添加以下内容:
对于英特尔主机:
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 -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu host,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
对于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 -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
你还需要编辑关于挂载OpenCore和MacOS ISO镜像的CDROM驱动器配置中的两行。你需要删除并添加。这些线条应该是这样的:,media=cdromcache=unsafe
ide0: local:iso/macOS-Sonoma.iso,size=14450M,cache=unsafe
ide2: local:iso/OpenCore-v20.iso,size=150M,cache=unsafe点击“然后”来保存更改。CTRL + XYENTER
最后,我们可以启动虚拟机了!右键点击虚拟机并点击开始。之后点击屏幕右上角的控制台按钮。

打开控制台窗口后,按键打开 .ENTERUEFI Shell

通过输入安装UEFI位置:
fs0:然后我们可以通过输入以下方式运行UEFI启动文件:
System\Library\CoreServices\boot.efi

过一段时间后,你会进入MacOS恢复。
启动进入 MacOS 恢复后,选择“磁盘工具”。你需要在磁盘工具窗口中选择 VirtIO 块媒体并擦除磁盘。

新的窗口将会打开。选择名称、格式和方案。一组,点击“擦除”。完成后,点击“完成”。最后,你可以关闭磁盘工具窗口。MacOSAPFSGUID Partition Map

关闭磁盘工具窗口后,选择“安装macOS Sonoma”选项。请按照接下来的几个窗口提示操作。当你看到一个提示安装MacOS的屏幕时,选择我们之前格式化的“MacOS驱动器”。然后点击继续。

过一段时间后,数据会写入MacOS启动的驱动器。系统会重启几次。如果回到UEFI界面,选择“macOS 安装程序”。

重复几次后,你最终会进入区域选择界面。选择你的地区。点击继续。

接下来,如果你的偏好语言、输入来源和听写正确,点击继续。点击继续。

在无障碍界面选择“现在不行”。

点击“数据与隐私”界面继续。

请务必在迁移助手界面选择“当前不使用”。

最后,当被要求用 Apple ID 登录时,选择“稍后设置”。
请勿使用APPLE ID登录!确保你跳到下一步!

最后,你需要创建本地账户。你的虚拟机加载到桌面需要几分钟时间。

欢迎使用你的 Proxmox 运行的 MacOS 虚拟机



