Создание сборки windows 10 dism

Привет, друзья. Мы продолжаем обзор возможностей одной примечательной программы, Mast Have для системщиков и энтузиастов — Dism++. Эта статья будет своего рода кульминацией всего цикла публикаций об этой программе: в ней мы рассмотрим, как с помощью Dism++ создать свою сборку Windows. А свою сборку Windows с помощью этой программы можно создать легко и просто. Нам не нужно будет никаких виртуальных машин для создания эталонного образа системы, никаких установочных или Live-дисков для захвата образа, никаких командных строк. Мы с помощью Dism++ создадим эталонный образ Windows для сборки в файле VHD, настроим его. С помощью той же Dism++ очистим его, применим к нему твики, внедрим обновления. И, опять же, с помощью Dism++ мы захватим образ в файл WIM или ESD и потом запакуем его в установочный ISO.

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

Итак, мы хотим создать свою сборку Windows 7, 8.1 или 10. Нам для этого понадобятся:

•    Установочный ISO-образ нужной версии и редакции Windows,

•    Программа Dism++,

•    Штатное управление дисками.

Чтобы создать свою сборку Windows, нам нужно установить новую операционную систему. И на её базе сформировать эталонный образ Windows – систему без пользовательских профилей, но с внесёнными необходимыми настройками, установленными системными компонентами, обновлениями и программами. И такой вот эталонный образ мы создадим на виртуальном диске VHD. Жмём клавиши Win+R, вводим:

diskmgmt.msc 

И запускаем системное управление дисками. В нём жмём «Действие», затем – «Создать виртуальный жёсткий диск».

Указываем расположение файла VHD виртуального диска, его размер и тип. Я укажу небольшой размер – 30 Гб и выберу тип динамический. После создания своей сборки мы удалим виртуальный диск, так что все эти параметры особого значения не имеют.

После создания виртуального диска инициализируем его.

Выбираем стиль разделов диска такой, как и у физических дисков компьютера, у меня это GPT.

Из пустого места проинициализированного виртуального диска создаём обычный NTFS-раздел.

И вот итог: у нас должен получиться в системе лишний диск с единственным разделом под эталонную Windows.

Теперь нам нужно установить на этот VHD-диск Windows, которую мы настроим под эталонный образ своей сборки. Запускаем программу Dism++. Жмём «Файл», потом — «Применить образ».

В графе «Введите путь к файлу образа» с помощью кнопки обзора указываем путь к установочному ISO-образу Windows. Я, например, буду использовать установочный ISO Windows 8.1 сборки AIO by Sergei Strelec, это сборка на базе чистого образа Microsoft с вырезанными Modern UI приложениями. В графе «Система» указываем редакцию устанавливаемой Windows.

Далее в последней графе указываем тот раздел, который мы создали на виртуальном диске. ставим галочку «Доб.загр.». И жмём «Ок». Важно: друзья, если вы, возможно, выберете вариант с установкой эталонного образа Windows не в файл VHD, а на другой раздел диска, то, если такой раздел имеет данные, ставьте ещё галочку «Формат».

Далее соглашаемся с внесением новой системы в меню загрузки. Если у вас несколько дисков с загрузчиками, тогда жмите кнопку «Больше» и укажите программе Dism++ правильный диск и раздел загрузчика.

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

По завершении жмём «Ок».

Эталонный образ установлен, далее можем перезагружаться, проходить этап установки драйверов и входить в учётную запись администратора для внесения изменений в систему. Но, друзья, я предлагаю немного задержаться и опробовать оптимизирующие возможности Dism++. Некоторые настройки эталонного образа мы можем провести с помощью программы в пару кликов, в едином интерфейсе, не запуская даже новую Windows.

Dism++ — это комплексный чистильщик, оптимизатор и твикер любых системных образов – как развёрнутых на диске, т.е. установленных рабочих систем, так и смонтированных для редактирования дистрибутивов. Как мы можем настроить нашу эталонную Windows с помощью программы?

Примечание: друзья, обращаю ваше внимание — при проведении операций с эталонным образом Windows в программе Dism++ не забывайте первично переключаться вверху окна на нужный образ. Это должен быть синий блок с установленной на диск VHD системой, а не система, установленная на диске С. Не упустите этот нюанс.

И первым делом мы заглянем в раздел Dism++ «Управление загрузкой». Здесь при необходимости можем сделать предустановки для запуска системных служб. Если вы хотите, чтобы ваша сборка была с выключенными некоторыми службами, можете отключить их запуск.

Далее можем зайти в раздел «Оптимизация». Здесь собраны твики по настройке отдельных параметров Windows. Я воспользуюсь этой удобной возможностью Dism++ и внесу пару корректировок в оформление системы и отключу Защитник. Если у вас есть свои твики в виде Reg-файлов реестра, вы можете импортировать их.

Если вы хотите пакетно удалить современные приложения из Windows 8.1 или 10, убрать или, наоборот, добавить какие-то системные компоненты, загляните в раздел программы «Приложения и возможности».

Для интеграции обновлений в эталонный образ Windows, заходим в раздел «Обновления». Жмём кнопку «Анализ», дожидаемся появления перечня обновлений. Галочками отмечаем обновления, которые хотим установить. И жмём кнопку «Установить».

После предварительной настройки эталонного образа Windows с помощью Dism++ можем приступать к работе по настройке образа внутри самой системы. Перезагружаем компьютер и в меню выбора Windows выбираем ту, что установлена в VHD-файле. В моём случае на компьютере теперь установлено две Windows 8.1, и эталонная значится как Windows 8.1 на томе 6.

Наша эталонная Windows запустится, установит себе драйверы, затем на этапе создания пользовательского профиля мы должны войти во встроенную учётную запись администратора. Жмём клавиши Ctrl+Shift+F3.

Входим.

И настраиваем эталонную Windows – вносим настройки, устанавливаем сторонний софт. При входе в учётную запись администратора у нас по умолчанию будет запущено окно программы подготовки системы, она же утилита Sysprep для сброса привязки эталонной Windows к комплектующим компьютера, на котором сейчас она установлена. Если надо установить какие-то программы, которые требуют перезагрузки Windows, то такую перезагрузку необходимо проводить только через окно Sysprep. С выставлением в качестве действия «Переход в режим аудита системы», а в качестве завершения работы – соответственно, «Перезагрузка».

По завершении всех настроек Windows в окне Sysprep в качестве действия указываем «Переход в окно приветствия (OOBE)». Ниже отмечаем галочкой «Подготовка к использованию». В качестве действия оставляем «Перезагрузка». Жмём «Ок».

После перезагрузки в меню загрузки выбираем нашу рабочую систему, в моём случае это Windows 8.1 на томе 3.

Далее будем проводить чистку эталонного образа, это уменьшит размер файла образа сборки Windows. Запускаем Dism++. Идём в раздел «Очистка». Жмём кнопку «Анализ». Ждём, пока программой будут выявлены данные для очистки. Потом жмём кнопку «Очистка».

