Вынесенным в заголовок вопросом поинтересовался в почте читатель Роман. Ответ в целом известен со времен Windows Vista, но текущая документация представлена только на английском языке и не описывает весь процесс. Поэтому я решил изложить его в блоге.
Задача
Вам нужно создать установочный диск Windows 10 с несколькими изданиями, например, Home Single Language, Home и Pro. При этом в каждое издание необходимо внести одинаковые изменения. Допустим, вам нужно установить приложения, настроить профиль Default и т.д,
Повторять одни и те же действия с каждым изданием – трудоемкий и длительный процесс.
Решение
Идея в том, чтобы настроить младшее издание, экспортировать его несколько раз в один WIM-файл, а затем обновлять офлайн до нужных изданий. Начните с самого младшего издания. Настройте его, будь то режим аудита или прямые изменения в WIM, и сохраните образ. Теперь задача решается с DISM в четыре этапа, и я покажу их на примере Windows 10.
Примечание. Это руководство подразумевает использование оригинальных образов MSDN/VLSC, в которых содержится файл install.wim. В образах Media Creation Tool — зашифрованный и сжатый файл install.esd. Вопросы получения образов MSDN/VLSC и модификации образов MCT выходят за рамки этой статьи.
Этап 1 – Получение сведений о содержимом install.wim
Будем считать, что образ install.wim у вас лежит в C:\wim и подключается в C:\mount. Все команды выполняйте в PowerShell от имени администратора.
Задайте переменные и посмотрите сведения об изданиях.
#1 Переменные рабочей среды и содержимое исходного образа #переменные с путями к папкам (задайте свои) $wimpath = "C:\wim" $mountpath = "C:\mount" #переменные с именами файлов (изменять не нужно) $sourcewim = "install.wim" $destinationwim = "install-new.wim" #содержимое исходного образа Get-WindowsImage -ImagePath $wimpath\$sourcewim
Если вы захватывали настроенный образ, то его индекс – 1. Иначе вам нужен индекс того издания, которое вы изменяли.
Этап 2 – Получение сведений об изданиях настроенного образа
У изданий Windows есть маркетинговые и технические названия. Например, маркетинговое – Home, а техническое – Core. (Строго говоря, в Windows 10 у маркетологов нет издания Home, а есть просто «Windows 10», но менее домашним оно от этого не становится :)
Вы можете подключить образ и посмотреть его издание, а также список изданий, до которых его можно обновить.
#2 Подключение образа настроенного издания и просмотр сведений об изданиях #укажите свой индекс Mount-WindowsImage -ImagePath $wimpath\$sourcewim -Index 1 -Path $mountpath #просмотр текущего издания подключенного образа Get-WindowsEdition -Path $mountpath Edition : CoreSingleLanguage #просмотр изданий, до которых можно обновить подключенный образ Get-WindowsEdition -Path $mountpath -Target
В результатах последней команды есть занятные штуки вроде профессионального издания для одного языка, но главное – теперь у вас есть технические названия всех изданий.
Edition : Core Edition : Professional Edition : ProfessionalEducation Edition : ProfessionalWorkstation Edition : Education Edition : ProfessionalCountrySpecific Edition : ProfessionalSingleLanguage Edition : ServerRdsh
В этот список не попало издание Enterprise, потому что CoreSingleLanguage нельзя обновить до него напрямую. Но можно обновить Professional.
Отключите исходный образ без сохранения изменений.
Dismount-WindowsImage -Path $mountpath -Discard
Этап 3 — Экспорт настроенного издания новый образ
Экспортируйте настроенное издание в новый образ install-new.wim столько раз, сколько вам нужно изданий в итоге. В нашем примере – три раза (Home SL, Home, Pro).
В командах подставьте свой индекс и каждый раз указывайте желаемое имя образа в параметре /DestinationName. Оно может быть любым – главное, чтобы вы различали.
#3 Экспорт настроенного издания из исходного образа в новый образ Dism /Export-Image /DestinationName:"Windows 10 Home Single Language" /SourceImageFile:$wimpath\$sourcewim /SourceIndex:1 /DestinationImageFile:$wimpath\$destinationwim Dism /Export-Image /DestinationName:"Windows 10 Home" /SourceImageFile:$wimpath\$sourcewim /SourceIndex:1 /DestinationImageFile:$wimpath\$destinationwim Dism /Export-Image /DestinationName:"Windows 10 Pro" /SourceImageFile:$wimpath\$sourcewim /SourceIndex:1 /DestinationImageFile:$wimpath\$destinationwim
Выполнение первой команды займет минуту-другую, поскольку создается новый WIM-файл. Остальные команды пройдут моментально, ибо разницы между образами нет.
Заметьте, что здесь используется DISM.ехе, а не командлет PowerShell. К сожалению, командлет Export-WindowsImage из-за дефекта не задает указанное имя экспортируемого образа, хотя в 1709 все было ок. Если задействовать его, у всех образов будет одинаковое значение Image Name. Я занес баг-репорт в центр отзывов, поддержите его (требуется инсайдерская учетная запись Microsoft).
Теперь в новом образе install-new.wim будет такая картина.
Get-WindowsImage -ImagePath $wimpath\$destinationwim ImageIndex : 1 ImageName : Windows 10 Home Single Language ImageDescription : Windows 10 Home Single Language ImageSize : 14 369 510 003 bytes ImageIndex : 2 ImageName : Windows 10 Home ImageDescription : Windows 10 Home Single Language ImageSize : 14 369 510 003 bytes ImageIndex : 3 ImageName : Windows 10 Pro ImageDescription : Windows 10 Home Single Language ImageSize : 14 369 510 003 bytes
Ориентируйтесь на Image Name, потому что Image Description из инструментов Microsoft умеет задавать только утилита imagex. При установке это будет выглядеть так (вверху названия образов, а внизу — описание выбранного образа).
Несмотря на разные имена образов, в них одно и то же младшее издание, но сейчас мы это исправим.
Этап 4 – Обновление изданий в новом образе
Первый образ с младшим изданием остается без изменений, а образы с индексами 2 и 3 вам надо последовательно обновить до старших изданий.
#4 обновление до другого издания и сохранение образа #подключение издания с индексом 2 из нового образа Mount-WindowsImage -ImagePath $wimpath\$destinationwim -Index 2 -Path $mountpath #обновление Home Single Language до Home Set-WindowsEdition -Path $mountpath -Edition "Core" #проверка текущего издания Get-WindowsEdition -Path $mountpath #сохранение образа Dismount-WindowsImage -Path $mountpath -Save #подключение издания с индексом 3 из нового образа Mount-WindowsImage -ImagePath $wimpath\$destinationwim -Index 3 -Path $mountpath #обновление Home Single Language до Pro и сохранение образа Set-WindowsEdition -Path $mountpath -Edition "Professional" #проверка текущего издания Get-WindowsEdition -Path $mountpath #сохранение образа Dismount-WindowsImage -Path $mountpath -Save
Теперь имена образов соответствуют содержащимся в них изданиям. Если вы создаете установочную флэшку, остается лишь закинуть install-new.wim в папку sources с именем install.wim. Инструкции по созданию ISO вы найдете в этой заметке блога.
valerij rozov
Вадим, не подскажете… Сделал всё согласно статье, но при установке, в окне выбора редакций, пусто.
Vadim Sterkin
Если все делать согласно статье, такого быть не может :)
Подключите ISO в Windows и выполните
Где E — буква ISO. Результат залейте на https://pastebin.com
valerij rozov
У меня пусто в «ImageDescription», на этапе создания.
Vadim Sterkin
Может, хоть что-то покажете и укажете номер этапа согласно статье? Я ж не телепат… А лучше весь процесс от первого до последнего этапа скопировать на pastebin, чтобы я видел все ваши действия.
valerij rozov
У меня есть изменённый образ с интегрированными тремя языками, вот с ним-то и проблемы, с одним языком всё получается.
Vadim Sterkin
Я рад, что у вас получилось по крайней мере с одним языком. Между тем, я добавил в начале статьи примечание
valerij rozov
А разве не у Вас в начале статьи написано, «Настройте его, будь то режим аудита или прямые изменения в WIM, и сохраните образ». Образ с тремя языками, сделан на основе оригинального образа MSDN, кстати, тоже по Вашей статье, только другой.
Vadim Sterkin
Валерий, вам нужно понять одну очень простую вещь: мне отсюда не видно, что и как именно вы делаете. Я дважды запросил у вас подробную информацию, но вы ее не предоставляете, а лишь выдавливаете из себя отрывочные мелкие детали. Теперь мне также нужно знать подробности создания вашего образа с тремя языками.
Если в следующем комментарии не будет всей необходимой информации, я его просто проигнорирую. Сколько можно-то?
valerij rozov
Вадим, упрёки Ваши справедливы, простите меня.
Что касается всего остального….
Образ, о котором идёт речь, я делал, руководствуясь Вашей статьёй, «Создание настроенного образа операционной системы». В ней в частности сказано касательно сохранения образа, с помощью утилиты ImageX.
«Мой самый лучший образ Windows» — (необязательно) описание образа.»
Так вот, если не включить в команду сохранения образа, (что собственно я и делал), описание образа,
то «ImageDescription» остаётся пустым. И в этом случае, остаётся пустым окно выбора редакций.
Сейчас, всё в порядке, всё получилось. Огромное спасибо за статью, и за ответы.
Vadim Sterkin
Окей, спасибо за объяснение. Я убрал из той статьи «(необязательно)» применительно к описанию образа.
valerij rozov
Понимаю, что вопрос выходит за рамки статьи, но может быть Вы направите меня…
У меня сейчас так, или окно выбора языка (у меня мультиязычный образ), или окно выбора редакций.
Вообще это возможно, несколько языков, и несколько редакций? Ничего внятного по этому вопросу не нашёл.
Vadim Sterkin
Я такое очень давно не делал. См. эти темы, спросите в подходящей. Но если вы не объясните, как собираете три языка, вам вряд ли помогут :)