Как мне преобразовать VHD в WIM-файл?

21

Я только что установил и выполнил подготовку sysprepped новой замечательной виртуальной машины, теперь мне нужно быстро преобразовать ее в wim, чтобы загрузить на мой сервер sccm. По какой-то причине я не могу изменить свойства виртуальной машины для загрузки с устаревшей версии pxe, как обычно я делаю снимки с помощью sccm. VMM просто меняет настройки обратно, даже если он говорит, что успешно.

Во всяком случае, первая страница Google была ужасна для этого, за исключением стороннего скрипта .ps1 на сайте MS, но я использую 2012r2, я должен быть в состоянии сделать это изначально, верно?

MDMoore313
источник

Ответы:

27

Абсолютно, давайте отправим основную и правильный ответ для Google. Это простая команда Powershell для выполнения двух команд с использованием dismмодуля. Диски могут быть скопированы в более ранние версии Windows, если у вас есть соответствующая версия среды управления Windows.

Сначала смонтируйте VHD, используя

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

Затем запишите его в

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

И пусть это делает свое дело. Когда вы закончите, вы можете размонтировать VHD и отменить любые изменения, используя:

Dismount-WindowsImage -Path C:\VHDMount -Discard
MDMoore313
источник
1
Исправление ко второй команде: -ImagePath должно указывать полный путь к файлу WIM (например, C: \ CapturedWIMs \ NewWinImage.wim), в то время как -Name - это имя изображения внутри файла WIM (например, NewWinImage, но не имеет фактического отношение к имени файла WIM). Выполнение первоначально опубликованной команды приводит к «New-WindowsImage: доступ запрещен». (предположительно потому, что команда пытается обработать каталог C: \ CapturedWIMs как файл).
Якуб Березанский
Интересный анализ, пример Technet также, кажется, согласен с вами. Я обновлю его, даже если я разорвал это прямо из моей подсказки PowerShell LOL.
MDMoore313
1
+1 этот ответ действительно помог мне!
Джошуа Маккиннон
Обязательно запустите x64-версию powershell (если в x64 windows) и запустите с правами администратора. Невыполнение любого из этих действий приведет к различным ошибкам. См serverfault.com/questions/700839/...
aggieNick02
1
@ClearBoth по New-WindowsImageкоманде? Интересно, используется ли VHDX или иным образом не может быть заблокирован.
MDMoore313
3

Если по какой-то причине Powershell не подходит - не отчаивайтесь!

В Windows 7 или более поздней версии вы можете подключить VHD через управление дисками ( ссылка ).

После того, как он смонтирован, вы можете использовать imagex.exe для захвата .wim (техническая ссылка )

Vlad274
источник