Tag Archives: VirtualPC

P2V: Windows XP in eine VirtualBox-VM konvertieren

Letzte Woche hatte ich das Vergnügen, den neuen Laptop meines Bruders einzurichten. Bisher war er Windows-Nutzer, nun möchte er sich aber ein wenig mit Linux beschäftigen, drum sollte auf den Laptop Ubuntu installiert werden. Kein Problem, die aktuelle Version 11.04 war in weniger als einer halben Stunde installiert und funktionierte auch out-of-the-box perfekt. Aber dann ging der Spass mit dem alten Rechner los…

Besagter Alt-PC läuft unter Windows XP. Um den Umstieg zu erleichtern, wollte ich daraus eine virtuelle Maschine machen und diese auf den Laptop bringen. Als Virtualisierungssoftware verwende ich das kostenlose Oracle VirtualBox. Mit Linux-Gästen habe ich eine solche “physical to virtual”-Migration (P2V) schon mehrfach gemacht; Windows XP reagiert aber etwas zickig auf eine veränderte Hardwareumgebung.

Den ersten Anlauf habe ich mit partimage unternommen:

  • SystemRescueCD vom USB-Stick booten
  • Mit partimage eine Kopie der Festplatte auf einen externen Datenträger erzeugen
  • Die virtuelle Maschine mit SystemRescueCD booten
  • Das Image dann wieder mit partimage innerhalb der virtuellen Maschine zurückspielen

Das alles hat über 4 Stunden gedauert, mit ernüchterndem Ergebnis: Es funktioniert nicht. Anscheinend ist der ntfs-Support von partimage nicht ohne Grund als experimentell gekennzeichnet.

Dann bin ich eher zufällig auf das kostenlose disk2vhd von Microsoft gestossen. Damit kann man einen PC im laufenden Betrieb in ein Image für Microsoft Virtual PC konvertieren. Das Hostsystem wird dabei nicht modifiziert, im Image wird aber auf Wunsch die Boot-Konfiguration für die virtuelle Maschine angepasst (sehr zu empfehlen). Ausserdem wird nur der tatsächlich belegten Teile der Festplatte kopiert, in diesem Fall waren das 35 von 80 GB.

VirtualBox kann mit dem .VHD-Image umgehen, es muss nicht nochmals konvertiert werden. Und siehe da, der so virtualisierte PC funktionierte auf Anhieb in VirtualBox. Zeitaufwand insgesamt: Weniger als 90 Minuten.

Es galt nur noch ein kleines Problem zu lösen: Aufgrund der veränderten Hardware wollte Windows neu aktiviert werden. Unter Windows 7 läßt sich dies mit “slmgr -rearm” bis zu 4 Mal aufschieben (insgesamt 120 Tage). Windows XP bietet eine ähnliche Möglichkeit, es funktioniert aber ein klein wenig anders:

  • Im abgesicherten Modus booten
  • Als Administrator anmelden
  • Start -> Ausführen -> “rundll32.exe syssetup,SetupOobeBnk”
  • Neustarten, fertig

Nun erzwingt Windows erst wieder in 30 Tagen die Aktivierung, genug Zeit um die Original-CD zu finden.

Der restliche Kleinkram (Netzlaufwerk zum Datenaustausch einrichten, Drucker in der VM bekannt machen, etc.) war schnell erledigt. Der virtualisierte PC läuft nun auf dem Linux-Host, netterweise deutlich schneller als zuvor. Operation erfolgreich 🙂

Das hier war nur eine Methode, es gibt noch ein paar Alternativen. So bietet VMware z.B. den vCenter Converter an (kostenloser Download nach Registrierung). Dieser bereitet das Gastsystem auf die Virtualisierung vor und erstellt anschliessend eine Image-Datei davon. Diese würde auch unter VirtualBox funktionieren. Auch Parallels hat Software im Programm, die bei der P2V-Migration hilft, beispielsweise als Teil der Parallels Desktop 7 Switch to Mac Edition. Diese ist allerdings weder kostenlos noch VirtualBox-kompatibel und daher zumindest für mich uninteressant.