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. :)

Schlagworte: , , , , , , , , ,

8 Kommentare zu „Windows 7 XP Mode mit Sun VirtualBox auf Mac OS X verpflanzen“

  1. Michael sagt:

    Hallo,

    leider erhalte ich beim VErsuch, die VM unter VMLite zu erstellen einen Fehler: “failed to extract the msi file” – naja, und nun keine Ahnung, wie weiter…

    Was kann es da denn geben?

  2. gero sagt:

    Aha? Hat Microsoft evtl. das Dateiformat geändert / verschlüsselt, so dass VMLite die VM nicht mehr erstellen kann? Hier mal die Dateigröße mit Prüfsummen:

    imac:VMLite – XP-Mode gerozahn$ ls -la WindowsXPMode_de-de.exe
    -rw-r–r– 1 gerozahn staff 486678800 19 Jan 17:25 WindowsXPMode_de-de.exe
    imac:VMLite – XP-Mode gerozahn$ cksum WindowsXPMode_de-de.exe
    4238381074 486678800 WindowsXPMode_de-de.exe
    imac:VMLite – XP-Mode gerozahn$ md5 WindowsXPMode_de-de.exe
    MD5 (WindowsXPMode_de-de.exe) = ae637e0cc292b27699207cbd94885a6c
    imac:VMLite – XP-Mode geroz
    ahn$

  3. gero sagt:

    Negativ. Ich habe o.a. Datei WindowsXPMode_de-de.exe gerade nochmal frisch von Microsoft heruntergeladen – die Datei hat exakt dieselben Hashes wie die alte.

  4. Michael sagt:

    Hallo,

    habe es nun doch noch geschafft! Anscheinend war der fehlende Speicherplatz auf der HDD verantwortlich – alles funktioniert prima!

    Noch etwas: auch, wenn das plugin das Mounten nicht schafft (bei mir musste es abgebrochen werden), die VM wird erstellt und funktioniert problemlos.

    Danke für den Blog!

  5. Ralph sagt:

    Hello,

    please tell us the size and md5sum of the ‘pcbios.bin’ file.
    With 7zip it is possible to extract files from the vmlite-installer which cold make the trick working without even installing vmlite
    ( which obviously makes our virtualbox malfunction as someone noticed at least when versions dont match )
    i found a file in the installer named
    _627DAE64ED7F4054BD3B744F92A83748
    which containes the strings BIOS:
    VirtualBox 3.1.2_OSE
    Sun VirtualBox BIOS
    but i had no time to try if this will work …

    and please tell if you already upgraded to 3.1.8 or 3.2.0 and if is the xp is still working ?

    Ralph

  6. gero sagt:

    No, that was more or less a feasibility studies – my regular virtualization solution is VMware Fusion. At that time, I was using Virtual Box 3.1.2 on both the Windows box and on the MacBook. Not having touched that, the pcbios.bin is like follows:

    macbook:WInXP Test gerozahn$ ls -la pcbios.bin
    -rwxr—– 1 gerozahn staff 65536 Dec 4 15:37 pcbios.bin
    macbook:WInXP Test gerozahn$ md5 pcbios.bin
    MD5 (pcbios.bin) = 1e70dfcb9611948965cbf986456c2b7c
    macbook:WInXP Test gerozahn$ shasum pcbios.bin
    3fe08ac6be9f89c81cf43b82e6e2e06de36b818f pcbios.bin
    macbook:WInXP Test gerozahn$

    It contains the following strings:
    “VirtualBox 3.1.2_OSE” / “Sun VirtualBox BIOS”

  7. Joscho sagt:

    Just as a short comment to Ralph: The described approach definetly works with 3.1.8 on both PC and Mac. After the first boot an automatic update of the guest additons is offered and also brings these to 3.1.8.

  8. Oliver sagt:

    It worked a long time for me as WindowsXP- and LINUX user.

    But, a few days ago I had to upgrade to Vista with my notebook. I made a freh installation og VirtualBox and since then I cannot get it working. The ExtraDataItem line is going to be deleted if I start the machine.

    Has Oracle updated VB to make it incompatible with VMLITE-machines?

Kommentieren