Und es geht doch: Win7-OS-Cloning für virtuelle Maschinen

Durch Verwendung von Virtualisierungslösungen wie Windows Virtual PC, VirtualBox, VMware Player, VMLite bietet es sich an, ein laufendes Windows 7 in ein virtuelles Laufwerk (vhd) zu clonen und dann in einer virtuellen Maschine auszuführen. Dies eröffent die Möglichkeit, Experimente am geclonten Betriebssystem auszuführen, das virtuelle Laufwerk zu kopieren oder mit Delta-Versionen zu fahren (hilfreich bei Softwaretests). Eine naheliegende Lösung wäre dabei, die in Windows 7 unterstützte Sicherung eines Systemabbilds für diesen Zweck zu verwenden. Nachdem ich längere Zeit an dieser Aufgabe gescheitert bin, habe ich doch einen funktionierenden Weg gefunden, um Windows 7 mit Bordmitteln in eine virtuelle Maschine zu clonen.


Anzeige

Clonetechnik für Windows 7 gefällig?

Die Idee ist so einfach wie bestechend: Unter Windows 7 lässt sich eine Sicherung des Systems ausführen.

  1. Einfach im Suchfeld des Startmenüs "Sichern" eintippen und dann den Befehl Sichern und Wiederherstellen wählen.
  2. Dann in der Aufgabenleiste auf den Befehl Systemabbild erstellen klicken und die Benutzerkontenabfrage bestätigen.
  3. Anschließend lässt sich ein Datenträger für die Sicherung auswählen und die Sicherung durchführen.

Dabei sichert Windows 7 die mit "System-reserviert" bezeichnete Partition sowie die Windows-Partition in einen Backup-Datensatz. Als Sicherungsziel kann eine separate Festplatte angegeben werden. Bei meinem System lässt sich ein frisch aufgesetztes Windows 7 binnen 2 Minuten auf eine externe, per eSATA angeschlossene, Festplatte sichern.

Das geclonte Windows 7 aus dem Backup entkernen, so gehts!

Die Funktion Sichern und Wiederherstellen legt am dem Sicherungsziel einen Ordner WindowsImageBackup an. Analysiert man den Inhalt dieses Ordners, finden sich zwar eine Unmenge an XML-Dateien, aber auch eine Unterordnerzweig, der die Sicherungsdateien enthält. Darunter finden sich i.d.R. auch zwei .vhd-Dateien, von denen eine ca. 38 MByte groß ist und die Partition "System-reserviert" enthält. Eine zweite .vhd-Datei sollte ca. 6,5 GByte oder mehr umfassen (je nachdem, in welchem Zustand das Windows 7-Systemabbild gesichert wurde). Diese beiden .vhd-Dateien sind mit einem Class ID-Code benannt und müssen mit administrativen Berechtigungen in einen anderen Ordner kopiert werden. Anschließend können Sie die so kopierten virtuellen Disks mit system-reserved.vhd und Win7-Clone.vhd benennen.

Tipp: Um später Probleme mit Zugriffsberechtigungen im Backup-Datensatz zu vermeiden, sollten Sie den Backup-Ordner am Sicherungsziel kopieren und alle Operationen auf dieser Kopie ausführen.

Die virtuellen Disks in eine virtuelle Maschine einbinden

Im nächsten Schritt gilt es, eine virtuelle Maschine einzurichten und die beiden .vhd-Dateien als Festplatten einzubinden. Im konkreten Test habe ich für diesen Schritt VirtualBox verwendet, es sollte sich auch VMware Player 3.0 oder Windows Virtual PC verwenden lassen. Bei Bedarf lässt sich in diesen Beiträgen nachlesen, was zu beachten ist. Wichtig ist vor allem, dass das gleiche Modell für den Festplattencontroller wie bei der physischen Maschine verwendet wird. Läuft Windows 7 also auf einer SATA-Platte, richten Sie auch einen SATA-Kontroller in der virtuellen Maschine ein. Die Partition "System-reserviert" ist dabei als erste Festplatte und die Windows-Partition als zweite Festplatte einzubinden. Zusätzlich binden Sie noch ein DVD-Laufwerk in die virtuelle Maschine ein. Dieses kann auf die ISO eines Reparaturdatenträgers oder einer Windows 7 Setup-DVD gemappt werden. Es lässt sich aber auch ein physisches Laufwerk zuordnen, in welches Sie die betreffenden Bootmedien einlegen.


Anzeige

Hauch dem Clone Leben ein – ein Theaterstück in mehreren Akten

Nun gilt es, die so eingerichtete virtuelle Maschine zum Booten zu bewegen. Das erwies sich alles andere als trivial. Im Originalsystem befinden sich die beiden Partitionen ja auf einem Laufwerk, während in der virtuellen Maschine zwei vhd-Dateien als separate Laufwerke eingebunden sind.

