User Tools

Site Tools


proxmox:virtual:monterey

Install MacOS as Proxmox Virtual Machine

I have yet to install MacOS on Proxmox from the scratch… I converted the existing Unraid VM to Proxmox. The below steps outline that process and I hope to update this page with instructions for a fresh install. If not, do it on Unraid and then follow the below :D. If you are attempting to install a fresh copy… try this: https://www.nicksherlock.com/2022/10/installing-macos-13-ventura-on-proxmox/

Proxmox Settings

  • OS
    • Do not use any media (we will move over out existing vdisk
    • Type: Other
  • System
    • Graphic card: VMware compatible (we will add GPU passthrough later)
    • Machine: q35
    • BIOS: OVMF (UEFI)
    • EFI Storage: local-lvm
    • Pre-Enroll keys: UNCHECK
    • SCSI Controller: VirtIO SCSI single
    • Qemu Agent: CHECKED
    • Add TPM: UNCHECKED
  • Disks
    • Just create a small blank disk, we are going to erase and replace with already built disk
  • CPU
    • Sockets: 1
    • Cores: 8
    • Type: Haswell
  • Memory
    • 8192
    • Ballooning Device: UNCHECKED
  • Network
    • Bridge: vmbr0
    • Model: VirtIO (paravirtualized)
  • Confirm
    • Don't start vm after creation
    • Finish

Passthrough some stuff

  • Wait to do the GPU until the end (or try it now, I dunno. I did the GPU after successful boot but I think I did the USB stuff first to have keyboard and mouse access)
  • Datacenter → Node name → VM
  • Click Hardware
    • Click Add
    • PCI Device
    • Raw Device
    • Device: Select the Device you want to add based on its address
    • All Functions: CHECKED
    • Click OK
  • I did this for USB and Wifi (though I turned Wifi off because I'm tracking down a webpage loading issue… not sure if it's PiHole or Wifi/Eth conflicts.

Move virtual disk over

  • Erase old disk
    • Go to Datacenter → node name → osx vm
    • Click on Hardware
    • Select hard disk to remove
    • click Detach
    • click Remove
  • Import new disk
    • move the new disk to a location that proxmox can see it (see adding share in the install proxmox section)
    • ssh into proxmox or open a shell (Datacenter → node name, then click >_ Shell
    • go to the folder of that new disk (cd /mnt/pve/unraid/ for example)
    • rename the image to a .raw file
    • type the import command:
      qm importdisk 201 macos_disk.raw local-lvm --format raw
      • where 201 is the vm id and local-lvm is the location.
    • after complete go to the vm → hardware and double click on the unused disk and click Add
    • go to Options → Boot Order and set the bood order to the top.

Set boot flags etc

  • ssh into proxmox or open a shell (Datacenter → node name, then click >_ Shell
  • edit the file /etc/pve/qemu-server/YOUR-VM-ID-HERE.conf
    • update the args: line to look like this:
    • args: -device isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc -smbios type=2 -device usb-kbd,bus=ehci.0 -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
    • some sites say to put your OSK instead of that phrase… i've always used phrase
  • final .conf file for me looks like:
    • agent: 1
      args: -device isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc -smbios type=2 -device usb-kbd,bus=ehci.0 -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
      balloon: 0
      bios: ovmf
      boot: order=ide0
      cores: 8
      cpu: Haswell
      efidisk0: local-lvm:vm-201-disk-0,efitype=4m,size=4M
      hostpci0: 0000:05:00
      hostpci1: 0000:11:00,x-vga=1
      hostpci2: 0000:06:00,pcie=1
      ide0: local-lvm:vm-201-disk-1,size=300G
      ide2: none,media=cdrom
      machine: q35
      memory: 8192
      meta: creation-qemu=9.0.0,ctime=1720659249
      name: sonoma
      net0: virtio=BC:24:11:87:A6:24,bridge=vmbr0,firewall=1
      numa: 0
      onboot: 1
      ostype: other
      scsihw: virtio-scsi-single
      smbios1: uuid=7d279eae-4fb5-43c0-a88e-dbed318fc746
      sockets: 1
      vmgenid: 8317cc90-c5a3-4296-9389-3905ccd0c139

GPU Passthrough

  • Datacenter → Node name → VM
  • Click Hardware
    • Click Add
    • PCI Device
    • Raw Device
    • Device: Select the Device you want to add based on its address
    • All Functions: CHECKED
    • Primary GPU: CHECKED
    • Click OK
proxmox/virtual/monterey.txt · Last modified: by dirk