Hyper-V: Upgrade Generation 1 zu Generation 2 VM

Wichtige Anmerkung: Vorab möchte ich festhalten, dass der beschriebene Ablauf unter keinen Umständen in produktiven wie betriebskritischen Umgebungen bzw. an deren Systemen durchgeführt werden sollte. Das beschriebene Vorgehen ist weder von Microsoft offiziell unterstützt, noch sind mögliche Folgefehler abzusehen und können nicht ausgeschlossen werden. Ohne eine wiederherstellbare Vollsicherung des Systems wird davon abgeraten den beschriebenen Prozess durchzuführen. Alle beschriebenen Schritte geschehen auf eigene Gefahr.

Der beste Weg ein virtuelles System auf eine neue Generation zu migrieren, ist und bleibt die saubere Neuinstallation mit Übernahme der Daten und Dienste.

Hinweis: Im Verlauf des Artikels wird das Microsoft Windows interne Tool MB2GPT verwendet. Dieses erstellt eine neue GPT formatierte Partition, die es ermöglicht ein System mit UEFI zu starten. Die Partition, die dabei angelegt wird, wird hinter die letzte Partition des ersten Datenträgers angehängt. Dies ist in den meisten Fällen der Systemdatenträger. Somit wird es nach Abschluss des Vorgangs und der Erstellung dieser Partition, zukünftig nicht ohne großen Aufwand und Risiko möglich sein, die System-Partition zu vergrößern. Somit fällt einer der Vorteile, nämlich der dynamische Online-Erweiterung von Datenträger eher schmal aus.

Auf die Vorteile, die eine Generation 2 VM gegenüber einer VM der Generation 1 aufweist, möchte ich nicht näher eingehen. Diese Informationen sind ausreichend in den Microsoft TechNet-Seiten erläutert.

https://docs.microsoft.com/de-de/windows-server/virtualization/hyper-v/plan/should-i-create-a-generation-1-or-2-virtual-machine-in-hyper-v

Als erstes sollte die Recovery Agent Console deaktiviert werden. Zwar führt MBR2GPT diesen Schritt selber aus, es kann hier aber im Anschluss zu unerwarteten Fehlern kommen. Die Deaktivierung wird mit folgendem Befehl über eine administrative Eingabeaufforderung ausgeführt:

reagentc /disable


Vorausgesetzt der Befehl wurde erfolgreich abgeschlossen, kommt der zweite Schritt. Für diesen Abschnitt wird das Microsoft eigene Tool MBR2GPT benötigt. Diese ist ab Windows 10 Build 1703 in Windows integriert und kann ebenso über diese Installation bezogen werden.

Ebenfalls über eine administrative Eingabeaufforderung führen wir das Tool MBR2GPT mit folgenden Parametern aus:

MBR2GPT.exe /Convert /AllowFullOS


Das Tool führt einige Schritte durch und erstellt eine mittels UEFI startfähige Partition. Wie im obigen Hinweis bereits erwähnt, wird diese Partition logischerweise an letzter Stelle auf dem Datenträger erzeugt.

Vorausgesetzt der Befehl wurde erfolgreich abgeschlossen, kann die virtuelle Maschine nun heruntergefahren werden. Jetzt sollte man die VM-Konfigurationsdateien vorsichtshalber sichern, da diese beim Löschen der VM aus den Verwaltungskonsolen ebenfalls entfernt werden. Anschließend kann die VM im Hyper-V Manager (Ggf. zunächst Clusterverwaltung) gelöscht werden. Die Datenträger bleiben hierbei erhalten.

Nun sollte eine neue virtuelle Maschine als Generation 2 erstellt werden. Die Konfiguration sollte bestenfalls der alten VM-Konfiguration nachempfunden werden. Als Datenträger wird der bestehende Systemdatenträger angebunden. Unterschied zur alten VM ist, dass dieser Datenträger nun an einen virtuellen SCSI-Adapter gebunden werden kann und wir nicht mehr auf einen virtuellen IDE-Controller zugreifen müssen.

Sind alle Konfigurationen abgeschlossen, kann die VM eingeschaltet werden. Der erste Startvorgang wird etwas länger dauern als gewohnt, da einige neue virtuelle Geräte auf Basis der Generation 2 Definitionen installiert werden. Nach dem ersten Start sollte die VM unbedingt ein zweites Mal neu gestartet werden, um sicher zu gehen, dass diese auch nach einem normalen System-Neustart wie gewünscht bootet.

Im letzten Schritt bleibt nur zu empfehlen, die verbliebenen Ghost-Devices aus dem System zu entfernen (Bspw. Netzwerkadapter, Diskettenlaufwerke, CD-ROM und Controller).

Wichtig: Auf dem noch bestehenden, nicht sichtbaren Ghost Netzwerk-Adapter ist noch das intern verwendete Standard-Gateway konfiguriert. Auf dem neuen Netzwerkadapter kann dieses erst sauber übernommen werden, wenn der alte Adapter nicht mehr existent ist.

Leon Gawinski

System Engineer Softwarebereich Microsoft

Empfohlene Beiträge

Schreibe einen Kommentar

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

Schaltfläche "Zurück zum Anfang"