Добавление/удаление драйверов в установочном 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.

интеграция обновления в iso образ windows 10

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

Get-WindowsImage -ImagePath C:\WinWork\ISO\install.wim

Get-WindowsImage список редакций в wim образе windows

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

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

dism /export-image /SourceImageFile:"C:\WinWork\ISO\install.esd" /SourceIndex:1 /DestinationImageFile:C:\WinWork\ISO\install.wim /Compress:max /CheckIntegrity

конвертация esd файла образа windows 10 в wim формат

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

Mount-WindowsImage -Path C:\WinWork\Mount\ -ImagePath C:\WinWork\ISO\install.wim -Index 1

Mount-WindowsImage подключение wim файла

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

Add-WindowsDriver -Path C:\WinWork\Mount\ -Driver C:\WinWork\Drivers -Recurse

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

Add-WindowsDriver интеграция обновления в образ windows 10

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

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

Dismount-WindowsImage -Path C:\WinWork\Mount\ –Save

Dismount-WindowsImage

В рассмотренном примере мы добавили драйверы в образ 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:\WinWork\ISO\install.wim /SourceIndex:1 /DestinationImageFile:C:\WinWork\ISO\install.esd /Compress:recovery

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

oscdimg -n -m -bc:\WinWork\ISO\boot\etfsboot.com C:\WinWork\ISO C:\new_win10pro_image.iso

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

oscdimg - конвертировать образ windows в установочный ISO файл

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

oscdimg.exe -h -m -o -u2 -udfver102 -bootdata:2#p0,e,bc:\winwork\iso\boot\etfsboot.com#pEF,e,bc:\winwork\iso\efi\microsoft\boot\efisys.bin -lWin10 c:\iso c:\new10image.iso

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

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

Windows 8 ADK установка 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:\iso\sources\install.wim"

dism вывести список версий в wim образе windows server

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

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

dism /mount-wim /wimfile:"C:\iso\sources\install.wim" /index:2 /mountdir:c:\mount

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

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

dism - добавить драйверы в образ windows server

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

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:\iso\sources\install.wim -Index 2

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

Get-WindowsDriver -Path "c:\Mount"

Get-WindowsDriver получить список сторонних драйверов в wim образе windows

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

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

удалит драйвер из образа windows с помощью powershell Remove-WindowsDriver

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

$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 от старых версий драйверов.

Предыдущая статья Следующая статья


Комментариев: 17 Оставить комментарий

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)