Добавление/удаление драйверов в установочном ISO/WIM образе Windows

Вы можете существенно упростить развертывание операционной системы на типовых рабочих станциях (серверах), если заранее интегрируете все необходимые драйвера в хранилище драйверов (Drive Store) в вашем установочном образ Windows. В этом случае вам не придется после установки Windows вручную скачивать и устанавливать специфические драйвера (в том числе AHCI/RAID/NVMe) на каждый компьютер.

В этой статье мы покажем, как добавить драйвера устройств непосредственно в установочный офлайн образ Windows 10 (это может быть ISO/WIM файл или VHD/VHDX файл с шаблоном ОС). Инструкция применима для всех поддерживаемых версий Windows 11, 10, 8.1 и для Windows Server 2022, 2019, 2016, 2012 R2.

В современных редакциях Windows вы можете добавить драйвера в установочный ISO образ двумя способами:

  • с помощью утилиты DISM;
  • с помощью PowerShell.
Примечание . В Windows Server 2008 R2 и Windows 7 можно было добавить драйвер в установочный образ Windows с помощью утилиты командной строки imagex (входила в состав WAIK), однако ее поддержка в Windows Server 2012 была прекращена.

Добавляем драйвера в образ Windows с помощью PowerShell

Скачайте и поместите все необходимые драйвера для устройств в один каталог (для каждого драйвера нужно создать отдельную папку). Обратите внимание, что многие производители (в том числе Dell, HP) поставляют свои драйвера в виде самораспаковывающихся exe файлов или zip архивов. Такие архивы необходимо распаковать на диск, чтобы в каталоге с драйверами присутствовали inf, cat и sys файлы.

Создайте следующую структуру каталогов:

  • Каталог Drivers – в нем будут хранятся распакованные файлы драйверов для вашей редакции Windows 10 (которые предполагается интегрировать в дистрибутив);
    Вы можете скачать и распаковать необходимые файлы драйверов вручную или экспортировать все сторонние драйвера с эталонного компьютера, на котором уже установлены все необходимые драйвера с помощью командлета Export-WindowsDriver.
  • Каталог ISO – в каталоге хранится распакованный iso образ Windows 10. Нам нужен только файл Install.wim из каталога Sources;
  • Каталог Mount – пустой каталог, в который в дальнейшем будет смонтирован WIM образ Windows.

Выведите список всех версий Windows, которые содержатся в файле Install.wim с помощью командлета PowerShell Get-WindowsImage . Это позволит вам получить индекс редакции Widows, в которую планируется интегрировать дополнительные драйвера.

Get-WindowsImage -ImagePath C:WinWorkISOinstall.wim

В нашем примере в WIM файле содержится всего 1 редакция Windows 10 Pro с индексом 1 (ImageIndex : 1).

Если в вашем ISO образе Windows 10 имеется только файл c:sources install .esd , вы сможете сконвертировать файл ESD в формат WIM с помощью утилиты DISM:

dism /export-image /SourceImageFile:"C:WinWorkISOinstall.esd" /SourceIndex:1 /DestinationImageFile:C:WinWorkISOinstall.wim /Compress:max /CheckIntegrity

Далее необходимо смонтировать образ выбранной версии Windows в каталог Mount. Полученные выше индекс редакции Windows, которую необходимо смонтировать нужно указать в качестве аргумента Index:

Mount-WindowsImage -Path C:WinWorkMount -ImagePath C:WinWorkISOinstall.wim -Index 1

После того, как образ смонтирован, вы можете добавить в него драйвера из каталога Drivers

Add-WindowsDriver -Path C:WinWorkMount -Driver C:WinWorkDrivers -Recurse

Командлет Add-WindowsDriver осуществит рекурсивный поиск (параметр -Recurse) в указанном каталоге и подкаталогах всех .inf файлов с описаниями драйверов. По описанию в inf файле команда добавит зависимые INF, DLL, CAT, PNF и т.д. файлы в ваш образ Windows.

С помощью ключа -ForceUnsigned вы можете добавить в хранилище драйверов даже неподписанные драйвера. Иначе вам придется отключить проверку цифровой подписи драйвера или подписать его самостоятельно самоподписанным сертфикатом .

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

Dismount-WindowsImage -Path C:WinWorkMount –Save

В рассмотренном примере мы добавили драйверы в образ Windows в файле Install.WIM. Это образ Windows, который будет установлен на ваш диск. Если необходимо добавить драйвера в загрузочный образ Windows PE (с которого выполняется только установка Windows), необходимо добавить драйвера в файл Boot.wim . Обычно это необходимо, когда при установке Windows на компьютере не определяются локальные диски или отсутствует доступ к сети. Обычно в образ boot.wim достаточно добавить только драйвера контроллеров, дисков или сетевых адаптеров.

