Ziel ist es einen Windows Server 2008R2 (IBM 7947K6G System x3650 M2) via disk2vhd v2.01 (nur Disk С) zu virtualisieren. Die Erstellung der VHD-Datei funktioniert soweit problemlos und die Datei wird in die frisch erstellte VM (auf einem Hyper-V 2012) eingehängt.
Nach dem Startversuch der VM erscheint nur ein "black screen" mit blinkendem Curser in der oberen linken Ecke. Mehr nicht!
Um eine lauffähige Version von diskpart zu erhalten, wird die VM von einer Windows-ISO gestartet und über Computerreparatur eine Komandozeile gestartet.
Mit den folgenden Schritten kann man die VHDX mit diskpart wieder bootfähig machen:
List Disk
(Das zeigt die Festplatten. Hier wird die Nummer der Boot-Festplatte gesucht, welches mit dem nächsten Befehl ausgewählt wird)
Select Disk 0
(Wenn mehrere Festplatten vorhanden sind könnte es eine andere Festplatte sein - wir brauchen die Boot-Festplatte)
List Vol
(listet die Volumes in der selben Art wie die Festplatten. Hier sollte die Volumes angezeigt werden, aber das gesuchte _Boot-Volume_ (nicht das System-Volume, sondern das wo die Boot Konfiguration abgelegt ist) wird als _RAW_ angezeigt. Die Nummer des RAW-Volumes wird für den nächsten Schritt benötigt.)
Select Vol 3
(hier wird angenommen, dass das gewünschte RAW-Volume die 3 ist - hier die eigene Nummer benutzen)
assign drive letter L:
(damit wird das Volume mit der Laufwerkskennung _L:_ sichtbar gemacht. Das ist nur vorübergehend und spielt nur beim Bootvorgang eine Rolle)
FORMAT FS=FAT32 LABEL=”BOOT”
(damit wird das Volume formatiert und bereit gemacht die neue Boot-Partition zu empfangen. Ausserdem wird das Volume als _BOOT_ benannt)
Exit
(damit wird _Diskpart_ beendet)
Mit der Kommandozeile wechseln wir in das Boot-Volume und erzeugen die benötigte Struktur mit den folgenden Befehlen:
L:
md L:\efi
md L:\efi\Microsoft
md L:\efi\Microsoft\Boot
Anschließend wird der Bootrecord und die notwendigen Boot-Dateien erstellt:
bootrec /fixboot
bcdboot C:\Windows /l de-de /s L: /f ALL
Damit wird der BCD store erzeugt und die boot-files aus dem Windows Systemverzeichnis in das Volume L: kopiert.
An dieser Stelle kann mit dem exit Befehl die Komandozeile beendet werden und die VM mit ihrem OS von der VHDX gestartet werden.