2018-09-12

Создаем свой установочный WIM-образ

Сегодня мы затронем тему создания собственного установочного WIM-образа. Разберем вопрос интеграции в один WIM-архив нескольких версий установочных образов разной разрядности. И в конце объединим все полученное в единый установочный ISO-образ/флеш-накопитель.





Общий Сценарий


Опишу предстоящий план действий. Первым делом нужно будет установить необходимую версию операционной системы Windows на виртуальную машину. После, произвести установку всех необходимых программ, файлов, обновлений в установленную ОС. Произвести подготовку ОС к снятию образа. Снять образ с подготовленной ОС. 

Выполнить аналогичные действия для версии ОС другой разрядности, или содержания. Дополнить созданный ранее образ новым, то есть создать мультиустановочный образ. Подготовить установочную среду для созданного образа. Создать установочный диск или флеш накопитель на основе всего вышепроделанного.

Что потребуется для выполнения всех дальнейших действий? Установочный образ ОС Windows и консольная программа DISM. Достать официальный установочный образ Windows можно тут. Программа DISM встроена в систему начиная с ОС Windows 7. Так же она присутствует в любой среде предустановки.

Рекомендуется так же ознакомиться с этим материалом. Он поможет лучше понять суть происходящего далее.


Подготовка ОС


Думаю, сам процесс установки Windows на виртуальную машину, читателю знаком. Поэтому описание этого процесса я отпущу, до определенного этапа. Итак, первый этап установки пройден (копирование файлов). Первая загрузка и установка драйверов пройдена. Перед нами экран первоначальной настройки свежеустановленной системы.


Нажимаем сочетание клавиш Ctrl+Shift+F3. Произойдет перезагрузка системы, и выполнится автоматический вход под учетной записью администратор. Это, так называемый режим аудита.



После входа, на экране будет красоваться запущенный SysPrep (о нем немного позже), пока закроем его нажав на крестик или на кнопку Отмена.

Находясь в данном режиме, можно подготовить систему к предстоящему снятию образа. То есть, установить необходимое программное обеспечение. Произвести удаление, ненужных компонентов и программ.


Выполнить необходимые настройки системы.


Установить обновления операционной системы.


После того, как все необходимые настройки выполнены, можно выполнить процедуру подготовки операционной системы к снятию образа. Данная подготовка осуществляется с помощью встроенной в систему программы SysPrep.

SysPrep выполняет удаление установленных устройств, удаляет текущий SID системы. В общем приводит систему к предустановочному состоянию.

Нажимаем сочетание клавиш Win+R, вводим в строке запуска sysprep, нажимаем ENTER. Откроется директория в которой будет расположена программа sysprep.exe.


Запускаем sysprep.exe. В открывшемся окне программы, выставляем настройки. В секции Действие по очистке систем, в выпадающем списке выбираем значение Переход в окно приветствия системы (OOBE) и ставим галочку Подготовка к использованию. В секции Параметры завершения работы в выпадающем списке выставляем значение Завершение работы.


Запускаем процесс подготовки системы нажатием по кнопке OK.


Если все пройдет успешно, то виртуальная машина выключится. В противном случае, на экране появится окно с сообщением об ошибке.

Виртуальная машина выключилась, что говорит о том что предустановочная подготовка операционной системы успешно выполнена, и можно снимать с нее образ.


Создаем WIM-образ


После успешной подготовки системы утилитой SysPrep, можно приступить к снятию образа. Подключаем к виртуальной машине установочный ISO-образ Windows, с которого проводилась установка, и выполняем загрузку с него.


Загрузится среда предустановки и появится окно установщика Windows.


Нажимаем на клавиатуре сочетание клавиш Shift+F10. На экране появится окно командной строки.



Кратко опишу, что будет происходить дальше. Находясь в командной строке, необходимо первым делом определить, на каком из имеющихся на данный момент подключенных разделах системы, расположена установленная ОС, подготовку которой мы совершали ранее.

Вторым шагом, необходимо определиться с местом, в которое будет производится запись снимаемого образа подготовленной ОС. Так как возможна ситуация, что места на разделе с которого снимается образ, будет недостаточно свободного пространства. То есть нужно будет найти иное место размещение создаваемого WIM-образа.

Находим раздел подготовленной ОС. Выведем список всех имеющихся разделов системы.

wmic volume list brief


Данная команда выводит детальную информацию о всех разделах системы в виде таблицы. В выводе содержатся столбцы - Буква диска (Name), Метка диска (Label), Свободное место (FreeSpace), Общий объем раздела (Capacity), Тип файловой системы (FileSystem).

Исходя из полученной информации, легко можно определить необходимый раздел. В моем случае это диск D:\.

Определяемся с местом сохранения будущего WIM-образа. Так как в моем случае диск D:\ содержит порядка 12 ГБ свободного пространства, из 25 ГБ имеющихся, то снимать образ системы можно прямо на него. Этого свободного пространства должно хватить.

Снимаем образ на тот же диск. Процесс этот не быстрый, поэтому придется подождать.

