macOS Mojave in VirtualBox

macOS in einer VM zu installieren ist eine Geschichte voller Missverständnisse. Zumindest auf meiner Seite.

So wäre ich bspw. davon ausgegangen, dass die Hardware – also die “Machine” in “Virtual Machine” – nun ja, “virtuell” sei. Jein, zum Beispiel muss die verwendete Hardware Virtualisierung unterstützen. Geht bei Dir nicht? Pech gehabt. Und der Prozessor muss (!) von Intel sein. Klar, Apple hatte nie AMD-Prozessoren, warum sollte OS X die unterstützen. Mein Missverständnis an der Stelle: Der reale Prozessor wird nicht zu 100% weg-emuliert. Man kann für VirtualBox-VMs zwar ein wenig die CPU spezifizieren, aber trotzdem keine Chance (Stichwort “Stuck at End RandomSeed”).

Also kein VirtualBox. Es gibt eine Anleitung bei heise+ für macOS unter Windows mittels Qemu – die Idee: Windows 10 kann Linux, Linux kann KVM, und dafür gibt’s Skripte um macOS laufen zu lassen (siehe auch). It’s VMs all the way down, und das ist das nächste Problem: Windows 10 kann keine “Nested Virtualization” – für AMD. Also nächstes Missverständnis: Nur, weil Deine Hardware und Deine Software grundsätzlich Virtualisierung können, heißt das noch lange nichts, auch Dein OS muss das können.

Deshalb war ich zwischenzeitlich auf ein MacBook umgestiegen, um dort macOS Mojave (aka 10.14) als VM in Catalina (aka 10.15) zu hosten. Einschub: Warum eigentlich Mojave? Weil das das letzte macOS ist, das 32-Bit-Anwendungen erlaubt, und mein Photoshop CS6 ist eine solche. Einschub Ende. Und auf explizit Apple-Hardware sollte das ja alles gehen, richtig? Nein, und das ist das nächste Missverständnis. Dieselben Probleme, “End RandomSeed”. Ausprobiert mit einem aktuellen VirtualBox 7.

Dieser Artikel hier nun nennt explizit Mojave und VirtualBox 6.1.26, ok, probieren wir das auch noch mal aus. Und siehe da: Es geht!

Nächstes Missverständnis also offenbar: Was mit VirtualBox 6.1.26 geht/ging, geht auch mit VirtualBox 7.x. Bzw. wo für Windows zu viel Hardware an die VM durchgereicht wurde, war es hier zu wenig, denn die Hardware ist halt von Apple 🙂

Aber nun wollte ich es wissen; Gegenprobe: VirtualBox 6.1.26 auf Windows 11. Startet erst gar nicht:

Das soll mit 6.1.28 wohl behoben sein, aber da kommt dieselbe Meldung. Offenbar kann sich das mit anderer installierter Software ins Gehege kommen, bspw. besagtem Subsystem für Linux, was vom Versuch weiter oben noch installiert ist 🙂 Aber auch ohne das geht es nicht, keine Ahnung. Windows halt. Die “Weiteren Informationen” sagen, man solle die Speicherintegritätsprüfung deaktivieren, aber das klingt mir zu kritisch.

Naja, als nächstes probiere ich Big Sur (aka 11, aka 10.16) als Host, denn das ist das letzte macOS, das auf dem Host-MacBook noch läuft.

Update: Apropos “Emulieren”, es gibt hier einen Artikel, wie man x86 auf den aktuellen ARM-Prozessoren von Apple emuliert – habe ich noch nicht ausprobiert.

Vagrant: Timeout mit apt-get

Der Fehler

aus einem Puppet, hier der bemängelte Teil:

kann mit mehr RAM behoben werden. Folgendes in’s Vagrantfile:

Quelle indirekt.