ISO-Dateien in eine Vhd-Datei konvertieren mit Hilfe eines (PowerShell-) Skriptes

In mehreren Kapiteln meines Windows 10-Ratgebers geht es um den Umgang mit ISO- und Vhd-Dateien. Eine ISO-Datei dürfte jeder schon einmal verwendet haben. Microsoft stellt solche Abbilddateien bereits seit vielen Jahren bei allen möglichen Gelegenheiten zur Verfügung. Entweder direkt oder wie bei Winbdows 10 über den Umweg des Media Creation Tools, mit dessen Hilfe man die Windows 10-Installationsdateien herunterlädt und auf Wunsch als ISO-Datei speichert, so dass mit dieser z. B. einen Computer bootet, um damit Windows 10 zu installieren.

Eine ISO-Datei fasst das komplette Abbild eines Laufwerks in einer Datei zusammen. Brennt man die ISO-Datei auf eine DVD, entsteht so ein bootfähiges Medium.

Auch eine Vhd-Datei fasst ein komplettes Laufwerk in einer Datei zusammen. ISO- und Vhd-Dateien unterscheiden sich sowohl im Aufbau als auch bezöglich ihres Verwendungszwecks. Während ISO auf einem international anerkannten Standard basiert, ist Vhd eine „Erfindung“ von Microsoft (bzw. der Firma Connector, deren Produkt Microsoft vor vielen Jahren eingekauft hatte und aus dem später Virtual PC und Virtual Server wurden, die es beide aber schon lange nicht mehr gibt). Vhd-Dateien werden nahezu ausschließlich für virtuelle Festplatten im Zusammenhang mit Hyper-V eingesetzt. Auch Virtual Box kann Vhd-Dateien als Laufwerke mounten, wer VMWare verwendet, muss die Vhd-Datei mit dem V2V Converter von Starwind in eine Vmk-Datei konvertieren.

Für das Anlegen einer VM wäre es manchmal praktischer, wenn anstelle der ISO-Datei das Installationsmedium als Vhd-Datei zur Verfügung st+nde. Die Konvertierung einer ISO- in eine Vhd-Datei ist mit den Bordmitteln von Windows 10 alleine nicht möglich. Es gibt aber ein Skript, mit dem die Konvertierung relativ einfach möglich ist. Es gibt nur ein kleines Problem: Das Skript gibt es aktuell nur als Teil eines Windows Server 2016-Installationsmedium, also innerhalb einer ISO-Datei. Und wie kommt man an diese ISO-Datei? Am einfachsten über den Download einer kostenlosen Testversion von Windows Server 2016. Die Frage ist nur, ob man ca. 4 GB an Daten heunterlädt wegen eienr Datei, die nur ein paar KB groß ist. In Zeiten von 50000er-DSL dauert der Download zwar nur ein paar Minuten, aber vielen dürfte das doch gegen das Verhältnismäßigkeits-Prinzip verstoßen. Könnte daher der Autor nicht einfach… Leider nicht, denn auch wenn es nur ein harmloses Skript ist, unterliegt es offiziell der Lizenzierung von Windows Server 2016 durch Microsoft und darf daher, wie jede andere Datei auch, nicht zum freienn Download durch eine dritte Person angeboten werden.

Wichtig: Ein Skript mit dem Namen Convert-Image.ps1 wird auch im Rahmen der TechNet Script Gallery angeboten. Aus welchen Gründen auch immer ist dies die falsche Version, die unter Windows 10 leider nicht funktioniert.

Im Folgenden tue ich daher so als hätten Sie sich das Skript auf irgendeine (legale) Weise besorgt und es befindet sich z.B. im Dokumente-Verzeichnis. Ferner kennen Sie den Namen und Pfad der zu konvertierenden ISO-Datei.

Schritt 1: Starten Sie die PowerShell (am besten als Administrator)

Schritt 2: Stellen Sie sich sicher, dass auf Ihrem Computer PowerShell-Skripte ausgeführt werden können.

Geben Sie dazu ein:

Get-ExecutionPolicy

Gibt der Befehl „Restricted“ zurück? Dann müssen Sie mit dem folgenden Befehl die Ausführungsrichtlinie auf „Unrestricted“ setzen:

Set-ExecutionPolicy Unrestricted -Force -Scope CurrentUser

Schritt 3: Laden des Skripts in die PowerShell ISE

Schritt 4: Führen Sie das Skript per F5-Taste aus.

Damit wird lediglich die Function-Definition des Skripts ausgeführt, es passiert noch nichts.

Schritt 5: Geben Sie den Befehl für die Konvertierung ein

Geben Sie den folgenden Befehl entweder in einem neuen Fenster der ISE oder in der Konsole ein.

$ISOPath = "E:\ISO\de_windows_10_pro_10240_x86_dvd.iso"
$VhdPath = "E:\Win10.vhd"
$Edition = "Pro"
Convert-WindowsImage -SourcePath $ISOPath -Edition $Edition -DiskLayout BIOS -VHDPath $VhdPath

Damit das Ganze auch funktioniert, müssen Sie die Pfade für die ISO- und die Vhd-Datei entsprechend anpassen. Über die Variable $Edition und ihren Wert „Pro“ wird das Image für die Pro-Edition konvertiert, die Alternative wäre die Angabe „Home“ für die Home Edition.

Die Befehle für die Konvertierung wurden in die PowerShell ISE eingegeben

Schritt 6:

Starten Sie die Konvertierung

Wenn Sie die eingegebenen Befehle ebenfalls per F5 starten und keine Fehler gemacht haben, sollte die Konvertierung starten. Als erstes werden ein paar Kontrollmeldungen in der Konsole ausgegeben. Sind alle „Vorabtests“ abgeschlossen, wird die eigentliche Konvertierung durchgeführt, die Sie anhand eines Fortschrittsbalkens verfolgen.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.