P2V Migration von einem Server mit UEFI Firmware | Hyper-V Server Blog

P2V Migration von einem Server mit UEFI Firmware

Immer häufiger werden Hardware-Server nicht mehr mit einem BIOS ausgeliefert, sondern mit einer UEFI-Firmware. Wenn solche Systeme migriert werden sollen, funktioniert dies leider nicht "mal eben so". Ich hatte vor kurzem die Herausforderung, einen Server mit UEFI-Firmware in eine VM zu konvertieren. Da dies einige zusätzliche Schritte gegenüber einer BIOS-System-Migration beinhaltet, beschreibe ich hier mal die Vorgehensweise und durchgeführten Schritte.

Die Herausforderung

Da es sich bei der Migration um diese erste handelt, bei der UEFI mit ins Spiel kommt, bin ich eigentlich davon ausgegangen, dass ich unter Hyper-V eine Generation 2 VM erstelle und das ursprüngliche Hardware-System dort wiederherstelle. Das hat sich allerdings als falsch herausgestellt, ich habe die VM als Generation 2 nicht zum laufen bekommen. Nach einer kurzen Recherche bin ich dann auf diverse Hinweise gestoßen, dass die VM als Generation 1 betrieben werden muss. Das alleine reicht allerdings nicht aus, es muss auch noch an dem Layout der virtuellen Festplatte etwas angepasst werden, damit die VM überhaupt wieder startet. Diese Schritte zeige ich hier einmal auf.

Sicherung (P2V) des Hardware Servers

Der ganze Prozess startet damit, dass das Hardware-System übernommen wird und in die Virtualisierung überführt wird. Hierzu stehen einige Programme zur Verfügung, ich für meinen Fall habe Disk2VHD von Microsoft genutzt.

Wichtig ist hierbei, dass auf die Volume Shadow Copy-Funktion zurückgegriffen wird. Weiterhin sollten so viele Dienste/Programme wie möglich beendet werden, damit möglichst wenig Dateien im Zugriff sind. In meinem Fall lief auf dem Server eine Applikation inkl. Datenbank, ich habe sämtliche Dienste und Programme vor der Migration geschlossen und darauf geachtet, dass niemand sonst am Server angemeldet ist.

Tipps für eine erfolgreiche Migration

Falls der Server mehrere Partitionen / RAIDs hat, lege ich pro Partition eine eigene VHDX an. Windows hat so eine VHDX-Datei, die Applikationen oder Datenbanken dann eine zweite.
Erstellen Sie vor der Migration ein kleines Logfile, welches die folgenden Informationen enthält:
- IP-Informationen (Adresse, Subnetz, GW, DNS, ... ipconfig /all halt)
- Laufwerksbuchstaben, Zuordnung usw (get-volume in der PowerShell)
- Sonstige Besonderheiten, die ggf. später nicht mehr abgefragt werden können

Nachbearbeitung der Boot-VHDX-Datei

Ist Disk2VHD erfolgreich durchgelaufen, ist vor der Erstellung und dem Start der VM ein wichtiger Schritt notwendig: Die Konvertierung der virtuellen Festplatte von GPT auf MBR. Dies ist wichtig, da sonst die VM im späteren Verlauf nicht booten würde. Es gibt verschiedene Möglichkeiten diese Konvertierung zu machen, am einfachsten funktioniert es mit dem AOMEI Partition Assistent Standard. Die Software ist kostenlos und darf sofort für den privaten Gebrauch als auch für den kommerziellen genutzt werden (zumindest laut der Webseite des Herstellers, keine Garantie hierfür von meiner Seite). Einschränkung der kostenfreien Version: Sie funktioniert "nur" auf einem Client-OS. Das bedeutet, man braucht entweder ein Windows 8/8.1/10 in einer VM, oder man erwirbt die Server-Edition.

Tipp: Da wir im nächsten Schritt eine Anpassung der VHDX machen, empiehlt sich hier vorher ein Backup zu erstellen, da sonst im dümmsten Fall die Konvertierung noch einmal gemacht werden müsste.

Hängen Sie die VHDX an die Windows-VM an und installieren Sie den AOMEI Partition Manager. Nach dem Start von AOMEI müssen wir die zweite Festplatte (unsere konvertierte VHDX-Datei) auswählen und in einen MBR-Datenträger umwandeln.

Nach der Auswahl der Schritte, die durchgeführt werden müssen, muss der eigentliche Vorgang nochmal gestartet und durchgeführt werden, da wir sonst nicht fortfahren können. Dies geschieht über den Button Ausführen oben links.

Nach der Konvertierung müssen wir alle kleinen Partitionen entfernen, die sich vor der eigentlichen Datenpartition befinden. Klicken Sie die Partition an und entfernen Sie diese. Achten Sie darauf, dass Sie in der Software nochmal die zusammengeklickten Schritte bestätigen, damit diese auch durchgeführt werden. In meinem Fall war nur noch eine Partition vorhanden.

Nachdem wir nun die Anpassung der Festplatte gemacht haben, müssen wir im zweiten Schritt die eigentliche Partitionsstruktur wieder reparieren (lassen). Fahren Sie dazu die VM herunter und entfernen Sie die VHDX-Datei aus der Konfiguration der VM.

Anlegen einer neuen VM

Erstellen Sie eine neue VM und achten Sie darauf, dass es sich um eine Generation 1 VM handelt. Weisen Sie ausreichend RAM und virtuelle CPUs zu (entsprechend Ihrer Hardware oder mehr/weniger, je nach Ausstattung des Servers) und hängen Sie die im vorherigen Schritt bearbeitete VHDX-Datei an den ersten IDE-Controller an Port 0 an. Neben der Festplatte brauchen wir noch ein DVD-Laufwerk, in das eine ISO von Windows Server 2016 eingelegt wird (davon ausgehend, dass es sich auch um ein Windows Server 2016 handelt in der konvertierten VHDX-Datei).