В моём случае при очистке был высвобожден значительный вес данных.

Теперь можем упаковывать эталонную Windows — делать её захват в файл WIM или ESD. В окне Dism++ жмём «Файл», далее – «Сохранить образ как». Жмём кнопку обзора.

Указываем путь сохранения, имя файла – install. И выбираем тип файла из числа предлагаемых нам вариантов: несжатый, сжатый образ, быстрое сжатие – всё это файлы разного уровня сжатия формата WIM, а ультрасжатие – это формат ESD. Я выберу последний, чтобы он занимал как можно меньше места. Но, друзья, знайте, что при выборе ультрасжатия в файл ESD процесс захвата образа будет длиться в разы дольше, чем при выборе сжатого файла WIM.

Путь, имя и тип файла захвата определены, жмём «Ок».

И дожидаемся завершения процесса захвата, т.е. создания файла install.wim или install.esd. У меня последний, кстати, вышел весом всего лишь 2,34 Гб. При этом в эталонный образ я внедрил четыре сторонние программы.

Наконец, последний этап всего этого действа – упаковка файла WIM или ESD назад в установочный ISO. И этот процесс мы также поручим программе Dism++. Но прежде нам нужно извлечь содержимое исходного установочного ISO, который мы использовали для установки эталонной Windows, в папку. В обычную папку с любым названием. Подключаем ISO для отображения в системе.

Друзья, если вы работаете в среде Windows 7, для подключения ISO вам нужно использовать сторонние программы типа UltraISO или Daemon Tools. Далее заходим на подключённый ISO. И копируем на нём все папки, кроме «sources».

Вставляем всё это в созданной папке с любым названием. В этой папке создаём новую папку с названием «sources».

Возвращаемся на подключённый ISO, заходим в папку «sources», делаем в проводнике вид данных таблицей, сортируем по размеру. И копируем все файлы, кроме install.wim или install.esd.

Вставляем эти файлы в пустой папке «sources» внутри папки с любым названием.

И теперь сюда же, в папку «sources» внутри папки с любым названием помещаем файл install.wim или install.esd, который мы на предыдущем этапе создали в процессе захвата образа эталонной Windows.

Теперь в программе Dism++ идём в раздел «Дополнительно». Кликаем «Создание ISO». Указываем в первой графе ту самую папку с любым названием, во второй – путь и имя файла ISO на выходе, в третьей – метку ISO (метку диска). Жмём «Ок».

Дожидаемся завершения.

И всё – наша собственная сборка Windows создана. Папку с любым названием можем удалить.

Теперь, друзья, нам осталось, так сказать, убрать своё рабочее место – удалить нашу эталонную Windows, установленную на VHD-диске. Если она, конечно, не нужна вам, скажем, для экспериментов. Жмём клавиши Win+R, вводим:

msconfig

Идём в раздел «Загрузка» в окне запустившейся конфигурации системы. Кликаем запись о загрузке Windows на VHD-диске. Жмём «Удалить», потом – «Применить», потом – «Ок». На предложение о перезагрузке можем отказаться.

Далее идём в управление дисками Windows и отсоединяем виртуальный диск.

Последний шаг – удаление его файла VHD.

В интернете в свободном доступе имеются самые разные сборки Windows, но попробуйте найти среди них именно ту, которая удовлетворяла все ваши требования. В созданных другими пользователями сборках либо чего-то недостает, либо имеется что-то лишнее. Так вот, почему бы вам не создать собственную сборку, в которой будет всё так, как хотите вы? Это несложно, особенно если у вас под рукой имеется такой замечательный инструмент как Dism++.

Для создания собственной сборки вам понадобится совсем немного — установочный ISO-образ Windows нужной вам версии и сама Dism++, не считая набора программ и драйверов, которые вы, возможно, захотите интегрировать в сборку. Дистрибутив не обязательно должен быть оригинальным, в процессе оптимизации образа вы всегда можете его подкорректировать.

Итак, начнем.

Весь процесс можно разбить на два основных этапа — редактирование извлечённого из ISO-файл образа WIM и упаковка его обратно в ISO-образ.

Подготовка виртуального тома и установка на него Windows

Получить доступ к WIM-образу можно двумя способами — непосредственным монтированием из Dism++ и опосредованным — через диск VHD, на который будет установлена ОС.

Рассмотрим второй вариант как более детальный.

Откройте Управления дисками, выберите в меню «Действие» опцию «Создать виртуальный жесткий диск».

Управление дисками

В открывшемся окошке указываем месторасположения VHD-контейнера и достаточный для установки Windows размер. Тип можно выбрать динамический.

Расположение VHD

Проинициализируйте созданный диск, выбрав тот же тип, что и у физического диска и создайте на нём простой том в файловой системе NTFS.

Инициализировать диск

Инициализация дисков

Создать простой том

Форматирование раздела

Виртуальный том

Раздел готов, теперь нужно установить на него Windows.

Запустите Dism++, в меню «Файл» выберите «Применить образ».

Dism++

И укажите путь к ISO-образу, редакцию в образе и путь к созданному виртуальному тому. Отметьте также пункты «Доб.загр.» и «Формат». Должно быть всё так, как показано на скриншоте.

Применить образ

Нажмите «OK».

Восст.загрузки-BIOS

И подтвердите запуск процедуры установки системы.

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

Предварительная настройка сборки

Следующий этап не является обязательным, завершив установку, вы можете перезагрузить компьютер, выбрать в загрузочном меню только что установленную Windows и произвести ее настройку изнутри. Однако некоторые изменения можно внести еще до ее запуска. Тут же в Dism++ откройте сессию для установленной на виртуальный диск системы и обратитесь к панели инструментов управления компонентами и настройками Windows.

Открыть сессию

Управление загрузкой

Оптимизация

Драйверы

Приложения и возможности

Обновления

С их помощью вы можете отключить в сборке ненужные службы и компоненты, настроить рабочий стол и контекстное меню, применить твики реестра, удалить ненужные интегрированные драйвера и обновления. Возможна также установка обновлений из локальных файлов или интернета. Рекомендуем обратить внимание на следующие разделы:

• Управление загрузкой.
• Оптимизация.
• Приложения и возможности.
• Обновления.

Будьте внимательны на этом этапе настройки, удаляйте только те компоненты и службы, назначение которых вам хорошо известно. Особенно это касается драйверов, если вы по ошибке удалите важный драйвер, сборка не сможет установиться.

Настройка сборки изнутри

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

Загрузочное меню

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

Меню встроенного Администратора

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

