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. ;)
- https://www.nicksherlock.com/2021/10/installing-macos-12-monterey-on-proxmox-7
- https://i12bretro.github.io/tutorials/0551.html
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
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)
Danke.
Habe noch eine GT710 hier rumliegen. Werde es damit mal versuchen… ;)
Ein gutes Tutorial findet sich hier…
https://blog.quindorian.org/2018/03/building-a-2u-amd-ryzen-server-proxmox-gpu-passthrough.html/
Damit habe ich meine Radeon Pro W6600 an die VM durchgereicht und es läuft sogar mit 4 Monitoren problemlos.
VG
Michael
Super, danke!
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
Dann hast du beim erstellen der EFI Disk das Häkchen bei Pre-Enrolled keys nicht entfernt.
Die Disk einfach löschen und neu erstellen.
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.
In der /etc/pve/qemu-server/VMID.conf deiner VM.
Danke für deine schnelle Antwort, ich glaube ich bin zu dumm.
Ich finds einfach nicht, kannst du mir bitte ne Hilfestellung geben wo ich das finde?
In der /etc/pve/qemu-server/VMID.conf deiner VM. Die zwei ide Einträge.
ide0: local:iso/Monterey-Recovery.iso,media=cdrom,size=3133040K
ide0: local:iso/Monterey-Recovery.iso,cache=unsafe,size=3133040K