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 zu mb-press Antworten abbrechen