dism /capture-image /imagefile:D:\Win10.wim /capturedir:D:\ /compress:max /name:"Windows 10 x64 1803" /description:"Windows 10 x64 1803 Build Date 2018.09.10"

/imagefile - указывает на будущий (создаваемый) WIM-архив.
/capturedir - указывает на раздел с которого будет сниматься образ.
/comoress - задает степень сжатия содержимого WIM-архива.
/name - задает имя образа внутри WIM-архива.
/description - описание образа.


Образ снят. Проверим какого размера он получился в итоге.

dir D:\Win10.wim


В моем случае, размер итогового образа получился равным 4758 МБ. Образ готов к использованию.

Снимаем образ на другой диск. Данный вариант применим, если на диске с которого происходит снятие образа, не располагает необходимым количеством свободного пространства, или если необходимо снять образ именно на указанный диск, например сетевой.

Подключаем сетевой диск.

rem Инициализируем сеть.
wpeinit

rem Проверяем настройки сети, а конкретно их наличие.
ipconfig

rem Подключаем сетевой диск.
net use N: \\192.168.0.254\share /user:guest guest


Сетевой диск N:\ подключен. Выполним снятие WIM-образа на данный диск.

dism /capture-image /imagefile:N:\Win10.wim /capturedir:D:\ /compress:max /name:"Windows 10 x64 1803" /description:"Windows 10 x64 1803 Build Date 2018.09.10"

Все параметры остались неизменными, кроме /imagefile, который указывает на новое местоположение создаваемого образа.


Образ успешно снят.


Дополнение Существующего WIM-образа


В предыдущем разделе был описан процесс снятия образа настроенной операционной системы. К сведению, это была редакция Windows 10 64-bit. Дополним полученный ранее образ Win10.wim, настроенной редакцией Windows 10 32-bit.

Нужно снова выполнить установку операционной системы, нужной редакции. Желательно на другой виртуальный жесткий диск, на случай последующих изменений. Настройку установленной системы. Расписывать повторно весь этот процесс нет смысла, так как он абсолютно одинаков. Остановимся на моменте снятия образа с уже подготовленной операционной системы.

Выполняем поиск раздела на котором расположена подготовленная операционная система, и выполняем команду снятия образа в существующий WIM-архив, расположенный на сетевом диске.

rem Получаем информацию о разделах системы.
wmic volume list brief

rem Выполняем снятие образа в существующий WIM-архив.
dism /append-image /imagefile:N:\Win10.wim /capturedir:D:\ /name:"Windows 10 x86 1803" /description:"Windows 10 x86 1803 Build Date 2018.09.10"


Образ успешно дополнен. Проверим размер итогового WIM-архива.

dir N:\Win10.wim


В моем случае, полученный WIM-архив увеличился до 6845 МБ, от первоначальных 4758 МБ (2087 МБ разницы).

Посмотрим информацию о WIM-файле.

dism /get-wiminfo /wimfile:N:\Win10.wim


Мультиустановочный инсталляционный WIM-образ готов.


Установочный Диск на Основе Своего WIM-архива


Для создания установочного диска (iso-образа или флеш накопителя), потребуется установочный ISO-образ Windows, и подготовленный ранее мультиустановочный WIM-архив.

Создадим папку в которой будут размещаться файлы для будущего установочного диска. В моем случае это директория D:\WinDisk.


Скопируем в данную директорию файлы с установочного ISO-образа Windows.



Файлы скопированы. Перейдем в папку sources, и удалим в ней файл install.esd.


Скопируем созданный, и дополненный ранее, файл Win10.wim в папку sources.


Переименуем скопированный файл Win10.wim в install.wim.


Выполним тестовый запуск установщика (исполняемый файл sources\setup.exe).


Установщик корректно определил созданный WIM-архив.

На данный момент, папка D:\WinDisk содержит весь необходимый комплект файлов для создания установочного компакт-диска или флеш накопителя. Разберем оба варианта подробнее.


Проблема Большого Размера WIM-архива


Перед дальнейшим рассмотрением создания собственного установочного диска, разберемся с одной неявной проблемой. Заключается она в большом размере созданного установочного WIM-архива.


На данный момент, размер install.wim составляет 6.68 ГБ.

Какие проблемы может вызвать большой размер файла install.wim? Для подготовки установочного флеш-накопителя, способного грузиться в BIOS и UEFI режимах, необходимо чтобы он был отформатирован в файловой системе FAT32. А у файловой системы FAT32 есть ограничение - максимальный размер файла 4 ГБ - 1 Байт.

Какие есть варианты решения данной проблемы? Можно разделить WIM-архив на несколько частей с помощью DISM. Можно подготовить установочный флеш накопитель с помощью программы Rufus. Она позволяет организовать возможность загрузки с NTFS-раздела в UEFI-режиме. Не очень действенное, но иногда может может помочь, переконвертация в ESD-формат. Рассмотрим каждый из этих вариантов.


Разбиение WIM-архива