Zudem musste ich feststellen, dass eine so eingebundene "System-reserviert"-Partition noch nicht einmal zum Laden des Bootmanagers (bootmgr) zu bewegen ist. Die virtuelle Maschine hängt nach dem Start einfach und sagt nix. Auch ein Reparaturversuch über die Computerreperaturoptionen löst das Problem nicht (habe ich zig Mal versucht).

Anmerkung: Ich habe die 100 MByte Boot-Partition mit dem Kommandozeilentool diskpart analysiert. Aufgefallen ist, dass bei dieser ein Offset von 64 KByte angezeigt wird. Bei den physischen Maschinen wird dagegen ein Offset von 1024 KByte angezeigt. Das erste Megabyte bleibt also auf der Partition frei. Dies könnte der Grund dafür sein, dass die Computerreperaturoperation und auch die Anwendung der Befehle

Bootrec /FixMBR
Bootrec /FixBoot

versagt. Die Werkzeuge schreiben zwar vermutlich die Boot-Dateien auf die richtige Partition. Da der MBR jedoch einen Einsprungpunkt bei einem Offset von 1024 KByte erwartet, läuft der Versuch, auf die Datei bootmgr zuzugreifen, schief. In meinen Augen scheint sogar der MBR nicht korrekt geladen zu werden, da noch nicht einmal die Meldung "bootmgr fehlt" erscheint.

Nach vielen Versuchen haben ich dann eine für mich funktionierende Lösung gefunden, die etwas Handarbeit verlangt.

Akt 1

Booten Sie die frisch aufgesetzte virtuelle Maschine mittels der Windows 7-Setup DVD. Anschließend wählen Sie die Tastatursprache und klicken im nächsten Installationsdialogfeld auf den Befehl Computerreperaturoptionen.

Lassen Sie das Dialogfeld mit dem Reperaturversuch durchlaufen und wählen Sie anschließend die Option, um zum Dialogfeld mit den Computerreperaturoptionen zu gelangen. Sie sollten sich auch nicht in die Irre führen lassen, wenn die Computerreperatur behauptet, kein Windows oder keinen Fehler zu finden.

Akt 2

Wählen Sie im Dialogfeld mit den Computerreperaturoptionen den Befehl zum Öffnen der Eingabeaufforderung. Anschließend geben Sie folgende Befehlsfolge in der Eingabeaufforderung ein:

diskpart
list disk
select disk 0
list partition
select partition 1
delete partition override

Mit dem letzten Befehl wird die Partition "System-reserviert" gelöscht. Nun müssen Sie die Partition wieder anlegen.

create partition primary
active
format
exit

Mit den Befehlen wird eine Partition erzeugt, als aktiv gesetzt und dann formatiert. Der letzte Befehl beendet diskpart.

Akt 3

Nach diesen vorbereitetenden Schritten geht es nun an die Reparatur des betreffenden Systems. Geben Sie im Fenster der Eingabeaufforderung folgende Befehle ein:

Bootrec /FixMBR
Bootrec /FixBoot

Diese schreiben einen neuen Master Boot Record und sollten auch die fehlenden Boot-Dateien (bootmgr, Verzeichnis Boot etc.) anlegen.

Akt 3

Schließen Sie ggf. das Fenster der Eingabeaufforderung und klicken Sie im Dialogfeld Computerreperaturoptionen auf den Befehl Systemstartreperatur. Mit diesem Befehl versucht die betreffende Funktion die Startdateien zu reparieren und eine BCD-Datenbank mit Starteinträgen anzulegen.

Sobald die Systemstartreperatur durchgelaufen ist, können Sie sich die gefundenen Fehler ansehen und dann auf die Schaltfläche zum neu Starten klicken.

Die Taste zum Booten von DVD brauchen Sie nicht zu drücken, denn es soll ja geprüft werden, ob das System bootet. Falls nicht, müssen Sie erneut von der DVD booten, die Computerreperaturoptionen aufrufen und die Systemstartreperatur durchführen lassen. Dann gilt es, einen Neustart auszuführen und zu prüfen, ob das System dann bootet. Zumindest bei meinem Testsystem meldete sich der Bootlader und bemängelte beim ersten Durchlauf einen fehlenden Bootmgr. Nach weiteren zwei Reperaturversuchen, bei denen auch ein Windows 7 gefunden und im BCD-store eingetragen wurde, konnte die virtuelle Maschine booten.

Das System war sofort lauffähig. Einzig den Audiotreiber musste ich über den Geräte-Manager aktualisieren – und eine Basis-Gerät wird in der virtuellen Maschine als nicht funktionsfähig angezeigt.

