Running a MacOS 14 Sonoma VM in ProxMox VE

💡 NOTE: MacOS higher than version 12 requires a CPU with AVX2 instruction support

  1. Download a MacOS Sonoma .iso Download OR create your own https://youtu.be/JFMvUpdCMwo
  2. Download KVM OpenCore bootloader Download
  3. Extract the downloaded KVM OpenCore bootloader .gz file
  4. Upload the Sonoma and KVM OpenCore .iso files to the Proxmox ISO library
  5. Log into the ProxMox web UI
  6. Right click the ProxMox node name > Create VM
  7. Type MacOSSonoma in the name field, set the VM ID to 1400 (unless 1400 is in use) > Next
  8. On the OS tab, set the Type field to Other and select the KVM OpenCore .iso in the ISO Image field > Next
  9. On the System tab, set the Graphic card field to VMware compatible, BIOS field to OVMF (UEFI), Uncheck the Pre-Enroll Keys checkbox, Check the Add EFI Disk checkbox, Machine field to q35 and the SCSI Controller to VirtIO SCSI > Next
  10. On the Hard Disk tab, set the Bus/Device field to VirtIO Block, Disk size field to 64, Cache field to Write back (unsafe) > Next
  11. On the CPU tab, set Cores field to 4, Type field to host > Next
  12. On the Memory tab, set the Memory to 4096 > Next
  13. On the Network tab, set the Model field to VMware vmxnet3 > Next
  14. Verify the summary and click Finish
  15. Click the MacOSSonoma VM > Select Hardware from the left sub-navigation menu
  16. Click Add > CD/DVD Drive
  17. Select the MacOS Sonoma .iso downloaded earlier > Click Create
  18. Select the MacOSSonoma VM > Options > Boot Order
  19. Set the KVM OpenCore disk as the first boot option > Click OK
  20. Right click the ProxMox node name > Console
  21. Run the following commands in the terminal
    # edit the VM conf file, change 1400 to the VM ID for the MacOSSonoma VM
    nano /etc/pve/qemu-server/1400.conf
  22. If running on an Intel CPU, add the following line to the bottom of the .conf file:

    args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device qemu-xhci -device usb-kbd -device usb-tablet -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

  23. If running on an AMD CPU, add the following line to the bottom of the .conf file:

    args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device qemu-xhci -device usb-kbd -device usb-tablet -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

  24. Press CTRL+W and search for ,media=cdrom
  25. Delete the ,media=cdrom from the two attached .iso files (KVM OpenCore and Sonoma) and add cache=unsafe
  26. Press CTRL+O, Enter, CTRL+X to write the changes to the conf file
  27. Back in the Proxmox web UI, right click the MacOSSonoma VM in the left navigation pane > Start
  28. Click console in the left sub-navigation menu
  29. At the OpenCore menu, select UEFI Shell > Press Enter
  30. Type the following in the UEFI shell:
    # change to the Sonoma.iso, the disk number may be different for you
    fs0:
    # launch the MacOS installer
    System\Library\CoreServices\boot.efi
  31. After a long initialization sequence the MAC OS Setup should start
  32. Select Disk Utility
  33. Select the VIRTIO Block Media > Click Erase
  34. Name the drive MacOS > Set the Format to APFS > Click Erase
  35. Click Done > Close Disk Utility
  36. Click Install macOS Sonoma
  37. Click Continue > Click Agree > Click Agree again
  38. Select the MacOS disk > Click Install
  39. Wait while Mac OS installs files, the VM will reboot several times
  40. Select your Country or Region > Click Continue
  41. Confirm your languages and keyboard layout > Click Continue
  42. Click Not Now on the Accessibility screen
  43. Click Continue on the Data & Privacy screen
  44. Select Not Now on the Migration Assistant screen
  45. Select Set Up Later and then Skip on the Apple ID screen
  46. Click Agree > Agree again
  47. Enter a name, user name, password > Click Continue
  48. Click Continue > Select Use or Don't Use for Location Services
  49. Pick a timezone > Click Continue
  50. Uncheck Share Mac Analytics with Apple > Click Continue
  51. Click Set Up Later on the Screen Time screen
  52. Pick a theme > Click Continue
  53. Welcome to MacOS 14 Sonoma

Configuring Booting Without OpenCore Mounted

  1. Log into the MacOSSonoma VM
  2. Launch a web browser and download the KVM OpenCore EFI folder Download
  3. Download MountEFI from GitHub Download
  4. Start LaunchPad from the dock
  5. Search terminal > Click Terminal to launch it
  6. Run the following commands in the terminal window
    cd ~/Downloads/MountEFI
    chmod +x MountEFI.command
    ./MountEFI.command
  7. Enter the number that corresponds to the MacOS drive created during the installation > Press Enter
  8. Open a Finder window
  9. Navigate to the mounted EFI location
  10. If an existing EFI folder exists, rename the it to EFI.orig
  11. Copy the KVM OpenCoreEFI folder downloaded earlier to the mounted EFI partition
  12. Once the EFI folder is copied, shutdown the VM
  13. Click the MacOSSonoma VM > Select Hardware from the left sub-navigation menu
  14. Click the OpenCore Hard Disk to select it > Click Detach
  15. Click the detached OpenCore Hard Disk to select it again > Click Remove
  16. Right click the MacOSSonoma VM in the left navigation pane > Start
  17. Click console in the left sub-navigation menu to verify the VM still boots into Sonoma without the OpenCore disc image mounted