Чтобы разделить имеющийся WIM-архив на несколько частей, нужно выполнить его преобразование к SWM-формату. Данный формат позволяет разбить имеющийся большой WIM на несколько частей, указанного размера. Перейдем к действию. Запускаем командную строку от имени администратора.


Переходим в директорию с целевым WIM-архивом.

cd /D D:\WinDisk\sources


Выполняем команду разделения существующего WIM-архива на части по 4000 МБ.

dism /split-image /imagefile:install.wim /swmfile:install.swm /filesize:4000


По завершении, рядом с файлом install.wim, появятся файлы install.swm и install2.swm. То есть, оригинальный install.wim разделился на 2 части, 4000 + 2700 МБ.


Если сейчас удалить install.wim и оставить в папке sources его разделенную install.swm версию, установщик будет успешно работать. Так же можно перенести install2.swm на другой диск. При этом, во время установки будет выведен запрос, с просьбой вставить второй установочный диск содержащий данный файл (install2.swm).


Подготовка Флеш-накопителя с Помощью Rufus


Данный процесс уже рассматривался в предыдущих статьях. Свежая запись по этой теме, доступна по этой ссылке https://www.bootdev.ru/2018/07/Installing-Windows-on-USB-drive.html#DiskPartitioning.

Суть данного метода, заключается в возможности загрузки с NTFS-раздела в UEFI-режиме. А это в свою очередь, избавляет от необходимости использования файловой системы FAT32 с ее файловыми ограничениями.


Конвертация WIM в ESD


ESD-архив является более сжатой версией WIM-архива. То есть во время создания ESD-архива применяется другой, более эффективный алгоритм сжатия LZMS, вместо LZX у WIM.

В данном случае не удастся сжать архив до размеров меньших или равному 4 ГБ, но значительно уменьшить размер текущего install.wim получится. Приступим. Открываем командную строку от имени администратора и переходим в директорию с целевым install.wim.

cd /D D:\WinDisk\sources


Выполняем экспорт каждого индекса (образа) из WIM-архива install.wim в архив install.esd.

dism /export-image /sourceimagefile:install.wim /sourceindex:1 /destinationimagefile:install.esd /compress:recovery
dism /export-image /sourceimagefile:install.wim /sourceindex:2 /destinationimagefile:install.esd /compress:recovery


Проверим размер созданного install.esd.


4.77 Гб вместо 6.68 ГБ у install.wim. Экономия почти 2 ГБ дискового пространства.


Установочный ISO-образ


Для создания установочного ISO-образа на основе подготовленных файлов, понадобится консольная программа oscdimg.exe. Распространяется она вместе с Windows ADK. Отдельно ее можно скачать отсюда.

Подробная инструкция по программе oscdimg.exe доступна по этой ссылке https://msdn.microsoft.com/ru-ru/library/windows/hardware/dn898597(v=vs.85).aspx.

Запускаем командную строку. Переходим в директорию с программой oscdimg.exe.

cd /D D:\Oscdimg_x64


Выполняем команду создания ISO-образа (D:\MyWin10.ISO) на основе подготовленных файлов в папке D:\WinDisk.

oscdimg.exe -m -h -bootdata:2#p0,e,b"etfsboot.com"#pEF,e,b"efisys.bin" -u2 -udfver102 -lWin10x86x64v1803 D:\WinDisk D:\MyWin10.ISO


ISO-образ создан.


Проверим его работоспособность в виртуальной машине VirtualBox.



Установочный Флеш-накопитель


Для создания установочной Windows-флешки, понадобится программа diskpart (встроена в систему) и подготовленные ранее установочные файлы.

Запускаем diskpart (Win+R, вводим в строку запуска diskpart, нажимаем ENTER) и вводим следующие команды:

rem Определяем номер диска
list disk

rem Выбираем наш диск, в моем случае нужный располагался под номером 2
select disk 2

rem Очищаем диск от таблицы разделов
clean

rem Создаем первичнный раздел
create partition primary

rem Делаем созданный раздел активным
active

rem Форматируем созданный раздел
format fs=FAT32 label="Win10Setup" quick

rem Монтируем созданный раздел, то есть присваиваем ему первую свободную букву
assign

rem Выходим из diskpart
exit


Копируем подготовленные установочные файлы, находящиеся в папке D:\WinDisk, в корень созданного раздела флешки.


Установочная Windows-флешка готова. Подготовленный таким способом флеш-накопитель сможет грузиться как в BIOS, так и в UEFI-режиме.


Возможные Ошибки


"Windows не удалось отобразить образы, доступные для установки." - Данная ошибка возникает при использовании WIM-архива у индексов (образов) которого отсутствует описание. Добавьте описание каждому индексу (образу) с помощью программы GImageX (https://www.autoitconsulting.com/site/software/gimagex/) и проблема должна устраниться.



Итог


Какие темы были затронуты: Как создать свой установочный WIM-образ. Как выполнить конвертирование WIM в ESD. Как преобразовать WIM в SWM. Как создать установочный Windows ISO. Как создать свою установочную сборку Windows. Как создать установочный флеш-накопитель.

Комментариев нет :

Отправить комментарий