Hyper-V Gen1-VM Konvertierung Gen2-VM

In diesem geht es um die Konvertierung (convert) einer Virtual Machine Generation 1 (Gen1-VM) zu einer Generation 2 Virtual Machine (Gen2-VM). Als Host-Betriebssystem verwende ich für dieses HowTo 8.1 und als Gast-Betriebssystem 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 Konsole bewerkstelligen:

Convert-VHD -Path "D:\Hyper-V\WS01.vhd" -DestinationPath "D:\Hyper-V\WS01.vhdx"

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

Mount-VHD -Path "D:\Hyper-V\WS01.vhdx"

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

Get-Disk

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

Dabei entspricht # der Datenträgernummer.

gptgen.exe -w \\.\physicaldrive#

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

Dismount-VHD -Path "D:\Hyper-V\WS01.vhdx"
Mount-VHD -Path "D:\Hyper-V\WS01.vhdx"

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

diskpart

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

list disk
select disk #

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

list partition
select partition #

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

delete partition

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

create partition efi size=100
format quick fs=fat32 label="System"
assign letter="S"

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:

create partition msr size=128
exit

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:

bcdboot h:\windows /s s: /f UEFI

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

Dismount-VHD -Path "D:\Hyper-V\WS01.vhdx"

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.

Photo by Pankaj Patel on Unsplash, Icon by icons8

Als werbefreie Website freuen wir uns über jede Unterstützung durch euch. Spende deinen individuellen Beitrag an uns.

Neueste Beiträge

Neueste Kommentare

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!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert