HowTo: Hyper-V Gen1-VM Konvertierung Gen2-VM

In diesem HowTo geht es um die Konvertierung (convert) einer Hyper-V Virtual Machine Generation 1 (Gen1-VM) zu einer Generation 2 Virtual Machine (Gen2-VM). Als Host-Betriebssystem verwende ich für dieses HowTo Windows 8.1 und als Gast-Betriebssystem Windows Server 2012 R2.

Mehr zur empfohlenen Konfigurationen für UEFI-basierte Datenträgerpartitionen findet man im TechNet Artikel von Microsoft.

Zuerst sollte die Netzwerkkonfiguration der virtuellen Maschine dokumentiert, die virtuelle Maschine heruntergefahren und eine Sicherung der virtuellen Festplatte erstellt werden.

Ist die virtuelle Festplatte noch im .vhd Format, so muss diese zuerst in das .vhdx Format konvertiert werden.

Dies kann man sehr einfach in einer administrativen PowerShell Konsole bewerkstelligen:

Nun muss die virtuelle Festplatte im .vhdx Format im Host-Betriebssystem angefügt (mount) werden:

Bei den nächsten Schritten wird die Datenträgernummer der virtuellen Festplatte benötigt. Diese kann wie folgt angezeigt werden:

Danach muss die Datenträgerpartitionskonfiguration von MBR nach GPT mit dem freien Tool Gptgen konvertiert werden:

Dabei entspricht # der Datenträgernummer.

Jetzt muss die virtuelle Festplatte getrennt (dismount) und anschließend wieder angefügt (mount) werden:

Wie alle Befehle, muss nun diskpart in einer administrativen PowerShell Konsole geöffnet werden:

Anschließend muss die Liste aller Festplatten abgefragt und die gemountete virtuelle Festplatte ausgewählt werden. Dabei entspricht # der Datenträgernummer:

Anschließend muss die Liste aller Partitionen abgefragt und die „System-Reserviert“ (System Reserved) Partition ausgewählt werden. Dabei entspricht # die der Partitionsnummer:

Nun muss die ausgewählte Partition gelöscht werden:

Jetzt muss eine EFI-Partition erstellt, formatiert und einem Laufwerksbuchstaben zugewiesen werden:

Im nächsten Schritt muss eine MSR-Partition erstellt werden:

Dabei kann man auch auf den Parameter der Größe der Partition verzichtet werden, diese füllt dann die restlichen 200 MB aus. Mit exit wird danach das Tool diskpart beendet:

Anschließend wird mit dem Tool bcdboot die wichtigen UEFI Startdateien auf die Systempartition kopiert. Dabei entspricht h: dem Laufwerksbuchstaben der virtuellen Windows-Partition und s: dem Laufwerksbuchstaben der virtuellen EFI-Partition:

Nun muss die virtuelle Festplatte wieder getrennt (dismount) werden:

Abschließend kann nun eine neue Generation 2 Virtual Machine (Gen2-VM) mit der dokumentierten Netzwerkkonfiguration erstellt und die bearbeitete virtuelle Festplatte im SCSI-Controller hinzugefügt werden.

Beim ersten Start der Generation 2 Virtual Machine (Gen2-VM) werden vom Gast-Betriebssystem die Geräte betriebsbereit gemacht.

Das HowTo baut auf den Artikel von Martin Poisel auf.

Was denken Sie über dieses Thema?

Sie können gerne hier Ihre Meinung als Kommentar hinterlassen, wir freuen uns darauf. Bleiben Sie mit uns in Kontakt via RSS, Twitter oder Facebook.

Anzeigen

Neueste Beiträge

Neueste Kommentare

Anzeigen

Verfasst von:

3 Kommentare

  1. Christian Schröder
    09. September 2014 20:50

    Guter Artikel. Die Walktrough funktioniert mit „Hirn an“.

    Getestet mit Umbau eines Server 2012 R2 von V1 in V2.

    Anmerkung: (Hier ist eine kleine Unschärfe)

    „Anschließend wird mit dem Tool bcdboot die wichtigen UEFI Startdateien auf die Systempartition kopiert. Dabei entspricht h: dem Laufwerksbuchstaben der virtuellen Windows-Partition und s: dem Laufwerksbuchstaben der virtuellen EFI-Partition:“

    Würde ich ändern in
    Anschließend wird mit dem Tool bcdboot die wichtigen UEFI Startdateien auf die Systempartition kopiertDabei entspricht xyz: dem Laufwerksbuchstaben der virtuellen Windows-Partition. Diesen sieht man am einfachsten im Diskmanager nachdem die virtuelle Disk das zweite mal mit Mount-VHD -Path „D:\Hyper-V\WS01.vhdx“ gemountet wurde.

    S:\ ist der dem Laufwerksbuchstaben der virtuellen EFI-Partition und wurde vorher durch „assign letter=“S“ “ festgelegt.

    Trotzdem Danke für den Bericht. Hat mir auf jeden Fall Sucherei abgenommen.
    mfg
    Christian Schröder

  2. Ben
    16. Mai 2015 18:12

    There is a typo (or escaping problem) above. This line:

    gptgen.exe -w \.physicaldrive#

    should be

    gptgen.exe -w \\.\physicaldrive#

    Otherwise, this was a fantastic article. Thank you!

Die Kommentare sind geschlossen