img

Создаем свой WIM-образ Windows

21 ноября
20:00
Бесплатный вебинар
Введение в Docker
Ведущий — Филипп Игнатенко.
Руководитель центра разработки
Записаться
img
img

На инсталляционном носителе Windows находится не только операционная система, но и связанные с ней драйвера и компоненты системы. Все это хранится в файле, называемом - файл образ. Во время инсталляции этот образ применяется к целевому тому. Образы Windows используют формат файлов Windows Imaging (WIM), который имеет следующие преимущества:

  • Методы развертывания. Можно развернуть wim-файлы с помощью загрузочного USB-накопителя, из общего сетевого ресурса или с помощью специализированных технологий развертывания, таких как Службы развертывания Windows (WDS) или System Center Configuration Manager.
  • Редактируемость. Можно подключить образ к текущей ОС и редактировать его, включать, отключать или удалять роли и компоненты операционной системы, если это необходимо.
  • Возможность обновления. Имеется возможность обновить текущий образ, не создавая захват операционной системы.

Установочный носитель Windows Server 2019 содержит два WIM-файла - это Boot.wim и Install.wim. Файл Boot.wim использует для загрузки среды предустановки, которая запускается в момент развертывания Windows Server 2019. Install.wim хранит один или несколько образов операционной системы. Например, как показано на рисунке ниже, файл Install.wim содержит четыре разных выпуска Windows Server 2019. В зависимости от специфики оборудования, бывает ситуация, в которой потребуется добавить дополнительные драйверы в файл boot.wim. Например, потребуется добавить дополнительные драйвера, если процедура установки Windows не сможет получить доступ к устройству, на которое будет устанавливаться, поскольку драйвер этого устройства не включен в образ загрузки по умолчанию.

Редакции Windows Server 2019

Модификация Windows образа

Deployment Image Servicing and Management (DISM) - это приложение командной строки. Программа работает с образами в автономном состоянии. Dism используется для реализации следующих задач:

  • Просмотр, добавление или удаление ролей и компонентов
  • Добавление, удаление обновлений
  • Добавление, удаление драйверов
  • Добавление, удаление приложений Windows *.appx

К примеру, можно скопировать файл Install.wim с дистрибутива Windows Server и используя Dism.exe примонитировать образ, добавить новые драйвера и обновления программного обеспечения к этому образу и сохранить или отменить эти изменения, и все это без необходимости выполнять фактическое развертывание ОС. Преимущество заключается в том, что, когда используется этот обновленный образ для развертывания, добавленные драйвера и обновления уже применяются к образу, и не нужно устанавливать их отдельно как часть процедуры настройки после установки.