Обратите внимание, что при входе в учетную запись Админа у вас автоматически запустится утилита Sysprep, не закрывайте ее, она понадобится для отвязки сборки от аппаратных комплектующих вашего компьютера. Завершив настройки, перезагрузите компьютер через утилиту Sysprep, выбрав в ее параметрах «Переход в окно приветствия (OOBE)», «Подготовка к использованию» и «Перезагрузка».

Sysprep

Нажмите «ОК» и загрузитесь в рабочую систему.

Примечание: если устанавливаемая во время настройки сборка программа потребует перезагрузки, в параметрах Sysprep необходимо выбрать «Режим аудита» и снять галку с чекбокса «Подготовка к использованию».

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

Упаковка сборки в ISO-образ

Наконец, заключительный этап — сохранение настроенной сборки в установочный ISO-образ с помощью той же Dism++. Перед сохранением в образ желательно очистить сборку от временных файлов, это позволит уменьшит размер дистрибутива. Смонтируйте в оснастке управления дисками VHD-файл, запустите Dism++, выберите на панели инструментов «Очистка».

Очистка

И выполните анализ, а затем и очистку.

Освобождение места

Готово, можно паковать сборку в образ.

Для этого в меню «Файл» выберите «Сохранить образ как» и укажите через «Обзор» место для сохранения пока еще WIM или ESD-образа.

Сохранить образ как

Обратите внимание на доступные режимы сжатия, на создание несжатого WIM уйдет меньше всего времени, а на создание ESD — больше всего, но зато и файл получится более компактным.

Режимы сжатия

Для запуска процесса нажмите «OK».

Запуск процесса

И последнее, что вам останется сделать это заменить WIM или ESD-файл в исходном ISO-образе на собранный в Dism++.

Распакуйте исходный ISO-образ в отдельную папку, найдите в ней каталог sources и замените в нём install.wim или install.esd файлом, созданным вами в Dism++.

Каталог sources

Если при сохранении вы дали ему иное имя, переименуйте в install. Перейдите теперь в Dism++ в раздел «Дополнительно», выберите инструмент «Создание ISO», в первом поле открывшегося окошка укажете папку с подмененным WIM или ESD-файлом, во втором — папку для сохранения ISO-образа, в третьем — метку образа (любой текст).

Создание ISO

По завершении процедуры вы станете обладателем собственной сборки Windows.

Операция завершена

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

Оснастка управления дисками

а затем и удалите его физически.

Удаление диска

И завершающий шаг — откройте командой msconfig утилиту «Конфигурация системы», переключитесь на вкладку «Загрузка» и удалите загрузочную запись установленной ранее на VHD-диск системы.

Конфигурация системы

В этом гайде мы разберемся как создать собственный установочный образ с Windows 10/11 с предустановленными программами, необходимыми файлами, другими настройками среды и приложений. Превалирующий сейчас подход предполагает развертывания чистого образа Windows, после чего на компьютер устанавливаются необходимые программы: через GPO, командами загрузки и установки приложений в
AutoUnattend.xml
или в скрипте
%WINDIR%\Setup\Scripts\SetupComplete.cmd
, логон скриптами Windows, средствами автоматизации (SCCM, Intune, Ansible, и пр). Однако в некоторых случаях особенности бизнеса требуют, чтобы на компьютер сразу разворачивался готовый образ Windows со всеми необходимыми программами.

Содержание:

  • Подготовка эталонного образа Windows с установленными программами
  • Захват настроенного образа Windows с помощью DISM
  • Замена оригинального образа Windows (Install.wim) на USB флешке

Процесс создания собственного установочного образа Windows с предустановленным софтом будет состоять из следующих этапов:

  1. Развертывание чистой Windows на эталонном компьютере (виртуальной машине);
  2. Вход в режим аудита, установка необходимых приложений, настройка окружения;
  3. Загрузка в среде WinPE и захват WIM образа Windows с помощью DISM;
  4. Замена оригинального install.wim на установочной USB флешке (ISO образе).

Если вы развертываете Windows на компьютеры в корпоративной сети, удобнее использовать MDT, который позволяет добавлять/обновлять программы в установочный процесс без модификации каждый раз установочного WIM образа.

Подготовка эталонного образа Windows с установленными программами

На первом этапе вы должны создать эталонный образ Windows со всем необходимым набором программ, файлов и настроек. Для этого нужно выполнить чистую установку Windows на виртуальную машину или компьютер

Итак, начните с получения оригинального установочного образа Windows 10/11 в виде ISO файла или сразу запишите его на загрузочную USB флешку с помощью Media Creatin Tool или Rufus.

Выполните ручную установку Windows и на этапе OOBE (когда вам предлагают выбрать региональные настройки и создать учетную запись), нажмите
CTRL + SHIFT + F3
. Это переведет компьютер в режим аудита (Audit Mode), в котором будет выполнен автоматический вход под встроенной учётной записью Administrator.

Загрузка Windows в режиме аудита

После появления рабочего стола, сверните окно утилиты sysprep (не закрывая его) и можете приступить к установке программ, обновлений, настройке нужных параметров Windows.

В этом примере я воспользуюсь пакетным менеджером WinGet для установки программ в Windows:

winget install --id=7zip.7zip -e ; winget install --id=Notepad++.Notepad++ -e ; winget install --id=VideoLAN.VLC -e ; winget install --id=WinDirStat.WinDirStat -e ; winget install --id=dotPDNLLC.paintdotnet -e ; winget install --id=IrfanSkiljan.IrfanView -e ; winget install --id=Microsoft.PowerToys -e

Дополнительно я вручную создал каталоги и скопировал файлы для некоторых корпоративных приложений.

настройка образа Windows

Настройте ярлыки на рабочем столе, плитки в меню Start, фоновые рисунки, заставки, цветовые схемы и прочее. Настройте параметры локальной групповой политики с помощью редактора
gpedit.msc
. Эти настройки в дальнейшем будут применены ко всем пользователям на компьютерах, которые вы развернете из вашего образа.

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

Удалите имеющиеся теневые копии и точки восстановления:

vssadmin delete shadows /All /Quiet

Очистите неиспользуемые файлы компонентов и обновлений в папке WinSxS:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

Удалите загруженные файлы обновлений Windows:

del %windir%\SoftwareDistribution\Download\*.* /f /s /q

Для очистки папок Temp, Downloads и кэша в профиле пользователя можно использовать этот PowerShell скрипт.

Выполните очистку диска с помощью утилиты cleanmgr:

Cleanmgr /sagerun:1

Очистите логи Windows:

for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"

Очистите корзину:

Clear-RecycleBin -Force

Чтобы применить настройки текущего пользователю к шаблонному пользователю Default, создайте файл ответов unattend.xml в каталоге C:\Windows\System32\Sysprep:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CopyProfile>true</CopyProfile>
</component>
</settings>
</unattend>

Осталось подготовить ваш настроенный образ Windows к развертыванию с помощью утилиты sysprep.exe. Разверните окно sysprep и выберите в ней опции:

  • Enter System Out-of-Box Experience (OOBE)
  • Generalize
  • Shutdown

