Hello everyone, welcome to another Hackintosh tutorial. In this article, I am going to show you how to install macOS Monterey Beta on Proxmox VE. The new macOS 12 Monterey Beta is currently available. We can download the installer via Apple Developer Account. But if you don’t have it, don’t worry, we can solve it. Before we continue, there is some information for you. First, in order to download the macOS Monterey installer, you will need a real Mac or a working Hackintosh. If you don’t have a Mac or Hackintosh, there is a way to download the macOS Monterey Beta ISO directly. But personally, I haven’t tried this ISO. But I will give the download link for you to try. This will be a pretty long article, but if you like to try macOS Monterey on your Proxmox VE, I think it’s worth it.
Before we go through, you may want to check my related articles below
Prerequisites
- Proxmox VE server
- A Mac or Hackintosh
Steps to Install macOS Monterey Beta on Proxmox 6.4
Step 1. Download macOS Monterey
First we need to download macOS Monterey Beta installer on your Mac or Hackintosh. Please read my guide below to download macOS Monterey Beta without developer account. After the download finish, do not install it. If the installer open automatically, simply close it. We don’t want to install the Monterey here.
At the end of this process, you will have a file called Install macOS 12 Beta in your Applications folder.
Step 2. Make the ISO or IMG
In this step, we will create the IMG file from the macOS Monterey installer. Download the repository from the link below. Thanks to Nicholas Sherlock for this great script and all the guides he made on his website. This article won’t exist without his great guide. Proxmox can read IMG just like ISO format. So don’t get confused.
https://github.com/thenickdude/OSX-KVM
From your Mac or Hackintosh, open the Terminal and execute this command
xcode-select --install
This will download and install the xcode from the internet.
Now cd to the OSX-KVM-master/scripts/monterey
cd ~/Downloads/OSX-KVM-master/scripts/monterey
And then use this command to create the .img installer.
make Monterey-full.img
This process will take a while. You will also need to enter your password when asked to. At the end of the process, you should see something like this.
And also you should see the Monterey-full.img is now in that monterey folder.
Step 3. Upload the IMG to Proxmox Storage
Now let’s upload this Monterey-full.img to the Proxmox ISO storage.
Step 4. Prepare the OpenCore boot loader ISO
Now we are going to prepare the OpenCore boot loader ISO. You can download the latest OpenCore ISO for macOS Monterey using the link below. This version has been modified so it will work with macOS Monterey on Proxmox VE. It also works with macOS Catalina and Big Sur.
https://github.com/thenickdude/KVM-Opencore/releases
Step 4. Get the OSK Authentication Key
The OSK Authentication Key is needed to verify that macOS is running on the Real Mac hardware. There is a step to get this code. But because all hardware will return the same OSK key, I think it is simpler for you to get this OSK key from the forum below.
https://forum.proxmox.com/threads/mini-howto-running-mac-os-x-10-9-under-proxmox-3-3.19722/page-4
The key will start with the following word: ourhardworkbythesewordsguardedpleasedontsteal…… I won’t type the complete key here because I am not sure if it is legal or illegal.
Step 5. Create the Virtual Machine
Now let’s create a new virtual machine in Proxmox.
First, give the new VM a name and please take a not of the VM ID. We will need this later.
Next select the OpenCore-v13.ISO and guest OS set to Other.
Set graphic card to VMware compatible and tick the Qemu Agent. Set Machine to q35 and BIOS set to OVMF (UEFI). Don’t forget to set the storage for the EFI disk.
Now create a new hard disk with 100 GB, set to raw format and write back (unsafe) option as shown below.
Set the CPU core 4 (minimum) or you can set it higher number if your host processor has more cores. Set the CPU type to Penryn.
Set the RAM for the VM. In this case I set mine to 8 GB. Disable ballooning device option.
Finally, the VM summary.
Add second IDE drive
Go to the Hardware page of the VM. Add a new CD/DVD at IDE 0 and then select the Monterey-Full.img
Step 6. Configure the Config file
Do not start the VM just yet. We need to modify the VM config file. Now connect to the Proxmox server via SSH and edit the VM config file. In this case, my VM ID is 105.
ssh root@192.168.100.200
And then execute this command to edit the 105.conf file using nano.
sudo nano /etc/pve/qemu-server/105.conf
Now add this line to the config file
args: -device isa-applesmc,osk="YOUR-OSK" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2
If you are running Intel processor on your Proxmox server, add this line to the end of the “args” line
-cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc
If you are on AMD processor, use this line instead
-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
Next, find the two ISO’s, IDE0 and IDE2, replace the “media=cdrom” with “cache=unsafe“. This is the final example of my config file.
args: -device isa-applesmc,osk="your-osk-code-here" -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 agent: 1 balloon: 0 bios: ovmf boot: order=virtio0;ide2;net0 cores: 4 cpu: Penryn efidisk0: disk2:105/vm-105-disk-1.qcow2,size=128K ide0: disk2:iso/Monterey-full.img,cache=unsafe,size=14G ide2: disk2:iso/OpenCore-v13.iso,cache=unsafe machine: q35 memory: 8192 name: Monterey net0: vmxnet3=2E:5F:B8:11:0D:80,bridge=vmbr0,firewall=1 numa: 0 ostype: other scsihw: virtio-scsi-pci smbios1: uuid=7d2565af-cc25-45d4-afa5-8aa560359563 sockets: 1 vga: vmware virtio0: disk2:105/vm-105-disk-0.raw,cache=unsafe,discard=on,size=100G vmgenid: fd69999e-3c1f-40ea-a3f7-33bed17ef382
Step 7. Configure Proxmox
To avoid boot loop during macOS boot process, execute this command on Proxmox server.
echo 1 > /sys/module/kvm/parameters/ignore_msrs
Make it persistent with this command
echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u
Step 8. Install macOS Monterey
Now boot the VM and on the first boot screen picker, choose Install macOS 12 Beta as shown below.
Wait until it reaches the following screen.
Choose Disk Utility and click Continue. And then select the hard disk that say Apple Inc. VirtIO Block Media. If you cannot see this, click View and choose Show All Devices.
Give a name for the hard disk, Format set to APFS and Scheme set to GUID Partition Map.
Click Erase to start formatting the disk.
When finish, close the Disk Utility and it will back to the main screen. Choose install macOS 12 Beta and then click Continue.
And then click Continue
Accept the license agreement
Select the destination disk
Now the installation will start
Be patient because the installation could take a long time. During the installation, it will restart several times and make sure you select macOS installer on the next boot picker menu.
Finally, macOS 12 Monterey on Proxmox. But before that, there are some final steps we need to take. Configure macOS. It will take few minutes. We need to set the language, Apple ID, and so on. I will skip these steps.
And viola
To avoid the boot loop during macOS boot, we need to turn on the FileVault,
Step 9. Make the installation permanent
When we reboot macOS Monterey, we still need the OpenCore.iso disk to boot. We need to copy the EFI folder to the EFI partition in the new macOS system. From the macOS Monterey, download Clover Configurator. We will use this to mount the EFI partitions. Get it from here
Now run the program and then click Mount EFI from the left panel. See my illustration below. We are going to copy the EFI folder from the source to the destination.
To do that, click Mount Partition from the source and Destination. And then click Open Partition for both. Finally copy the EFI folder accross.
Now you can remove the OpenCore.iso from the hardware list on the Proxmox VM hardware page.
Leave a Reply