На сайте каталога Центра обновления Майкрософт (https://catalog.update.microsoft.com) хранятся все сертифицированные драйвера оборудования, обновления программного обеспечения и исправления, опубликованные Microsoft. После загрузки драйверов и обновлений программного обеспечения их можно добавить к существующим установочным образам с помощью Dism.exe или соответствующих командлетов PowerShell в модуле DISM PowerShell.


Обслуживание образа Windows

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

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

Обслуживание включает в себя выполнение следующих шагов:

  • Монтирование образа для изменения
  • Обслуживание образа
  • Фиксация или отмена внесенных изменений

Подключение образа

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

Обычно WIM-файл содержит несколько образов операционных систем. Каждому образу присваивается порядковый номер, который необходимо знать, прежде монтировать образ. Номер индекса можно определить с помощью Dism.exe с параметром /Get-wiminfo. Например, если дистрибутив ОС скопирован в D:Images, можно использовать следующую команду, чтобы получить список находящихся в нем образов:

Dism.exe /get-wiminfo /wimfile:d:imagessourcesinstall.wim
Dism.exe /get-wiminfo /wimfile:d:imagessourcesinstall.wim

Тот же самый результат можно получить, используя командлет PowerShell Get-WindowsImage.

Get-WindowsImage -ImagePath d:imagessourcesinstall.wim
Результат команды Get-WindowsImage

Когда нужный индекс операционной системы определен, монтируем этот образ программой Dism.exe c параметром /Mount-image. Например, чтобы смонтировать редакцию Standard Edition Windows Server 2019 из файла Install.wim, который доступен в папке D:Mount, введите следующую команду:

Dism.exe /mount-image /imagefile:d:imagessourcesinstall.wim /index:2 /mountdir:c:mount
Dism.exe /mount-image /imagefile:d:imagessourcesinstall.wim /index:2 /mountdir:c:mount

В качестве альтернативы можно использовать команду Mount-WindowsImage:

Mount-WindowsImage -ImagePath D:imagessourcesinstall.wim -index 2 -path c:mount

Интеграция драйверов и обновлений

После того, как образ подключен, можно приступить к его обслуживанию. Наиболее распространенными задачами являются добавление в образ драйверов устройств и обновлений программного обеспечения. Чтобы добавить драйвера к подключенному образу используется Dism с параметром /Add-Driver. Чтобы не добавлять каждый драйвер по отдельности, используется параметр /Recurse, чтобы все драйверы находились в папке и подпапках добавлялись в образ. Например, чтобы добавить все драйвера, расположенные в папке и подпапках D:Drivers к образу, смонтированному в папке C:Mount, используйте следующую команду:

Dism.exe /image:c:mount /Add-Driver /driver:d:drivers /recurse
Dism.exe /image:c:mount /Add-Driver /driver:d:drivers /recurse

Командлет Add-WindowsDriver выполнит тоже действие:

Add-WindowsDriver -Path c:mount -Driver d:drivers -Recurse

Параметр /Get-Driver используется для просмотра всех добавленных драйверов, а /Remove-Driver позволяет удалить драйвер из образа. В PowerShell это командлеты Get-WindowsDriver и Remove-WindowsDriver соответственно. Удалять можно только те драйвера, которые были добавлены в образ.

Параметр /Add-Package позволяет добавляет обновления в формате *.cab или *.msu. Обновления программного обеспечения доступны на сайте Центра обновления Майкрософт в формате *.msu. Загрузим обновление с веб-сайта каталога Центра обновления Майкрософт под названием "2019-10 Cumulative Update for Windows Server, version 1903 for x64-based Systems (KB4517389) в папку D:updates на компьютере и применим обновление к образу.

Загрузим обновление с веб-сайта каталога Центра обновления Майкрософт
Dism.exe /image:c:mount /Add-Package /PackagePath:"d:updateswindows10.0-kb4517389-x64_6292f6cb3cdf039f01410b509f8addcec8a89450.msu "

Тоже самое можно сделать используя PowerShell команду Add-WindowsPackage:

Add-WindowsPackage -path c:mount -packagepath "d:updateswindows10.0-kb4517389-x64_6292f6cb3cdf039f01410b509f8addcec8a89450.msu"

Добавление ролей и компонентов

Для просмотра ролей и компонентов в смонтированном образе используется параметр /Get-Features. Команда выглядит следующим образом:

Dism.exe /image:c:mount /Get-Features
Dism.exe /image:c:mount /Get-Features

Используя параметры /Enable-Feature и /Disable-Feature можно включать или отключать компоненты. Пример ниже включит NetFramework в текущем образе.

Dism.exe /image:c:mount /Enable-Feature /all /FeatureName:NetFx3ServerFeatures
Dism.exe /image:c:mount /Enable-Feature /all /FeatureName:NetFx3ServerFeatures

Сохранение изменений

После внесения всех изменений в образ, их нужно сохранить, используя параметры /Unmount-Wim и /Commit. Параметр, отменяющий изменения - /Discard. Чтобы внести изменения и затем зафиксировать образ, смонтированный в папке C:mount, выполним команду:

Dism.exe /Unmount-Wim /MountDir:c:mount /commit

После применения изменений, win файл будет обновлен. Затем его можно импортировать в Windows Deployment Services (WDS) или использовать его с загрузочным usb носителем для развертывания Windows Server 2019 с уже примененными обновлениями, изменениями и драйверами.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Fail2ban — это программное обеспечение, которое защищает ваш сервер от атак. ПО отслеживает журналы сервера и выявляет любую под
img
Виртуализация серверов — популярная тема в мире ИТ, особенно на уровне предприятий. Она позволяет разным операционным системам з
img
  Введение Системные вызовы выступают в роли посредников между приложениями и ядром. Они создают уровень абстракции, который защ
img
  Введение SWAP (SWAP-память или SWAP-пространство) – это раздел жесткого диска или SSD компьютера, где операционная система (ОС
img
  Введение Абсолютные и относительные пути определяют расположение файла или каталога в файловой системе. Это набор инструкций д
img
  Введение Файлы конфигурации Linux определяют поведение и функциональное наполнение операционной системы. Файлы конфигурации –
21 ноября
20:00
Бесплатный вебинар
Введение в Docker