macOS Monterey unter Proxmox installieren

Vorab: Ja, es geht. Aber ohne durchgereichte Grafikkarte bereitet macOS unter Proxmox keine Freude, da keine Videobeschleunigung verfĂŒgbar ist.
Auch die gesammte Installation zieht sich wie Kaugummi. Ist alles sehr trÀge und dauert. Meine Herausforderung war nur es zum laufen zu bringen.

mein Setup:

  • Dell PowerEdge T420
  • Proxmox 7.1
  • macOS Monterey Recovery Image
  • KVM OpenCore Bootloader

Um hier nicht nochmal alles im Detail beschreiben zu mĂŒssen, verweise ich mal auf die sehr ausfĂŒhrlichen Artikel von Nicholas Sherlock.
Den benötigten Apple OSK Key findet man ĂŒber den zweiten link. ;)

Vorbereitungen

Ohne ein laufendes macOS kann man sich nur ein Recovery Image erstellen, was aber vollkommen ausreichend ist.
Das eigentliche Installationsprogramm wird wÀhrend der Installation aus dem Internet nachgeladen.  (ca. 12GB)

Auf dem Proxmox Host das script fetch-macOS-v2.py herunterladen und im Terminal ausfĂŒhren.

$ wget https://raw.githubusercontent.com/kholia/OSX-KVM/master/fetch-macOS-v2.py
$ chmod +x fetch-macOS-v2.py
$ ./fetch-macOS-v2.py
1. High Sierra (10.13)
2. Mojave (10.14)
3. Catalina (10.15)
4. Big Sur (11.6) - RECOMMENDED
5. Monterey (latest)

Choose a product to download (1-5): 5
Monterey (latest)
Downloading 002-23770...
--- SNIP ---

Das DMG Image konvertieren.

$ qemu-img convert BaseSystem.dmg -O raw Monterey-Recovery.iso

Ein aktuelles KVM-Opencore ISO herunterladen.

$ wget https://github.com/thenickdude/KVM-Opencore/releases/download/v15/OpenCore-v15.iso.gz
$ gunzip OpenCore-v15.iso.gz

Beide Dateien in den ISO Store kopieren.

$ cp OpenCore-v15.iso /var/lib/vz/template/iso/
$ cp Monterey-Recovery.iso /var/lib/vz/template/iso/

macOS Montery VM erstellen

ZusĂ€tzliches CD Laufwerk hinzufĂŒgen. (IDE 0, Monterey-Recovery.iso)

In der /etc/pve/qemu-server/200.conf, die beiden EintrÀge mit media=cdrom durch cache=unsafe ersetzen.

ide0: local:iso/Monterey-Recovery.iso,cache=unsafe,size=3133040K
ide2: local:iso/OpenCore-v15.iso,cache=unsafe

FĂŒr eine Intel CPU noch folgenden Eintrag am Ende einfĂŒgen und den Apple OSK Key Ă€ndern.

args: -device isa-applesmc,osk="THE-OSK-YOU-EXTRACTED-GOES-HERE" -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,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc

Die Boot Order auf IDE2 (OpenCore.iso) stellen und andere EintrÀge deaktivieren.

macOS Montery installieren

VM starten, der OpenCore Bootloader sollte jetzt das Recovery Image laden können. (macOS Base System)

Disk Utility auswÀhlen, Festplatte löschen, neu erstellen und formatieren.

ZurĂŒck und Reinstall macOS Monterey auswĂ€hlen.

Harddisk auswÀhlen und los. (Im Terminal des Hosts lasse ich parallel iftop laufen, da sieht man gut wieviel Gigabyte schon heruntergeladen wurden.)

Nach dem Reinstall wird die VM mehrmals neu starten. Immer macOS Installer auswÀhlen bis der Eintrag verschwunden ist und die eigene Harddisk dort erscheint.

Hat man sich dann noch durch den elendig langsamen Setup-Assistenten gequÀlt, ist macOS endlich installiert.

OpenCore auf die Harddisk installieren

Gestartet wird immer von der eingebundenen OpenCore.iso. Der Bootloader wird jetzt auf die Harddisk installiert um von dieser dann starten zu können.
Mit dd wird die EFI Partition der macOS Harddisk mit der EFI Partition der OpenCore ISO ĂŒberschrieben.

Bei mir ist die disk1s1 die EFI Partition der macOS Harddisk und die disk2s1 die EFI Partition der ISO. (Aufpassen das man hier die richtigen Disks auswÀhlt!)

Die VM jetzt herunterfahren und die beiden Installer ISOs (Harddisks) entfernen. Die Boot Order noch auf virtio0 Àndern und wieder starten.
Passt alles, erscheint das OpenCore Boot-MenĂŒ und die macOS Harddisk kann zum starten von Monterey ausgewĂ€hlt werden.

OpenCore Einstellungen Àndern

Die EFI Partition mounten um die config.plist zu bearbeiten. Ich habe z.B. bei mir die Auflösung auf 1440 x 900 geÀndert. (default sind 1920 x 1080)

# EFI Partiton ermitteln
root$ diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         68.7 GB    disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         68.5 GB    disk0s2

# Verzeichnis fĂŒr den Mountpoint erstellen
root$ mkdir /Volumes/EFI

# EFI Partition mounten
root$ mount -t msdos /dev/disk0s1 /Volumes/EFI

# config.plist editieren
root$ vi /Volumes/EFI/EFI/OC/config.plist
--- SNIP ---
<key>Resolution</key>
<string>1440x900@32</string>
--- SNIP ---

# EFI Partition unmounten
root$ diskutil umount /Volumes/EFI

configuration.pdf – Beschreibung der OpenCore config.plist Konfiguration

10 Gedanken zu „macOS Monterey unter Proxmox installieren“

  1. Vielen Dank fĂŒr dieses tolle Tutorial. Auf Wunsch ist eine GPU-Beschleunigung möglich. Ich habe es nie geschafft, aber viele Leute haben es geschafft.

    Ich habe dir den Link gesetzt: https://www.youtube.com/watch?v=MdQqms6aySU&t=777s

    Es gibt viele usr-Internet-Tutorials zu GPU (PASSTHROUGH) proxmox, aber ehrlich gesagt habe ich es nie geschafft, meine Intel HDA 4600-Hardware oder meine Grafikkarten: ATI HD5770 und AMD R9 270X zum Laufen zu bringen.

    Wenn Sie sich eines Tages entscheiden, ein GPU (PASSTHROUGH) proxmox-Tutorial zu machen, werde ich wie immer da sein, um Ihnen zu danken ^^.

    Danke aus Frankreich (Marseille)

    Antworten
  2. Hallo,
    vielen Dank fĂŒr die tolle Anleitung.

    Ich komme leider nur bis zu diesem Punkt
    “VM starten, der OpenCore Bootloader sollte jetzt das Recovery Image laden können. (macOS Base System)”

    An der Stelle lÀdt der Bootloader das Image nicht mir wird an der Stelle immer nur die Shell angezeigt.

    Woran kann das liegen?

    Danke fĂŒr die Hilfe!

    GrĂŒĂŸe
    Chris

    Antworten
  3. Guten Abend,
    wo kann ich den genau die EintrÀge Àndern? Stehe gerade etwas am Schlauch.

    In der /etc/pve/qemu-server/200.conf, die beiden EintrÀge mit media=cdrom durch cache=unsafe ersetzen.

    Antworten

Schreibe einen Kommentar