sysprep - подготовка образа

После завершения этой операции, компьютер выключиться автоматически.

Захват настроенного образа Windows с помощью DISM

На этом этапе нужно выполнить офлайн захват образа установленной Windows в WIM файл и поместить его на отдельный диск (мы подключили отдельный диск емкостью 60 Гб к компьютеру)

Загрузите компьютер с эталонной версией Windows с загрузочного диска в среде WinPE (WinRE). Можно загрузиться с установочной USB флешки с Windows и на этапе начала установки нажать
Shift+F10
, чтобы открыть командную строку.

Вам нужно идентифицировать буквы диска, которые назначены разделу с Windows и чистому разделу, куда будет скопирован WIM файл. Выполните команды:

diskpart
list disk
exit

diskpart - определилить буквы дисков

В нашем примере диску с Windows присвоена бука E:, а чистому диску – буква D:.

Чтобы выполнить захват офлайн образа Windows на диске E и поместить полученный WIM образ на D, выполните команду:

dism /capture-image /imagefile:D:\install.wim /capturedir:E:\ /ScratchDir:D:\ /name:"MyWinImage" /compress:maximum /checkintegrity /verify /bootable

В моем случае захват образа длился около 30 минут.

dism /capture-image

Замена оригинального образа Windows (Install.wim) на USB флешке

После того, как вы захватили ваш настроенный образ Windows, вы можете заменить файл с оригинальным установочным образов install.wim или install.esd (ESD это формат с максимальным сжатием образа WIM) на установочной USB флешке (каталог
\sources
).

В моем случае, я переименовал старый образ в install.esd_bak и скопировал на флешку новый образ install.wim.

замена оригинального install.wim файла на установочной флешке

Обратите внимание, что размер WIM образа с предустановленными программами существенно увеличился (с 4 до 10 Гб).

Если у вас USB флешка с FAT32 для установки Windows на UEFI компьютерах, вы не сможете разместить файл больше 4 Гб на этой файловой системе. В этом случае большой WIM файл нужно разбить на несколько мелких SWM:

Dism /Split-Image /ImageFile:D:\sources\install.wim /SWMFile:c:\tmp\install.swm /FileSize:3500

В данном случае DISM создаст четыре файла install.swm, install2.swm, install3.swm, install4.swm, которые нужно скопировать в папку
\sources
. Установщик Windows сам соберет SWM файлы при развертывании операционной системы.

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

Get-Package

развертывание образа windows с предустановленными программами

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

Привет, Хабр!

Представляем подробный гайд по пересборке образа Windows Server 2019, заточенный для установки новых серверов и обновления старых (Windows Server 2012-16) в среде VMware. В принципе, гайд должен подходить к любой версии Windows на основе *.wim- или *.esd-файлов. Писался текст как внутренняя инструкция для коллег. По итогу он охватывает все необходимые возможности DISM для работы с образами, поэтому материал стал частью нашей базы знаний и блога здесь.

Рекомендации от автора: прочтите наш текст хотя бы один раз до конца, прежде чем делать образ самостоятельно, — некоторые вещи можно будет выполнить разными способами, и лучше о них узнать заранее.

Иллюстрацию к материалу сгенерировала нейросеть

Иллюстрацию к материалу сгенерировала нейросеть

Подготовка

Шаг 0: скачайте и установите актуальный Windows ADK

Необязательный пункт, если:

· у вас версия DISM аналогичная или старше той, что будет в препарируемом образе диска;

· у вас есть инструмент для создания установочных образов.

Если нет, тогда ссылка для скачивания. Ставим галочки только у средств развёртывания (да и то только DISM и OSCDIMG):

Шаг 1: готовим директории

Перед реализацией этого пункта немного наставлений от автора:

· Помните, вы можете использовать собственные имена и вложенность каталогов, но тогда вам придётся редактировать имена команд. В общем, лишние телодвижения, поэтому следуйте гайду. :)

· Прикиньте, сколько примерно понадобится свободного места для каждой папки. Возможно, в вашем случае директории придётся размещать на разных дисках. У меня поместилось всё на одном.

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

Создаём все необходимые директории.

1. Для удобства делаем корневую директорию для нашего проекта: C:\image

2. Сюда мы распаковываем образ диска: C:\image\iso

Объём равен исходному iso, в нашем случае — 5,15 Гбайт.

3. Монтируем wim-файлы: C:\image\mount

Размер на старте — 364 Мбайт, но к концу работ он составит приблизительно 23 Гбайт. Связано это с тем, что в самом начале большинство папок и файлов заменены на симлинки, но при изменениях они заменяются на реальные.

4. Здесь будут драйверы, которые мы внедрим в образ: C:\image\drivers

Как правило, они занимают мало места, так что можно даже не подсчитывать эти килобайты.

5. Файлы обновлений оставляем здесь: C:\image\msu

В нашем случае получилось около 810 Мбайт.

6. И самая главная папка, которая не раз вам пригодится (медаль «Слабоумие и Отвага» тому, кто рассчитывает обойтись без неё): C:\image\backup

Не забудьте, что где-то будет ещё лежать готовый iso — под него понадобится 4–5 Гбайт.

Шаг 2: готовим драйверы и обновления

Переходим к скачиванию драйверов и обновлений. Если у вас есть ограничения на использование обновлений только из базы ФСТЭК, то они собраны здесь.

К драйверам таких требований нет. Нам понадобился только один — pvscsi.sys. Он легко извлекается из образа VMware Tools. Свежую версию скачиваем отсюда. Это контринтуитивно, но для Windows Server 2019 подходит драйвер из папки win8, а не win10.

Шаг 3: получаем и распаковываем образы

Здесь всё просто: у вас должен быть образ нужного диска. Его вы распаковываете архиватором или чем угодно ещё, пригодным для распаковки образа (можно монтировать в виртуальный привод и копировать содержимое), в папку iso. Теперь переходим к основной работе.

Основная работа

Шаг 1: внедряем драйверы

Первым делом подготавливаем образ для установки в виртуальную машину VMware. Для этого внедряем драйвер pvscsi в загрузочную часть. Иначе при попытке установки виртуальный диск не будет виден (разумеется, если в самой виртуальной машине в качестве SCSI-контроллера выбран VMware Paravirtual).

В файле boot.wim содержится два модуля. Первый — образ восстановления Windows. В рамках этой статьи он нас особо не интересует. Второй предназначен для установки ОС с нуля и её обновления с предыдущей версии. Драйверы достаточно внедрить во второй модуль.

Примечание и отступление:

Важно! Все команды мы пишем в нижнем регистре, чтобы у вас не было сомнений, какая там буква — i или L. Если точки вверху нет — это L. Но Windows в целом регистр не важен при вводе команд и параметров. Почти все параметры команд не позиционные, то есть могут следовать в любом порядке. Это значит, что в других руководствах вы встретите такие же команды, но написанные в другом порядке следования параметров — это нормально.

