Ganz ehrlich – ich Windows weder auf einem meiner Rechner installiert, noch in einer virtuellen Maschine – seit jetzt 21 Jahren. Warum nicht? Ich brauche es einfach nicht. Hin und wieder installiere ich Windows in einer VM zwecks irgendeinem Beitrag – aber brauchen, nein.
Da ist macOS schon eine andere Geschichte. Es ist zumindest ein ferner Verwandter von Linux (BSD) – es hat ein Terminal mit dem auch unbedarfte Nutzer arbeiten können, ohne sich lange damit zu beschäftigen und so einiges mehr.
Nun, so oder so – macOS lässt sich problemlos unter Linux mit Qemu virtualisieren, und dies um einiges performanter als mit anderen oder kommerziellen Lösungen. Es ist sogar legal und kostenlos.
macOS unter Linux virtualisieren
Zu Beginn installieren Sie unter auf Debian basierenden Linux-Distributionen folgende Pakete über die Paket-Verwaltung „qemu-system qemu-utils python3 python3-pip„.
Unter Arch Linux und darauf basierenden Linux-Distributionen die Pakete „qemu python python-pip python-wheel„.
Unter Void Linux „qemu python3 python3-pip„.
Unter openSUSE „qemu-tools qemu-kvm qemu-x86 qemu-audio-pa python3-pip„.
Unter Fedora „qemu qemu-img python3 python3-pip„.
Sowie unter Gentoo „qemu python:3.4 pip„.
Nun brauchen Sie das Skript „macos-simple-kvm“ von GitHub, dazu öffnen Sie am einfachsten das Terminal und starten als normaler Nutzer den Befehl:
wget https://github.com/foxlet/macOS-Simple-KVM/archive/master.zip
Somit landet das Skript im Verzeichnis, in dem wir uns auf dem Terminal aktuell befinden, Sie entpacken das komprimierte Archiv und speichern das entpackte Verzeichnis in einem Verzeichnis Ihrer Wahl:
Bevor wir weiter gehen, öffnen wir die darin liegende Datei „basic.sh“ mit einem beliebigen Texteditor:
Hier noch einmal als Text:
#!/bin/bash
OSK="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VMDIR=$PWD
OVMF=$VMDIR/firmware
#export QEMU_AUDIO_DRV=pa
#QEMU_AUDIO_DRV=pa
qemu-system-x86_64 \
-enable-kvm \
-m 2G \
-machine q35,accel=kvm \
-smp 4,cores=2 \
-cpu Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc \
-device isa-applesmc,osk="$OSK" \
-smbios type=2 \
-drive if=pflash,format=raw,readonly,file="$OVMF/OVMF_CODE.fd" \
-drive if=pflash,format=raw,file="$OVMF/OVMF_VARS-1024x768.fd" \
-vga qxl \
-device ich9-intel-hda -device hda-output \
-usb -device usb-kbd -device usb-mouse \
-netdev user,id=net0 \
-device e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \
-device ich9-ahci,id=sata \
-drive id=ESP,if=none,format=qcow2,file=ESP.qcow2 \
-device ide-hd,bus=sata.2,drive=ESP \
-drive id=InstallMedia,format=raw,if=none,file=BaseSystem.img \
-device ide-hd,bus=sata.3,drive=InstallMedia \
In dieser Datei können wir die virtuelle Maschine – eben Qemu anpassen. So lässt sich mit der Zeile:
-m 2G \
Der Arbeitsspeicher der VM anpassen, standardmäßig 2 GB. Mit:
-smp 4,cores=2 \
lässt sich die Anzahl der Prozessorkerne angeben die in der virtuellen Maschine arbeiten – je mehr, desto schneller arbeitet die VM und damit auch das darin liegende macOS. Standardmäßig 2, besser natürlich mehr – jedoch sollten es nicht mehr als die Hälfte der real verfügbaren sein.
Nun laden wir das gewünschte macOS-Image herunter, hierzu nutzen wir im Verzeichnis „macOS-Simple-KVM-master“ das Terminal (als normaler Nutzer natürlich) und starten den Befehl „jumpstart.sh„. Als Option geben wir das gewünschte System an „--high-sierra
", "--mojave
„, „--catalina
“ oder eben „--big-sur
„. In meinem Beispiel:
./jumpstart.sh --big-sur
Hat sich der Befehl beendet, liegt in unserem Verzeichnis eine neue Datei namens „BaseSystem.img“ – das Image für die Installation. Was wir noch benötigen, ist eine virtuelle Festplatte – diese erstellen wir mit dem Befehl:
qemu-img create -f qcow2 MyDisk.qcow2 64G
Zuletzt finden Sie hier „64G“ – hiermit legen Sie fest, wie groß die Festplatte sein soll, minimal sollte diese 30 GB groß sein. Der Befehl arbeitet nur kurz – nach dieser Aufgabe finden Sie im Verzeichnis die neue Datei „MyDisk.qrow2“ – dies ist die virtuelle Festplatte.
In der Datei „basic.sh“ fügen wir nun noch folgende Zeilen hinzu:
-drive id=SystemDisk,if=none,file=MyDisk.qcow2 \
-device ide-hd,bus=sata.4,drive=SystemDisk \
Dies wären die Grundeinstellungen – weitere finden Sie unter – für das Netzwerk (Internet-Zugang funktioniert automatisch), Hardware-Grafikkarte, Bildschirmauflösung und Audio.
Nach den vorgenommenen Einstellungen speichern Sie die Datei, anschließend starten wir auf dem Terminal den Befehl:
./basic.sh
Eine Internet-Verbindung sollte dabei bestehen – hierbei wird noch einiges von macOS heruntergeladen:
Es öffnet sich der virtuelle Bildschirm, es erscheinen Terminal-Ausgaben – warten Sie ab bis Sie im Bootmenü (siehe Bild oben) landen, Sie haben hier noch keine Unterstützung für die Maus – Sie nutzen derzeit noch die Pfeiltasten. Bleiben Sie wie im Bild oben zu sehen auf dem großen Icon „macOS“ und bestätigen mit Eingabe (sollten Sie mit der Maus in das Fenster klicken, wird diese gefangen – um wieder herauszukommen, nutzen Sie Strg+Alt+g:
Warten Sie die Terminal-Ausgaben ab, nach kurzer Zeit landen Sie – sagen wir einmal im Live-System zur Rettung und Installation, ab hier haben Sie Mausunterstützung. Öffnen Sie nun das „Disk Utility„:
Spätestens hier sollten wir die Sprache auf Deutsch umstellen (hat keine Auswirkung, OK, ist halt so) – anschließend wählen Sie links in der Liste das größte Image und klicken auf den Schalter „Erase„:
Wir geben der Partition einen Namen und klicken auf „Erase„:
Nun schließen Sie das Fenster und klicken auf den Eintrag „Reinstall macOS“ – Sie landen beim Start der Installation (siehe Bild oben):
Nach der Bestätigung der Lizenz wählen Sie die zuvor erstellte Partition und klicken auf „Install„:
Nun hilft nur abwarten bis das System installiert ist – man könnte die Installation in etwa mit Windows vergleichen, zumindest von der Zeit her.
Nach der Installation startet das System neu, warten Sie einfach ab, es lädt und richtet sich ein, kurz darauf landen Sie im Bootmenü:
Wählen Sie das zweite Icon (automatisch aktiviert) und bestätigen mit Eingabe:
Es beginnt die Einrichtung des Systems, gehen Sie diese einfach der Reihe nach durch und schon landen Sie im installierten System:
Damit Sie nicht immer das Script zum Start des Systems nutzen müssen, installieren Sie sich unter auf Debian basierenden Linux-Distributionen über die Paket-Verwaltung das Paket „virt-manager„, und fügen sich anschließend der Gruppe „libvirt“ hinzu – als Administrator am Terminal:
adduser nutzername libvirt
Statt „nutzername“ geben Sie natürlich Ihren eigenen an. Anschließend führen Sie noch folgenden Befehl aus, um sich nicht ab- und wieder anmelden zu müssen:
newgrp libvirt
Bleiben Sie am Terminal im Verzeichnis mit dem macOS-System und starten nun ebenfalls als Administrator die Befehle:
systemctl enable libvirtd
systemctl start libvirtd
./make.sh --add MyDisk.qcow2
Anschließend öffnen Sie die zuvor installierte Software „Virtuelle Maschinenverwaltung“ aus dem Anwendungsmenü (Kategorie System), hier finden Sie nun den erstellten Eintrag „macOS Simple KVM„:
Aktivieren Sie die Checkbox „Benutzerdefinierten …“ und klicken auf den Schalter „Verwalten„, im sich öffnenden Fenster auf „Lokal durchsuchen“ – hier wählen Sie nun die angelegte virtuelle Festplatte „MyDisk.qcow2„, klicken Sie auf „Fertig„:
Gehen Sie nun auf den Speicher und passen die Arbeitsspeicher an und klicken auf „Anwenden„, weitere Einstellungen können Sie hier später anpassen. Nun können Sie die virtuelle Maschine starten – erhalten Sie nun eine Fehlermeldung mit dem Netzwerk starten Sie als Administrator folgenden Befehl:
virsh net-start default
Nun starten Sie die virtuelle Maschine erneut mit dem Icon mit dem Pfeil – in den Details zu den Einstellungen klicken Sie auf den Schalter „Grafische Konsole anzeigen“ (der Schalter mit dem Bildschirm in der Werkzeugleiste), um das System auf den Bildschirm zu bekommen:
Noch keine Reaktion