По аналогии можно добавить драйвера в среду восстановления Windows (winre.wim) .

Вы можете сконвертировать ваш файл install.wim, содержащий установочный образ Windows с интегрированными драйверами в формат install.esd, применив сжатие (compress):

DISM /Export-Image /SourceImageFile:C:WinWorkISOinstall.wim /SourceIndex:1 /DestinationImageFile:C:WinWorkISOinstall.esd /Compress:recovery

Осталось создать iso файл и записать его на диск или флешку с помощью Dism++ или команды oscdimg :

oscdimg -n -m -bc:WinWorkISObootetfsboot.com C:WinWorkISO C:new_win10pro_image.iso

Данная команда сформирует ISO образ для установки на компьютер с BIOS или в режиме UEFI Legacy (CSM, compatible)

Для генерации универсального ISO образа с поддержкой UEFI и BIOS, используйте команду:

oscdimg.exe -h -m -o -u2 -udfver102 -bootdata:2#p0,e,bc:winworkisobootetfsboot.com#pEF,e,bc:winworkisoefimicrosoftbootefisys.bin -lWin10 c:iso c:new10image.iso

Для записи ISO образа на USB флешку проще всего использовать утилиту Rufus.

Утилита oscdimg входит состав Windows ADK (Assessment and Development Kit). Скачайте и установите ADK для вашей версии Windows, и затем выберите для установки Deployment Tools.

Теперь вы можете использовать ваш образ Windows для установки на компьютеры с локального устройства или по сети (с помощью PXE загрузки ).

В Windows 7 / 2008R2 нет командлета Add-WindowsDriver. Он появился только в Windows 8 / Server 2012 и выше, поэтому для интеграции драйверов в образ в Win7/2008 R2 используйте DISM (см. пример ниже или в статье Интеграция драйверов USB 3.0 в дистрибутив Windows 7 ).

Интеграция драйверов в образ Windows Server с помощью DISM

Теперь покажем пример интеграции драйверов в установочный образ Windows Server 2022.

Структура каталогов, с которой мы будем работать может быть той же самой : Drivers (с здесь хранятся драйвера и *.inf файлы), ISO (распакованный образ Windows Server 2022), Mount (каталог монтирования образов). Все операции по модификации образа выполняются из Windows 10.

Выведите список редакций в WIM файле:

Dism /Get-ImageInfo /imagefile:"C:isosourcesinstall.wim"

В моем примере я хочу добавить драйвера в образ Windows Server 2022 Standard (Desktop Experience) с Index:2.

Смонтируйте установочный образ install.wim:

dism /mount-wim /wimfile:"C:isosourcesinstall.wim" /index:2 /mountdir:c:mount

Теперь можно выполнить рекурсивный поиск и добавление новых драйверов в образ Windows Server 2022:

dism /image:c:mount /Add-Driver /driver:c:drivers /recurse

Для каждого успешно добавленного драйвера появится надпись:

driver.inf: The driver package was successfully installed
Таким же образом вы можете добавить драйвера USB 3.0/NVME в ваш образ .

Сохраните изменения в образе:

dism /unmount-wim /mountdir:c:mount /commit

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

Если необходимо добавить драйвера во все редакции Windows Server в установочном образе, указанные операции нужно выполнить для всех индексов в файле install.wim.

Кроме интеграции драйверов, вы можете добавить в устанавливаемый образ Windows еще и обновления безопасности ( Как интегрировать обновления в установочный образ Windows ), это повысит уровень защиты ОС сразу после установки. Осталось записать обновленный установочный образ на загрузочный диск или USB флешку или сконвертировать его в ISO.

Удаление драйверов из образа Windows

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

Для этого, смонтируйте офлайн образ WIM в локальную папку:

Mount-WindowsImage -Path C:Mount -ImagePath C:isosourcesinstall.wim -Index 2

Вывести список сторонних драйверов в образе:

Get-WindowsDriver -Path "c:Mount"

Чтобы удалить определенный драйвер , нужно указать имя его inf файла (oem<number>.inf):

Remove-WindowsDriver -Path "c:offline" -Driver "OEM0.inf"

Можно удалить из образа драйвера определенного вендора:

$drivers = get-windowsdriver -path C:mount$drivers | where-object {$_."ProviderName" -eq 'Intel' }  | Remove-WindowsDriver -Path C:Mount

Сохраните изменения в образе:

Dismount-WindowsImage -Path C:Mount -save

Cо временем каталог хранилища драйверов ( DriverStore FileRepository ) в установленном образе может существенно разрастаться, потому его можно периодически очищать Windows от старых версий драйверов .
admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

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

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago