VM 201 – macOS Sequoia (Hackintosh)
Stand: April 2026
Note
macOS Sequoia als KVM-VM auf Proxmox. Läuft über OpenCore-Bootloader mit SMBIOS-Spoofing – kein nativer Apple-Support, aber vollständig funktionsfähig inkl. iCloud.
Basisdaten
| Parameter | Wert |
|---|---|
| VM-ID | 201 |
| Name | macos-sequoia |
| OS | macOS Sequoia 15.6.1 (24G90) |
| CPU | host passthrough, 4 Cores |
| RAM | 8.192 MB |
| Firmware | OVMF (UEFI), kein Secure Boot |
| Machine | q35 |
| Display | VMware SVGA |
| Netzwerk | vmxnet3, DHCP |
Disk-Übersicht
| Slot | LVM-Volume | Inhalt | Größe |
|---|---|---|---|
efidisk0 |
vm-201-disk-0 |
OVMF UEFI NVRAM | 4 MB |
sata0 |
vm-201-disk-1 |
macOS BaseSystem (Recovery-Image) | 1,3 GB |
sata2 |
vm-201-disk-3 |
Macintosh HD (macOS-Installation) | 100 GB |
sata3 |
vm-201-disk-2 |
OpenCore v21 Bootloader (GPT-Disk) | 152 MB |
Boot-Reihenfolge: sata3 (OpenCore) → sata0 (BaseSystem) → sata2 (Macintosh HD)
Bootloader – OpenCore
- Projekt: KVM-Opencore v21 (REL-100, März 2024)
- SMBIOS:
iMacPro1,1 - SecureBootModel:
j137(T1-Chip-Simulation – für iCloud zwingend erforderlich) - ScanPolicy:
0x0(alle Disk-Typen)
[!WARNING] Das OpenCore-„ISO" ist kein echtes ISO 9660, sondern ein raw GPT-Disk-Image. Es muss als SATA-Disk (nicht als CD-ROM) eingebunden werden – sonst findet OVMF keinen Bootloader.
SMBIOS-Seriennummern (iCloud-fähig)
| Feld | Wert |
|---|---|
| SystemSerialNumber | C02YJRZXHX87 |
| MLB | C02914310QXJG361M |
| SystemUUID | 6B7D3ACC-FA73-4437-94ED-3CEF31EF773C |
| ROM | BC2411E13CD2 (= VM-MAC ohne Doppelpunkte) |
OpenCore config.plist bearbeiten
Important
Nur bei gestoppter VM durchführen.
qm stop 201 mkdir -p /mnt/oc_efi losetup -f --show -o $((40*512)) /dev/pve/vm-201-disk-2 # gibt /dev/loopX aus mount /dev/loopX /mnt/oc_efi nano /mnt/oc_efi/EFI/OC/config.plist umount /mnt/oc_efi && losetup -d /dev/loopX qm start 201
iCloud & Apple-Dienste
| Dienst | Status |
|---|---|
| iCloud Drive, Fotos, Keychain | ✅ funktioniert |
| App Store | ✅ funktioniert |
| iMessage / FaceTime | ⚠️ manchmal blockiert – 24h warten, dann nochmal |
| Handoff, AirDrop, Sidecar | ❌ kein Bluetooth/WLAN in VM |
| GPU-Beschleunigung | ❌ kein Passthrough |
| Sleep / Standby | ❌ in macOS deaktivieren |
Troubleshooting „Prüfung fehlgeschlagen":
- SecureBootModel muss
j137sein (nichtDisabled) - iPhone/iPad: Einstellungen → Apple-ID → Passwort & Sicherheit → Bestätigungsdialog?
- Nochmal versuchen oder kurz über anderen IP-Bereich (Hotspot)
Neue SMBIOS-Seriennummern generieren
# macserial herunterladen (einmalig) curl -L https://github.com/acidanthera/OpenCorePkg/releases/download/1.0.7/OpenCore-1.0.7-RELEASE.zip -o /tmp/oc.zip unzip /tmp/oc.zip 'Utilities/macserial/macserial.linux' -d /tmp/oc/ chmod +x /tmp/oc/Utilities/macserial/macserial.linux # 3 Seriennummern generieren, einen Satz auswählen /tmp/oc/Utilities/macserial/macserial.linux -m iMacPro1,1 -n 3 # EFI mounten und patchen qm stop 201 losetup -f --show -o $((40*512)) /dev/pve/vm-201-disk-2 mount /dev/loopX /mnt/oc_efi python3 << 'PYEOF' import plistlib, uuid with open('/mnt/oc_efi/EFI/OC/config.plist', 'rb') as f: p = plistlib.load(f) pi = p['PlatformInfo']['Generic'] pi['SystemSerialNumber'] = 'NEUE_SERIAL' # ← anpassen pi['MLB'] = 'NEUE_MLB' # ← anpassen pi['SystemUUID'] = str(uuid.uuid4()).upper() pi['ROM'] = bytes.fromhex('BC2411E13CD2') with open('/mnt/oc_efi/EFI/OC/config.plist', 'wb') as f: plistlib.dump(p, f) print('Fertig:', pi['SystemSerialNumber']) PYEOF umount /mnt/oc_efi && losetup -d /dev/loopX qm start 201
VM vollständig entfernen (Rollback)
Warning
Diese Schritte löschen die VM und alle zugehörigen Daten unwiderruflich. Kein Backup nötig, aber sicher sein.
Schritt 1 – VM stoppen und vollständig löschen
qm stop 201 qm destroy 201 --purge
--purge entfernt automatisch alle LVM-Volumes:
vm-201-disk-0(EFI NVRAM, 4 MB)vm-201-disk-1(BaseSystem, 1,3 GB)vm-201-disk-2(OpenCore, 152 MB)vm-201-disk-3(Macintosh HD, 100 GB)/etc/pve/qemu-server/201.conf
Schritt 2 – Heruntergeladene Dateien entfernen
# OpenCore ISO aus local-Storage rm -f /var/lib/vz/template/iso/OpenCore-v21.iso # BaseSystem-Dateien auf HDD (hdd5tb) rm -f /mnt/storage/pve-data/iso/BaseSystem.dmg rm -f /mnt/storage/pve-data/iso/BaseSystem.img rm -f /mnt/storage/pve-data/iso/BaseSystem.chunklist # OSX-KVM Projektverzeichnis rm -rf /opt/OSX-KVM # macserial / OpenCorePkg (falls vorhanden) rm -rf /tmp/oc/ /tmp/oc.zip /tmp/oc107* /tmp/oc107.zip
Schritt 3 – Optionale Aufräumarbeiten
# Mount-Verzeichnisse entfernen rmdir /mnt/oc_efi /mnt/macos_installer 2>/dev/null || true # Tools deinstallieren (nur wenn nicht anderweitig genutzt) apt remove -y dmg2img p7zip-full
Verifikation – alles weg?
qm list # VM 201 darf nicht erscheinen lvs | grep vm-201 # darf keine Ausgabe liefern ls /var/lib/vz/template/iso/ | grep -i opencore ls /mnt/storage/pve-data/iso/ | grep -iE 'base|opencore' ls /opt/OSX-KVM 2>/dev/null && echo 'NOCH DA' # nichts ausgeben = OK
Prüfung / Status
qm status 201 qm config 201