Anmerkung: Wer sich einmal eine funktionierende (d.h. bootbare) Partition “System-reserviert” angelegt hat, kann diese ja durch Kopieren der .vhd jederzeit in weiteren VMs übernehmen. Im Idealfall bootet dann der eingebundene Datenträger direkt – andernfalls sollte die erste Startreperatur bereits Erfolg zeigen.

Falls Sie mit VMware Player arbeiten, empfehle ich den Rückgriff auf den kostenfreien VMware Konverter 4.0 zum Clonen von Windows-Installationen. Verwenden Sie eine .vmdk-Datei als Zielmedium, da es andernfalls Boot-Probleme wegen falsch eingebundenen Treibern geben kann.

Nachträge: Unter [2] findet sich noch ein Forenbeitrag von Hans Peter Matthess, der einen Ansatz zum Clonen eines Windows 7 Ultimate-Systems in eine .vhd-Disk beschreibt. Unter [3] beschreibe ich eine Lösung, um Windows XP, Vista und Windows 7 (auch HP) in eine virtuelle Disk zu installieren.

Weiterführende Links:
1: Virtualisierungsbeiträge in meinem Blog
2: Forenbeitrag zum Clonen von Win 7
3: .vhd-Boot für Windows XP, Vista und Windows 7


Weitere Infos zu Windows 7 finden sich in meinen Windows 7-Tricks-Titeln.


Anzeige

Dieser Beitrag wurde unter Problemlösung, Virtualisierung, Windows 7 abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

