Jak przekonwertować VHD na plik WIM?

21

Właśnie skonfigurowałem i sysprepowałem ładną nową maszynę wirtualną, teraz muszę ją bardzo szybko przekonwertować, aby przesłać ją na mój serwer sccm. Z jakiegoś powodu nie mogę zmienić właściwości maszyny wirtualnej, aby uruchamiała się ze starszej nici dla pxe, i tak zwykle przechwytuję moje obrazy przy użyciu sccm. VMM po prostu zmienia ustawienia od razu, nawet jeśli mówi o sukcesie.

W każdym razie pierwsza strona google była z tego powodu okropna , z wyjątkiem zewnętrznego skryptu .ps1 na stronie MS, ale używam 2012r2, powinienem być w stanie to zrobić natywnie, prawda?

MDMoore313
źródło

Odpowiedzi:

27

Oczywiście, opublikujmy pierwotną i właściwą odpowiedź dla Google. Jest to proste wykonanie polecenia PowerShell w 2 poleceniach przy użyciu dismmodułu. Dym można skopiować do wcześniejszych wersji systemu Windows, pod warunkiem, że masz odpowiednią wersję systemu zarządzania Windows.

Najpierw podłącz VHD za pomocą

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

Następnie uchwycić go w wim z

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

I niech tak się stanie. Po zakończeniu możesz odmontować dysk twardy i odrzucić wszelkie zmiany, używając:

Dismount-WindowsImage -Path C:\VHDMount -Discard
MDMoore313
źródło
1
Poprawka do drugiego polecenia: -ImagePath powinna określać pełną ścieżkę do pliku WIM (np. C: \ CapturedWIMs \ NewWinImage.wim), podczas gdy -Name to nazwa obrazu w pliku WIM (np. NewWinImage, ale nie ma rzeczywistej związek z nazwą pliku WIM). Wykonanie pierwotnie opublikowanego polecenia powoduje „Nowy obraz systemu Windows: Odmowa dostępu”. (prawdopodobnie dlatego, że polecenie próbuje traktować katalog C: \ CapturedWIMs jako plik).
Jakub Berezański
Ciekawa analiza, przykład technetu również wydaje się zgadzać z tobą. Zaktualizuję to, nawet jeśli zgarnąłem to prosto z mojego monitu PowerShell lol.
MDMoore313
1
+1 ta odpowiedź naprawdę mi pomogła!
Joshua McKinnon,
Pamiętaj, aby uruchomić wersję PowerShell x64 (jeśli jest na Windows x64) i uruchomić z uprawnieniami administratora. Niewykonanie jednego z nich spowoduje różne błędy. Zobacz serverfault.com/questions/700839/…
aggieNick02
1
@ClearBoth na New-WindowsImagepolecenie? Zastanawiam się, czy vhdx jest używany, czy w inny sposób nie może zostać zablokowany.
MDMoore313
3

Jeśli z jakiegoś powodu Powershell nie wchodzi w grę - nie rozpaczaj!

W systemie Windows 7 lub nowszym można zamontować .vhd za pomocą zarządzania dyskami ( link )

Po zamontowaniu można użyć imagex.exe do przechwycenia pliku .wim ( łącze technet )

Vlad274
źródło