1. Посмотрим на список вариантов, чтобы выбрать нужный:
dism /get-imageinfo /imagefile:c:\image\iso\sources\boot.wim

В случае другого загрузчика у вас будут указаны другие размеры. Первый образ — это среда восстановления, нам нужен второй.

2. Запускаем от имени администратора ярлык из Пуска: Среда средств развёртывания и работы с образами.

3. Вводим команду монтирования нужного wim-файла и индекса:
dism /mount-image /imagefile:c:\image\iso\sources\boot.wim /index:2 /mountdir:c:\image\mount

4. Если драйвер один (как в нашем случае), берём команду:
dism /image:c:\image\mount /add-driver /driver:c:\image\drivers\pvscsi\pvscsi.inf

5. Убеждаемся, что драйвер корректно установился:
dism /image:c:\image\mount /get-drivers /format:table

6. Если драйверов много, то есть ключ /recurse. Но с ним надо быть осторожнее: если у драйвера несколько файлов *.inf, то каждый из них будет установлен в системе в отдельную папку. Это вызовет ненужное дублирование одинаковых файлов.
dism /image:c:\image\mount /add-driver /driver:c:\image\drivers /recurse

Есть ещё ключ /forceunsigned для установки неподписанных драйверов, но мы его сейчас не используем.

7. Фиксируем изменения и отмонтируем:
dism /unmount-image /mountdir:c:\image\mount /commit

Вообще, с образом boot.wim можно сделать много интересных вещей, но это тема для отдельной статьи.

Шаг 2: подготавливаем установочный образ

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

1. Выводим список редакций:
dism /get-imageinfo /imagefile:c:\image\iso\sources\install.wim

2. Нам нужен только второй вариант. Экспортируем его в отдельный файл:
dism /export-image /sourceimagefile:c:\image\iso\sources\install.wim /sourceindex:2 /destinationimagefile:c:\image\install.wim /compress:max /checkintegrity
Ключ /checkintegrity можно не указывать. Он нужен на случай, если что-то пойдёт не так, тогда выполнение команды остановится. Сжатие /compress:max тоже не указываем на данном этапе (если позволяет свободное место).

3. Далее заменяем полученным файлом оригинальный install.wim в папке iso. Если свободное место у вас есть, этот шаг можно пропустить.

4. Монтируем полученный образ для дальнейшей работы с ним: dism /mount-image /imagefile:c:\image\iso\sources\install.wim /index:1 /mountdir:c:\image\mount

Обратите внимание на то, что в этом образе только одна редакция, поэтому её index всегда равен 1.

Шаг 3: внедряем обновления

Несмотря на то, что для Windows Server 2019 выпускаются кумулятивные обновления и SSU теперь тоже туда входит, нам всё равно необходимо первым делом внедрить KB5005112. Иначе при внедрении других обновлений возникнет ошибка. На момент написания нашего гайда актуальная версия кумулятивного обновления, проверенного и одобренного ФСТЭК, — KB5037425 (март 2024 года).

В то же время ставим net4.8 и февральское обновление для него (актуальное одобренное на момент написания). Делаем это следующей командой:

dism /image:c:\image\mount /add-package /packagepath:c:\image\msu

Команду выполняем дважды. Сначала помещаем в папку MSU файл KB5005112, а потом уже остальные. Всё потому, что одновременно с этим SSU другие обновления ставиться не будут.

После интеграции четырёх обновлений размер папки mount достигает 14,3 Гбайт.

Если захочется их удалить, достаточно вместо add использовать remove. А параметр get-packages выведет весь список.

Шаг 4: внедряем настройки через реестр

Ещё одна заметка на полях: все настройки реестра можно бэкапить через меню Файл — Выгрузить куст… Но если вдруг придётся их экспортировать обратно, то лучше предусмотреть это заранее и продумать соответствующий путь. Файлы импорта можно редактировать в блокноте.

Региональные настройки и раскладка. В качестве примера мы взяли образ на английском языке, поэтому сначала меняем регион (Россия). Потом делаем переключение раскладки на Ctrl+Shift.

1. Монтируем реестр настроек по умолчанию (не путайте, пожалуйста, с профилем пользователя по умолчанию):
reg load hklm\mount c:\image\mount\windows\system32\config\default
Но ничего не мешает вам это сделать через редактор реестра: — Файл — Загрузить куст… (Load Hive….)

2. Теперь открываем редактор реестра и переходим по пути: Компьютер\HKEY_LOCAL_MACHINE\mount\Keyboard Layout\Preload (можно и дальше через командную строку орудовать, но зачем?). Добавляем строковый параметр с именем «2» и значением «00000419» для русского языка.

3. В разделе Компьютер\HKEY_LOCAL_MACHINE\mount\Keyboard Layout создаём новый подраздел — Toggle — и добавляем в него три новых строковых (REG_SZ) параметра (это переключение раскладки на Ctrl+Shift):

· Hotkey 2;

· Language Hotkey 2;

· Layout Hotkey 3.

У вас должна получиться вот такая картинка:

