Windows 7 XP Mode mit Sun VirtualBox auf Mac OS X verpflanzen

Microsofts „XP Mode“-Virtualisierungslösung in Windows 7 ist eine feine Sache – sofern man denn Win7 Ultimate bzw. Enterprise verwendet. Und einen Prozessor, der die benötigten Virtualisierungsfunktionen unterstützt. Und ein BIOS, das diese auch korrekt aktiviert. – Ein bisschen viele Nebenbedingungen für meinen Geschmack.

Das dachten sich auch die Erschaffer von VMLite – dies nahmen den OpenSource-Zweig von Sun VirtualBox zur Hand und bastelten daraus einen Virtualisierer, der unabhängig vom verwendeten (Intel-)Prozessor den kostenlosen XP Mode-Download von Microsoft verwendet (der ja eigentlich nur für Win7 Ultimate bzw. Enterprise gedacht ist), um unter jedem beliebigen Windows 7, Windows Vista oder sogar Windows XP eine virtuelle XP-Maschine laufen zu lassen, die bereits aktiviert daher kommt. Das kann Microsoft rein EULA-technisch nicht gut heißen – aber momentan funktioniert das alles noch wunderbar.

Seit wenigen Tagen bietet VMLite nun ein so genanntes „Plugin“ für VirtualBox an – der Download ist größer als die Standalone-Version, aber trotzdem klinkt sich VMLite mit seiner wunderbaren XP-Mode-VM ins reguläre VirtualBox ein. Der Vorteil liegt schon darin, dass die XP-Mode-VM dadurch in den Genuss kommt, USB-Geräte exklusiv zugeteilt bekommen zu können – das kann das OpenSource-basierende VMLite mit Bordmitteln nicht.

Daraufhin kam ich auf folgende subversive Idee: Wenn der XP-Mode auch auf anderen Wirts-Windows-Versionen in Gang zu bringen ist und es sich dabei im Wesentlichen um VirtualBox-Technologie handelt – läuft eine derartige XP-Mode-VM denn dann wohl auch unter einem normalen VirtualBox auf einem völlig anderen Wirt – z.B. unter Mac OS X?

Und siehe da – es geht!

Windows 7 XP Mode unter VirtualBox auf einem MacBook

Quod erat demonstrandum.

… Ich möchte an dieser Stelle hochheilig zu Protokoll geben, dass ich dieses Experiment aus rein akademischer Neugier gewagt habe: Ich verwende zur vollsten Zufriedenheit VMware Workstation und Fusion und habe darüber hinaus genügend legitime Windows XP-Lizenzen im Fundus, als dass ich solcherlei Frickel-VMs produktiv einsetzen wollte oder müsste. Aber der Reiz des Möglichen war nun mal unüberwindbar.


Frisch ans Werk. Im ersten Schritt installiert man auf einem Windows 7, Vista oder XP Sun VirtualBox und anschließend das VMLite-„Plugin“. Mit dessen Hilfe bastelt man sich eine XP Mode-VM, in die man auch direkt die Gasterweiterungen installiert, einen Virenscanner – und was immer man sich für ein angemessen arbeitendes Windows XP Professional SP3 halt so vorstellt. Am Ende fährt man die VM herunter.

Als zweites transferiert man nun die daraus entstandene, mindestens 2 GB große Festplatten-Imagedatei „VMLite XP Mode.vhd“ auf den zukünftigen Wirts-Mac, auf dem auch bereits VirtualBox installiert ist – tunlichst in derselben Version.

Auf dem Mac angekommen bindet man eben diese „VMLite XP Mode.vhd“ im so genannten „Manager für virtuelle Medien“ ein. Anschließend legt man eine Feld-Wald-Wiesen-XP-VM an, z.B. unter dem Namen „WinXP Test“ oder was immer beliebt. Hier ersetzt man die frisch angelegte virtuelle Festplatte durch o.a. „VMLite XP Mode.vhd“.

WICHTIG: Das Windows XP darf keinesfalls jetzt schon gebootet werden!

Denn das XP erkennt den Schmuh und quittiert den Umzug von VMLite auf VirtualBox mit einem Verlust der Aktivierung und viel Krakehl über fehlendes „Windows Genuine Advantage“.

Die Erschaffer von VMLite haben sicher viel Energie daran gesetzt, dass sich das XP Mode-Windows direkt nach dem ersten Bootvorgang aktiviert fühlt. Dazu verwenden sie ein speziell angepasstes virtuelles PC-BIOS, das den Betrieb unter Microsofts VirtualPC mimt und die XP Mode-VM glücklich macht.

Dieses BIOS findet sich auf dem Windows 7-System, auf dem VirtualBox und das VMLite-Plugin installiert sind, üblicherweise an folgender Stelle:

C:\Program Files\VMLite\VMLite Workstation\pcbios.bin

Diese Datei gilt es, ebenfalls auf den neuen Wirts-Mac zu kopieren, am besten direkt ins Verzeichnis der neu angelegten VM, also etwa

/Users/…username…/Library/VirtualBox/Machines/WinXP Test/

Schaut man sich die .xml-Konfigurationsdatei auf dem Windows-Wirt an, erscheint relativ weit oben im Abschnitt „<ExtraData>…</ExtraData>“ folgende Zeile:

<ExtraDataItem name=“VBoxInternal/Devices/pcbios/0/Config/BiosRom“ value=“C:/Program Files/VMLite/VMLite Workstation/pcbios.bin“/>

Es gilt nun, die .xml-Konfigurationsdatei der VirtualBox-VM auf dem Wirts-Mac mit TextEdit um exakt diese Zeile zu erweitern – aber so, dass der Pfad auf die soeben kopierte BIOS-Datei zeigt. Also in etwa so:

<ExtraDataItem name=“VBoxInternal/Devices/pcbios/0/Config/BiosRom“ value=“/Users/…username…/Library/VirtualBox/Machines/WinXP Test/pcbios.bin“/>

TextEdit zu, VirtualBox wieder auf – boot’s, tut’s!

Man kann mit an Sicherheit grenzender Wahrscheinlichkeit davon ausgehen, dass die Aktivierung immer noch gültig ist, wenn Windows nicht lauthals wegen seiner WGA-Befindlichkeit zu heulen beginnt. Zur Sicherheit klickt man auf „Start“ / „Ausführen“ und gibt folgendes ein:

oobe/msoobe /a

Das System sollte melden:

Windows wurde bereits aktiviert. Klicken Sie auf „OK“, um das Dialogfeld zu schließen.


Microsoft dürfte das überhaupt nicht gefallen: Dass eine XP-Mode-Lizenz eines vollwertigen Windows XP-SP3 unter einem anderen Windows als Win7 Ultimate bzw. Enterprise läuft, ist vermutlich schon schlimm genug.

Aber dass eben dieser kostenloser Download nun unter einem völlig anderen Wirts-Betriebssystem läuft … Dabei fällt mir gerade ein: Sun VirtualBox gibt es auch auch für Linux und OpenSolaris. Mich würde schon mal interessieren, ob die Geschichte dort auch laufen würde. 🙂