Die Reparatur der Partitionsstruktur

Starten Sie die VM und starten Sie von der Windows ISO-Datei. Direkt am ersten Bildschirm drücken Sie die Tastenkombination Shift+F10. Dies öffnet eine Eingabeaufforderung, in der wir nun weitere Arbeiten durchführen können. Wir beginnen mit der Konfiguration der Festplatte als aktiver Datenträger, dies kann mit dem Tool diskpart gemacht werden. Führen Sie in der Eingabeaufforderung die folgenden Befehle nach und nach aus:

  • diskpart
  • list disk
  • select disk 0
  • list partition
  • select partition 1
  • active
  • exit

Starten Sie nun die VM neu und starten Sie erneut von der ISO-Datei. Öffnen Sie direkt wieder mit Shift+F10 eine Eingabeaufforderung. Nun reparieren wir den Bootrecord der Festplatte mit den folgenden drei Befehlen:

  • bootrec /fixmbr
  • bootrec /fixboot
  • bootrec /rebuildbcd

Der dritte Befehl sucht auf den Festplatten nach vorhandenen Windows-Installationen. Hier sollte nach kurzer Zeit eine Installation gefunden werden. Diese müssen Sie dann mit einem J bzw. Y im englischen hinzufügen.

Nach der Ausführung dieser drei Befehle muss die VM erneut neu gestartet werden, wir starten ein drittes Mal in das Setup der ISO-Datei. Nun müssen wir die Windows Reparatur-Optionen auswählen (Das ist wichtig, ein einfaches Shift+F10-Fenster reicht nun nicht mehr aus!).

Hier zwei abschließende Befehle absetzen:

  • cd recovery
  • startrep.exe

Nach der Ausführung von StartRep.exe beginnt die Reparatur, dies dauert einige Minuten.

Der erste Start der VM

Die ISO-Datei kann nun aus dem Laufwerk entfernt werden und die VM kann das erste Mal gestartet werden. Hat alles geklappt, sollten Sie hier ein Windows Bootscreen sehen und die VM startet bis zum Lockscreen. Der erste Startvorgang kann einige Minuten dauern, je nach Ausstattung der VM, ob Netzwerk erkannt wird (oder eben nicht) und wie schnell die Datenträger im Hyper-V Host sind. Falls die VM nicht startet, überprüfen Sie ob alle Einstellungen und Befehle, die weiter vorne in diesem Artikel beschrieben werden, durchgeführt haben und ob alles ohne Fehlermeldung funktioniert hat.

Weitere Nacharbeiten

Nun stehen noch einige Dinge an, die erledigt werden müssen, damit das System wieder lauffähig ist. Dazu gehören die folgenden Dinge:

Netzwerk

Setzen Sie wieder die vorher genutzte IP-Adresse sowie weitere Einstellungen (Gateway, DNS usw.)

Alte / Nicht mehr vorhandene Hardware

Räumen Sie alte Hardware auf und entfernen Sie die entsprechenden Einträge im Geräte-Manager. Komponenten wie RAID-Controller, Netzwerkkarten usw. Ihrer Hardware werden jetzt in der Virtualisierung nicht mehr benötigt, also können diese entfernt werden. Dies geht entweder per Hand (doof, weil immer nur ein Eintrag gleichzeitig entfernt werden kann) oder mit Unterstützung von Tools. Mein Favorit ist das Device Cleanup Tool von Uwe Sieber, hiermit können alle nicht mehr vorhandenen Einträge gleichzeitig gelöscht werden.

Windows Aktivierung

Teilweise kann es sein, dass das Windows OS neu aktiviert werden muss. Ein kurzer Blick in die System-Eigenschaften zeigt, ob dies bei Ihnen der Fall ist.

Updates

Jetzt ist vielleicht ein guter Moment, Windows Updates einzuspielen, damit das System aktuell ist.

Backup

Denken sie unbedingt daran, dass konvertierte System in Ihr Backup mit aufzunehmen. Klingt banal, kann aber vergessen werden. Kommt es im späteren Verlauf zu Datenverlust und Sie haben kein Backup, wäre dies blöd. Sie wissen ja: Kein Backup, kein Mitleid! :)

Jan Kappen
 

Jan Kappen ist ausgebildeter Fachinformatiker in der Richtung Systemintegration. Er hat seine Ausbildung im Sommer 2008 abgeschlossen und arbeitete bis August 2018 bei der Rachfahl IT-Solutions GmbH & Co. KG. Seit September 2018 arbeitet er als Senior Netzwerk- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland. Jan Kappen ist unter anderen MCITP Server Administrator, Enterprise Administrator und Enterprise Messaging Administrator 2010 sowie MCTS für System Center Virtual Machine Manager 2008, Windows Server 2008 Active Directory, Windows Server Virtualization und Windows Server 2008 Network Infrastructure. Seit 2015 wird Jan Kappen im Bereich "File System Storage" bzw. "Cloud & Datacenter Management" für seine Expertise und seine Community-Arbeit mit dem MVP Award von Microsoft ausgezeichnet.

  • Stefan Fricke sagt:

    Danke für den Artikel, Jan. Genau nach diesem Verfahren arbeite ich auch.
    Da eine Gen2 VM doch ein paar Vorteile bietet, konvertiere ich die fertige VM zum Abschluß mit dem Script Convert-VMGeneration.ps1 von John Howard von Gen1 nach Gen2 (https://code.msdn.microsoft.com/windowsdesktop/Convert-VMGeneration-81ddafa2).

  • >