4. Сохраняем изменения и выгружаем куст обратно в файл. Это можно сделать как через редактор реестра (выбрать нужный куст — Файл — Выгрузить куст… (Unload hive…), так и через консоль (reg unload hklm\mount). При выборе второго варианта убедитесь в том, что у вас не стоит фокус на этом разделе или его подразделах, — иначе команда вернёт ошибку доступа и куст не выгрузится.

5. Профиль пользователя по умолчанию находится в файле C:\Users\Default\ntuser.dat, замонтируем его:
reg load hklm\mount c:\image\mount\users\default\ntuser.dat
И проделаем те же манипуляции с добавлением русского языка и смены раскладки.

6. Если вам надо сменить регион, то ловите лайфхак:

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

b. Экспортируем Компьютер\HKEY_CURRENT_USER\Control Panel\International в *.reg-файл.

c. Открываем его в блокноте, меняем все вхождения HKEY_CURRENT_USER на HKEY_LOCAL_MACHINE\mount.

d. Сохраняем и закрываем.

e. Импортируем в реестр. Нужные ветки и ключи должны теперь попасть в примонтированный профиль по умолчанию.

f. Проверяем, что значение ключа sCountry в разделе Компьютер\HKEY_CURRENT_USER\Control Panel\International равняется Russia.

g. Изменяем значение ключа Nation в разделе Компьютер\HKEY_CURRENT_USER\Control Panel\International\Geo на нужное (например, 203 — это Россия, 244 — США, все коды смотрим тут).

7. Пока мы работаем с профилем по умолчанию, делаем ещё одну настройку.

Немного негодования: мне до сих пор непонятно, почему в «Майкрософте» не сделают отображение расширений файлов по умолчанию. И вообще, почему есть возможность их скрывать. Сокращение имени файла на 4–5 символов?

Обезопасим будущих пользователей:

a. Переходим в раздел Компьютер\HKEY_LOCAL_MACHINE\mount\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced.

b. Добавляем новый DWORD-ключ HideFileExt и задаём ему значение 0.

2. Отмонтируем профиль по умолчанию: reg unload hklm\mount

 Настройка дампа. На наше

1. Монтируем нужный реестр (System):
reg load hklm\mount c:\image\mount\windows\system32\config\system

2. Переходим по пути:
Компьютер\HKEY_LOCAL_MACHINE\mount\ControlSet001\Control\CrashControl

3.  Нас интересует значение ключа CrashDumpEnabled:
0 = Не делать дамп.
1 = Полный дамп памяти (для него потребуется место на диске, равное размеру ОЗУ + 1 Мбайт, располагается по пути %SystemRoot%\MEMORY.DMP; если файл подкачки меньшего размера, дамп может не сформироваться).
2 = Дамп памяти ядра (не содержит нераспределённые страницы памяти или выделенные для пользовательского режима, может не поместиться в файл подкачки, если его размер задаётся вручную).
3 = Небольшой дамп памяти (64–256 КБ, создаются отдельные файлы в %SystemRoot%\Minidump).
7 = Автоматический дамп памяти (то же самое, что и дамп памяти ядра, только с автоматическим управлением размером файла подкачки).

4. Отмонтируем реестр, если вам больше ничего не нужно менять в разделе HKLM\System:
reg unload hklm\mount

Отключение устаревших шифров. В «Инфосистемы Джет» принято выполнять сканирование серверов на уязвимости, и с завидным постоянством идёт срабатывание на старые алгоритмы шифрования 3DES и RC4. У нас есть powershell-скрипт, который их выключает, но это для уже развёрнутых серверов. Устраним проблему на корню:

1. Монтируем реестр System:
reg load hklm\mount c:\image\mount\windows\system32\config\system

2. Переходим по пути: Компьютер\HKEY_LOCAL_MACHINE\mount\ControlSet001\Control\Cryptography\Configuration\Local\SSL\00010002

  1. Нам нужен ключ
    Functions — в списке значений ищем
    TLS_RSA_WITH_3DES_EDE_CBC_SHA и удаляем его:

4. Далее переходим в раздел Компьютер\HKEY_LOCAL_MACHINE\mount\ControlSet001\Control\SecurityProviders\SCHANNEL\Ciphers и создаём там следующие подразделы:
RC4 40/128
RC4 56/128
RC4 128/128
Triple DES 168
Triple DES 168/168

5. В каждом подразделе создаём ключ DWORD с именем Enabled и значением 0. Выглядеть это будет так:

6. Отмонтируем реестр: reg unload hklm\mount

Удаляем лишние службы. Некоторые службы не совершают полезной работы. Особенно это касается терминальных серверов, где, как правило, лишние мегабайты ОЗУ нужны всегда. Поэтому всё ненужное — под нож. Если какую-то службу удалить сразу не получается, то у вас не хватает прав. Их надо получить на неудаляемый раздел:

1. Жмём правой клавишей по разделу, выбираем Разрешения…

2. Жмём кнопку «Дополнительно»:

3. Меняем владельца с TrustedInstaller на себя.

4. В этом же окне жмём кнопку Add… (Добавить…) и добавляем себя в список с полными правами.

5. Нажимаем несколько раз ОК, чтобы сохранить изменения и закрыть лишние окна.

Итак, приступаем к удалению лишних служб. Сначала:

· Монтируем системный реестр:
reg load hklm\mount c:\image\mount\windows\system32\config\system

· Переходим в раздел:
Компьютер\HKEY_LOCAL_MACHINE\mount\ControlSet001\Services

Теперь под нож идут:

1. CDPSvc и CDPUserSvc. Реализуют возможности, которые не используются в серверной среде (Хронология, Виртуальные рабочие столы, приложение Ваш телефон и Ночной свет).

2. ConsentUxUserSvc (служба подключения к дисплеям по Wi-Fi и устройствами Bluetooth, нужны полные права на подраздел Parameters).

3. DevicePickerUserSvc (служба передачи мультимедиа по «воздуху», нужны полные права на раздел Parameters).

4. DevicesFlowUserSvc (по функционалу похожа на ConsentUxUserSvc, также нужны полные права на Parameters).

5. PimIndexMaintenanceSvc (служба поиска контактов из приложения Контакты).

6. PrintWorkflowUserSvc, но если используется UWP-приложения с функционалом печати, то оставляем. Кстати, тут тоже нужны полные права на Parameters.

7. UnistoreSvc и UserDataSvc. Но имейте в виду, что если у вас используются UWP-приложения, то службы стоит оставить. Нюанс: вторая служба зависит от первой.

8. WpnService и WpnUserService. Оставляем в том случае, если используете режим Киоска. Для удаления выдайте себе полные права на раздел Parameters.

· Отмонтируем реестр: reg unload hklm\mount

Смена часового пояса. В разделе system есть ещё одна настройка, которую следует проверить, — часовые пояса. Проще всего вносить сюда изменения через импорт с той системы, где уже всё настроено. Необходимый вам путь: Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.

Обратите внимание. В примонтированном реестре нет раздела CurrentControlSet, а есть только ControlSet001. Объяснение простое: здесь хранится предыдущая копия настроек, а в разделе *002 (на уже установленной ОС) копия с *001 до их изменения.

Вырезаем задачи телеметрии из Планировщика задач. У нас нет предвзятости к сбору телеметрии. Просто требования ИБ такие. Ну и в условиях блокировки доступов к серверам Microsoft журналы засоряются лишними сообщениями.

1. Подключаем реестр SOFTWARE:
reg load hklm\mount c:\image\mount\windows\system32\config\software

2. Переходим к разделу Компьютер\HKEY_LOCAL_MACHINE\mount\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache

3. Здесь и содержатся все задачи планировщика:
Tree — отображение задач в виде дерева.
Tasks (T) — список всех задач планировщика, но имя раздела — это guid-задачи.
Plain (P) — список простых задач.
Maintenance (M) — список задач, выполняющихся во время простоя сервера.
Logon (L) — задачи, запускаемые во время входа пользователя.
Boot (B) — задачи, запускаемые после включения сервера.
Одна и та же задача может присутствовать в разных списках, поэтому при удалении надо проверять их все. Это нужно для того, чтобы вас потом не преследовали сообщения об ошибках фантомных задач.

4. Нам не нужны следующие задачи. Название берём из Tree\Microsoft\Windows, дополнительно будем указывать id и в каких ещё списках она есть. Важное уточнение: id будет отличаться, если вы будете использовать образ другой версии Windows. Но вы и сами сможете его посмотреть в значении ключа Id нужной задачи в разделе Tree. Итак, удаляем:

a. AppID\SmartScreenSpecific (эта задача нужна для SmartScreen, если он у вас используется).
{E8FA0CF7-17EE-4F72-BC9C-51E3EDCE8C59} — L, M, T

b. Весь раздел Application Experience.
{002215B8-2308-4AC5-9832-EAF34D750B41} — P, T
{C5C76FDC-53AF-4B73-873E-F7C526A9E61E} — P, T
{D80D2131-046A-4FB7-8199-9AE6F75D7AF9} — M, P, T
{CFD41DBC-64CC-4854-928F-CD1C94C2FAF6} — M, P, T

c. Весь раздел Autocheck.
{13D743E2-A81A-4329-A305-E89FB6910940} — B, T

d. Весь раздел Customer Experience Improvement Program.
{F995780B-EE7A-416C-BFDD-FD47F13A58B4} — P, T
{33A68109-27E3-43C8-80CC-ED58F9E5AB20} — P, T
{C7CCB4E2-E335-4508-B12C-DF79BDF98720} — M, P, T

e. DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector.
{38747835-C7B7-4532-BE3A-AE35E377D552} — M, P, T

f. Раздел Maintenance (на серверной Windows вам не нужны оценки производительности в попугаях, для этого есть другие средства).
{77BBAA0C-A160-41E4-9FCB-CEF74C91E6B1} — M, P, T

g. Раздел NetTrace.
{B1741409-416B-4092-AB13-BDD740F12FE5} — P, T

h. PI\Sqm-Tasks.
{775462B6-4854-4BEE-B6FF-D696F2810270} — M, P, T

i. Раздел Windows Error Reporting.
{7225215B-C1EC-4E1C-B8C4-DD97CA3BD919} — B, T

5. Наконец мы с этим закончили и можем отмонтировать куст: reg unload hklm\mount

Шаг 5: включаем/отключаем функции по запросу (FOD — Feature On Demand)

Сначала пройдёмся по списку возможностей. Рекомендуем выгрузить его в текстовый файл — так вам будет удобнее формировать команды на включение/отключение:

dism.exe /image:c:\image\mount /get-capabilities /format:table > c:\image\capabilities.txt

Not Present — модуль не установлен, Installed — установлен.

Для выключения модуля введите команду:

dism.exe /image:c:\image\mount /remove-capability /capabilityname:browser.internetexplorer~~~~0.0.11.0

Для примера использовали Internet Explorer, но вместо него берём ненужное из выгруженного ранее списка в статусе Installed.

У нас под нож пошли:

1. Языковые пакеты:

· language.handwriting~~~en-us~0.0.1.0;

· language.ocr~~~en-us~0.0.1.0;

· language.speech~~~en-us~0.0.1.0;

· language.texttospeech~~~en-us~0.0.1.0.

2. MathRecognizer~~~~0.0.1.0 (управление математическим вводом).

3. Media.WindowsMediaPlayer~~~~0.0.12.0.

4. OpenSSH.Client~~~~0.0.1.0 (в образе старая версия с уязвимостями, а для LTSC обновления не выпускалось, проще отдельно поставить при необходимости).

5. XPS.Viewer~~~~0.0.1.0 (кто-то им пользуется вообще? Если потребуется — можно будет включить потом отдельно).

Да, мы перечислили все функции, включённые по умолчанию, кроме Language.Basic~~~en-US~0.0.1.0, но она нам нужна.

Для включения похожая команда:

dism.exe /image:c:\image\mount /add-capability /capabilityname:language.basic~~~ru-ru~0.0.1.0

Конкретно эта команда, кстати, вернёт ошибку, так как в en-образе нет других языков, кроме английского. Их добавляем отдельно другим способом:

· скачиваем образ LanguagePack;

· монтируем в виртуальный привод;

· поскольку нам нужен только один файл Microsoft-Windows-Server-Language-Pack_x64_ru-ru.cab, то копируем его в папку msu;

· применяем команду (мы с ней раньше сталкивались — этот пакет, кстати, при необходимости можно внедрять при обновлении):

dism.exe /image:c:\image\mount /add-package /packagepath:c:\image\msu\microsoft-windows-server-language-pack_x64_ru-ru.cab

Если после этой команды вы снова выгрузите список возможностей, то увидите, что теперь там текст на русском языке. Но этого недостаточно. В установленной системе делаем следующее:

1. Жмём Win+X или правой клавишей мыши по Пуску, выбираем Settings -> Time & Language -> Language -> Add a language.

2. Находим русский язык в списке:

3. Жмём Next — Install.

Эту операцию можно проделывать и без внедрения русского языка в образ. Даже при отсутствии интернета появится русская раскладка — просто система будет пытаться скачивать отсутствующие компоненты. Если вас не напрягает:

Шаг 6: включаем/удаляем дополнительные компоненты

Перейдём к дополнительным компонентам, которые можно активировать в образе. Или удаляем их из образа, чтобы сэкономить место.

1. Выгружаем список всех доступных компонентов:
dism /image:c:\image\mount /get-features /format:table > c:\image\features.txt

2. Для просмотра документа выбираем редактор, который позволяет выставить кодировку OEM866 (если вы внедрили в образ русский язык). У компонента может быть один из трёх статусов: Включён, Отключён, Отключён с удалением полезных данных.
Для третьего статуса: для его повторной установки потребуется указывать источник установки (в образе установочных файлов уже нет).

3. Обычно мы устанавливаем TelnetClient. Этот способ проверки доступности tcp-портов известен пользователям намного лучше, чем powershell-командлет TestNetworkConnection (tnc): dism /image:c:\image\mount /enable-feature /featurename:telnetclient

4.  Так отключаем ненужные компоненты:
dism /image:c:\image\mount /disable-feature /featurename:mediaplayback

5. Есть ещё три необязательных для работы сервера компонента, поэтому удаляем или оставляем их на ваше усмотрение:

· WindowsServerBackupSnapin;

· Printing-XPSServices-Features;

· SystemDataArchiver.

6. C дополнительным ключом /remove переводим компонент в стадию Отключён с удалением полезных данных, тем самым экономя место: dism /image:c:\image\mount /disable-feature /featurename:windows-defender /remove

Таким нехитрым способом мы облегчаем образ, оставив только установленные компоненты. Но мы так делать, разумеется, не будем, поскольку образ затачивается не под конкретный сервер. Если вы пойдёте по этому пути, то определить, какие компоненты придётся устанавливать с родного образа, можно вот так:

1. В оснастке Server Manager (Диспетчер серверов) выберите Manage — Remove Roles and Features (Управление — удалить роли и компоненты)

2. В списке ролей/компонентов у пунктов, удалённых из образа, нет надписи «Not installed» («Не установлено») при отсутствующей галочке.

Ещё один способ уменьшить образ (и итоговый размер установки Windows) — подчистить WinSxS: dism /image:c:\image\mount /cleanup-image /startcomponentcleanup /resetbase

Эту операцию можно проделать и на уже установленной системе. Только не забудьте указать правильный путь до dism-образа. Для включенной ОС это ключ /online. Из негативных последствий: нельзя откатить обновления и предыдущие версии установленных компонентов и программ. Но в образе и на свежей системе нам это и не нужно.

До проведения этой операции папка mount у нас разбухла примерно до 23 Гбайт. После — уменьшилась до 17,5 Гбайт.

Ещё есть параметр /get-provisionedappxpackages – он нужен для получения списка плиточных приложений. Если же вам надо их удалить, то используем параметр /remove-provisionedappxpackage.

В Windows Server 2019 их нет, поэтому мы не можем показать процесс на живом примере.

Финишная прямая, или Завершаем работу с образом

Здесь шагов не будет. Тем не менее пару команд вам всё-таки предстоит сделать.

Проверим

целостность: dism /image:c:\image\mount /cleanup-image /scanhealth

Отмонтируем образ: dism /unmount-image /mountdir:c:\image\mount /commit

Итоговый размер install.wim — 5,9 Гбайт (в нашем случае). Есть один способ сделать его ещё меньше — конвертация в формат esd:

dism /export-image /sourceimagefile:c:\image\iso\sources\install.wim /sourceindex:1 /destinationimagefile:c:\image\iso\sources\install.esd /compress:recovery

В итоге файл получился размером 3,23 Гбайт.

Формат esd даёт вам не только преимущества в виде меньшего размера, но и недостатки:

 — Его нельзя смонтировать в папку, поэтому предварительно приходится конвертировать в wim: dism /export-image /sourceimagefile:c:\image\iso\sources\install.esd /sourceindex:1 /destinationimagefile:c:\image\iso\sources\install.wim

 — Ставится только на диск с разметкой GPT.

Отступление. Необходимо указать индекс — сразу все редакции сжать не получится, их надо добавлять в тот же esd-файл отдельной командой. Есть несколько степеней сжатия, но recovery сжимает лучше всего. На выходе получили файл install.esd размером чуть больше 3 Гбайт (у нас одна редакция). Степень сжатия потрясающая.

Старый install.wim лучше пока не удалять. Если вам потребуется переделывать что-то, то этап конвертации из esd в wim уже не нужен. Но вынести за пределы папки iso надо (например, в папку C:\image\backup), потому что настала пора упаковать всё это в установочный образ диска. Хотя, если у вас установка будет с флешки, достаточно скопировать на неё все файлы как есть и не надо делать из неё загрузочную (только отформатировать в FAT32). Конвертируем в iso, для этого сначала в консоли выполняем переход в папку с утилитой osdimg (иначе в команде пришлось бы указывать полные пути до файлов): cd c:\program files (x86)\windows kits\10\assessment and deployment kit\deployment tools\amd64\oscdimg

Теперь выполняем саму команду: oscdimg -bootdata:2#p0,e,befisys.bin#pEF,e,betfsboot.com -u1 -udfver102 c:\image\iso c:\image\w19mar24en.iso

Итого: файл получился размером около 4 Гбайт — это больше гигабайта разницы с официальным образом, где нет актуальных обновлений, .Net Framework 4.8 и русского языка.

Телодвижения после установки ОС

Итак, мы поставили с подготовленного образа систему и обнаружили, что что-то забыли настроить. Не беда! На выручку приходит Sysprep.

1. На установленной ОС настраиваем, устанавливаем, удаляем всё, что требуется. В общем, делаем всё, что мы делали долго и через консоль/реестр, только быстро и с интерфейсом Windows (немного душноты: мы не зря советовали вам до конца дочитать).

2. К виртуальной машине (если всё делается на ней) монтируем второй диск. По нашим оценкам, 10 Гбайт будет достаточно. На этом этапе создаём раздел на диске. Примечание: в противном случае потом придётся делать через diskpart.

3. Открываем в проводнике C:\windows\system32\sysprep.

4. Запускаем Sysprep.exe. В появившемся окне выставляем следующие опции:

5. В результате будут удалены все привязки к текущему железу, id и прочие платформозависимые штуки — система будет подготовлена к переносу в другое место.

6. Монтируем загрузочный диск (можно наш переделанный установочный) и перезагружаемся с зажатой клавишей Shift. Иначе система снова установит необходимые драйверы, прочие платформозависимые вещи и перезагрузится в режиме аудита.

7. На первом установочном экране (выбор языка, региона, языка раскладки клавиатуры) жмём Shift+F10 для вызова командной строки.

8. Запускаем diskpart и смотрим, какая буква присвоена нашему второму диску:

9. Выходим из diskpart и выполняем команду: dism /capture-image /capturedir:c:\ /imagefile:d:\install.wim /name:w19mar24en /description:”Windows Server 2019 Standard with March 2024 Updates and NetFx48 with February 2024 Updates, English version.” /compress:max
Вы можете задать свой путь до файла, имя файла, имя и описание. Но помните, что для экранирования символов (пробел, слеш, прочие символы) весь текст надо заключать в кавычки.
Захват в образ esd не поддерживается.
У нас файл получился размером 5,3 Гбайт.

Последнее примечание про полезные параметры:

· /apply-image — применение образа к диску (то, что делает установщик Windows). Можно, например, отформатировать диск С через открытую командную строку (format c: /fs:ntfs) и из нашего нового install.wim восстановить всё как было (заодно и проверим корректность сформированного файла): dism /apply-image /imagefile:d:\install.wim /applydir:c:\ /index:1

· Но боже упаси вас форматировать весь диск — так вы потеряете загрузочный раздел, который восстановить, конечно, можно, но дольше, и это уже выходит за рамки данной статьи. /append-image — добавление образов в файл (дополнительных редакций или каких угодно ещё других образов). Не рекомендуется при сильно отличающихся, так как итоговый файл будет распухать (например, русская и английские версии в одном файле).

После этого вы вольны делать что угодно с получившимся файлом. Лично мы его конвертировали в esd и создали новый файл iso — теперь можно устанавливать полностью готовую ОС за 10–15 минут. Ну или обновлять с предыдущих версий (2012–2016). На этом всё – теперь вы можете самостоятельно и более подробно изучать тему создания собственных сборок. Мы, например, намеренно не стали рассказывать про файл ответов. Для этого напишем другой текст.

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

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

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

После входа, на экране будет красоваться запущенный 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 — указывает на раздел с которого будет сниматься образ.
/compress — задает степень сжатия содержимого 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. Как создать установочный флеш-накопитель.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Veeam agent for windows free настройка
  • Что такое git для windows
  • Sven nitro драйвера windows 10
  • Добавить устройство не удалось подключиться bluetooth windows 10
  • Kyocera taskalfa 1801 driver windows 10