21 Antworten zu Und es geht doch: Win7-OS-Cloning für virtuelle Maschinen


  1. Anzeige
  2. Markus sagt:

    Hallo, und vielen Dank für den Tipp! Ich lese hier im Blog seit einigen Wochen mit und bin wirklich begeistert. Sehr detailliert und tiefgründig beschriebe Artikel – wirklich klasse!!!

    Markus

  3. Neals sagt:

    Bei den Punkten:
    create partition
    active
    format
    exit
    steht nicht bei, was für eine Partition.
    Es stehen zur Auswahl:
    EFI
    EXTENDED
    LOGICAL
    MSR
    PRIMARY

  4. Anzeige

  5. Klaus sagt:

    Hallo Nils,

    danke für den Hinweis, hab’s gleich korrigiert.

    G. Born

  6. flixig sagt:

    Hi,
    erstmal vielen Dank für das tutorial – wirklich ein schöner Ansatz.

    Was man aber vielleicht erwähnen sollte ist das man Windows nach dem clonen neu aktivieren muss – zumindest war das bei mir so.
    Ist im grunde ja auch nicht verwunderlich da sich doch einige Systemkomponenten beim Umzug in die VM ändern.

    Gruß

  7. flixig sagt:

    ….und bevor ichs vergesse: das nicht funktionsfähige gerät im gerätemanager verschwindet wenn man die gasterweiterungen installiert hat.

  8. Pingback: Windows-Cloning mit MyOldPC « Borns IT- und Windows-Blog

  9. Anzeige

  10. Stefan sagt:

    Hallo, leider funktioniert das bei mir so nicht. Ab dem Punkt “format” hängt sich Virtual Box ( Vers. 4.04) auf und nichts geht mehr, habe die Prozedur mehrmals laufen lassen, immer das gleiche. Hat jemand einen Tip ?

    Gruss
    Stefan

  11. Relli sagt:

    Echt tolle Anleitung! Super Beschreibung, hilfreich und detailliert. Habe mein Win7 gleich zweimal geklont :)

  12. sofian sagt:

    hallo, nach langem suchen hab ich diesen beitrag hier gefunden und mich gefreut, dass ich endlich einen klon meines systems zum rumprobieren erstellen kann. doch dann kam dieser screen
    http://www.fotos-hochladen.net/view/win7vhderroraixhjm5s2w.jpg

    somit komme ich nicht mal zum akt 1, klicke ich enter, kommt ein menüpunkt windows setup (EMS enabled), klicke ich dort enter, gehts zurück zum vorigen screen. ach, wann werde ich endlich in einem klon spielen können, tagelanges rumwerkeln ohne erfolg, so macht das keinen spass :(

    aber danke für den beitrag, war bisher das beste was ich zu meinen versuchen gefunden habe. doch leider nun das….

    • Günter Born sagt:

      Die Info ist doch ziemlich eindeutig: Die CPU unterstützt keinen 64-Bit-Modus. Ich habe die Versuche seinerzeit mit 32-Bit-Varianten von Windows ausgeführt. Aber auch egal – wenn die verlinkte Fehleranzeige in einer VM erscheint, bedeutet dies: Die Virtualisierungslösung unterstützt keinen 64 Bit Client. Das kann ein grundsätzliches Problem sein (z. B. Windows Virtual PC 2007 hat diese Einschränkung). Bei Virtualbox & Co. erscheint die Meldung, wenn die Hardware kein VT-X (also keine Hardwarevirtualisierungsunterstützung) bereitstellt.

      HTH

  13. Pingback: Pargon Go Virtual zur Virtualisierung « Borns IT- und Windows-Blog

  14. Bernd sagt:

    halli hallo…
    für die unter euch, die genauso faul sind wie ich…
    (also alles nur mit “MAUSKLICKS”)

    das lässt sich mit ner rettungs disk/stick von acronis(disk-direktor) ABKÜRZEN

    Virtueller PC
    =>bios:
    cd-rom boot first
    platte/vhd second boot-device

    dann
    cd/stick starten (acronis)
    partition verkleinern
    neue partition anlegen
    neue partition activ setzen
    START
    jetzt wird die neue partition nicht mehr gebraucht => löschen
    bootpartition mit OS wieder activ-flag setzen
    START
    cd raus & os-install cd o. rettungs cd/stick rein & starten
    ab jetzt kann der assistent die reperaturoperationen wieder ausführen =D
    viel spass mit virtualPC+Echo von eurer echten Platte !

  15. Flosch sagt:

    Das erzeugen des Images geht doch viel einfacher: von Sysinternals gibt Disk2vhd, damit lässt sich jede Partition in eine virtuelle Platte kopieren.
    Man sichert also die aktuelle Systempartition (C:) UND die Bootimage-Partition (die kleine 100-300MB große Partition) zusammen in eine virtuelle Platte, und tadaa: fertig ist die lauffähige Windows-7-VHD.

    Ggf. noch die Windows-7-DVD mit den Reparaturoptionen drüberjagen, fertig.

  16. Flosch sagt:

    Oh, dann habe ich wohl irgend was falsch gemacht, dass es bei mir lief?! :D

    Ich hatte auf jeden Fall keine Probleme, allerdings hatte ich auch “bloß” ein 32-bit Windows 7 damit kopiert, außerdem hatte ich keinen Grund die Platte vorher nochmal zu mounten, die hatte ich ja schon als Original im System.

    Ich hörte übrigens, dass Besitzer von Acronis wohl auch relativ einfach an VHDs kommen wenn diese ein (Voll-) Backup konvertieren?! Ich kann das allerdings nicht bestätigen, da ich das selber noch nicht probiert habe.

    • Günter Born sagt:

      Du hast wohl nichts falsch gemacht – Problem sind Festplatten größer 127 GByte – da DiskToVHD immer die komplette Platte und nicht die Partition clont (zumindest in der Version, die mir zum Test zur Verfügung stand).

      Aber in der Praxis würde ich eh auf andere Lösungen setzen, die bei der P2V-Umsetzung auch Treiber per Treiberinjection einfügen. MyOldPC von VMLite, VMware Workstation 8 und auch die Virtualisierungstools von Paragon können das.

  17. Horst Schwickart sagt:

    Ich habe mit der Anleitung versucht, ein W7 in eine Virtual Box unter W8.1 einzuspielen.
    Die VHD Datei wurde mit Wbadmin Backup erstellt.
    Es wird aber nur eine VHD (die große) erstellt, die System reserviert nicht.
    Die Anleitung funktioniert also dafür nicht.
    Kann man die kleine VHD auch anders erstellen?

  18. Horst Schwickart sagt:

    Inzwischen bin ich soweit, dass er mir einen BSOD bringt (hätte nicht gedacht, dass man sich darüber freuen kann).
    Aber nun macht Virtual Box nicht mehr mit, es macht bei der (inzwischen lang dauernden Systemreparatur) die Grätsche.

    • Günter Born sagt:

      @Horst: Aus dem Thema habe ich mich längst zurück gezogen, da ich eigentlich nie eine geclonte Maschine anständig in der VM zu laufen gebracht habe. Irgendwo hat es immer geklemmt – entweder war die VM zäh, oder es gab Probleme mit Anwendungen. Auch das Thema Driver-Injection hat manuell nicht wirklich hingehauen. Mit dem Paragon Festplattenmanager 12 gab es auch einen Virtualisierungsassistent zum Clonen – der hat die VM erinnerungsmäßig zumindest zum Laufen gebracht. Aber dann hatte ich bei Windows XP teilweise Aktivierungsprobleme, die nie ausgeräumt werden können. Hilft dir nicht weiter, aber nur ein Hinweis, was dich ggf. erwartet.

  19. Pingback: Beheben Disk2vhd Fehler Snapshot-volumes Von Windows Server 2008

  20. Christian Grundmann sagt:

    Eine super Anleitung! Vielen, vielen Dank!!

Schreibe einen Kommentar zu Christian Grundmann Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht.