Wie konvertiere ich eine VHD in eine WIM-Datei?

21

Ich habe gerade eine schöne neue VM eingerichtet und sie sysprepped, jetzt muss ich sie ganz schnell in eine wim konvertieren, um sie auf meinen sccm-Server hochzuladen. Aus irgendeinem Grund kann ich die VM-Eigenschaften nicht so ändern, dass sie von einem älteren NIC für pxe gebootet werden. Auf diese Weise erfasse ich meine Images normalerweise mit sccm. VMM ändert die Einstellungen einfach wieder, obwohl dies als erfolgreich eingestuft wird.

Wie auch immer, die erste Seite von Google war schrecklich dafür, mit Ausnahme eines .ps1-Skripts eines Drittanbieters auf der MS-Website, aber ich verwende 2012r2. Ich sollte dies von Haus aus tun können, oder?

MDMoore313
quelle

Antworten:

27

Lassen Sie uns auf jeden Fall eine gute und richtige Antwort für Google veröffentlichen. Dies ist eine einfache Powershell-Ausführung mit zwei Befehlen unter Verwendung des dismModuls. Das Dism kann in frühere Versionen von Windows kopiert werden, sofern Sie über die entsprechende Version des Windows-Verwaltungsframeworks verfügen.

Hängen Sie zuerst den vhd mit ein

Mount-WindowsImage -ImagePath C:\VHDs\BigHomies.vhdx -Path C:\VHDMount -Index 1

Dann fangen Sie es in einem wim mit ein

New-WindowsImage -CapturePath C:\VHDMount -Name Win7Image -ImagePath C:\CapturedWIMs\Win7.wim -Description "Yet another Windows 7 Image" -Verify

Und lassen Sie es tun, es ist Sache. Wenn Sie fertig sind, können Sie den vhd aushängen und alle Änderungen verwerfen, indem Sie Folgendes verwenden:

Dismount-WindowsImage -Path C:\VHDMount -Discard
MDMoore313
quelle
1
Korrektur des zweiten Befehls: -ImagePath sollte den vollständigen Pfad zur WIM-Datei angeben (z. B. C: \ CapturedWIMs \ NewWinImage.wim), während -Name der Name des Abbilds in der WIM-Datei ist (z. B. NewWinImage, aber keine aktuelle Datei hat) Beziehung zum WIM-Dateinamen). Das Ausführen des ursprünglich bereitgestellten Befehls führt zu "New-WindowsImage: Zugriff verweigert". (Vermutlich, weil der Befehl versucht, das Verzeichnis C: \ CapturedWIMs als Datei zu behandeln.)
Jakub Berezanski
Interessante Analyse, das Beispiel von technet scheint auch mit Ihnen übereinzustimmen . Ich werde es aktualisieren, obwohl ich es direkt von meiner Powershell-Eingabeaufforderung gerissen habe. Lol.
MDMoore313
1
+1 Diese Antwort hat mir wirklich geholfen!
Joshua McKinnon
Stellen Sie sicher, dass Sie die x64-Version von Powershell (unter x64-Windows) und mit Administratorrechten ausführen. Andernfalls treten verschiedene Fehler auf. Siehe serverfault.com/questions/700839/…
aggieNick02
1
@ClearBoth auf den New-WindowsImageBefehl? Ich frage mich, ob der VHDX in Gebrauch ist oder auf andere Weise nicht gesperrt werden kann.
MDMoore313,
3

Wenn Powershell aus irgendeinem Grund keine Option ist - verzweifeln Sie nicht!

In Windows 7 oder höher können Sie die VHD-Datei über die Datenträgerverwaltung bereitstellen ( Link ).

Nach dem Mounten können Sie mit imagex.exe die .wim-Datei ( Technet-Link ) erfassen.

Vlad274
quelle