Интеграция драйвер windows дистрибутив

Интеграция драйверов в установочный образ Windows 10 / Server 2012 R2

В этой статье мы покажем, как добавить необходимые драйвера устройств непосредственно в установочный образ Windows. Интеграция необходимых драйверов в ваш офлайн образ Windows используется при необходимости разворачивания большого количества рабочих станций и серверов на однотипном железе. Вместо того, чтобы вручную устанавливать специфические драйвера (в том числе AHCI/RAID/NVMe) на каждом компьютере, вы можете существенно упростить и ускорить процедуру развертывания ОС, интегрировав драйвера непосредственно в хранилище драйверов (Driver Store) установочного образа Windows в ISO / WIM файле или в VHD/VHDX файл с ОС. При установке такого образа служба Plug and Play (PnP) автоматически установит необходимые драйверы для обнаруженного оборудования.

Данная инструкция по интеграции драйверов в образ Windows можно использовать как десктопных редакциях Windows 10, Windows 8.1, так и в серверных платформах Windows 2016, 2012 R2.

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

  • с помощью утилиты DISM;
  • с помощью PowerShell.

По сути обе методики выполняют одну и туже операцию: интегрируют дополнительные драйвера в офлайн образ Windows. Какой способов воспользоваться – вопрос личных предпочтений администратора. Разберем подробнее оба способа на примере интеграции драйверов в установочный образ Windows 10.

Как интегрировать драйвера в образ Windows 10 с помощью PowerShell

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

Перед началом работы создадим следующую структуру каталогов:

    Каталог Drivers – в нем хранятся распакованные файлы драйверов для вашей редакции Windows 10 (которые предполагается интегрировать в дистрибутив);

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

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

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

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

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

После того, как образ смонтирован, запустите процесс добавления в него драйверов, которые хранятся в каталоге Drivers (параметр -Recurse предполагает рекурсивный обход вложенных папок и добавление драйверов по всем найденным inf файлам).

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

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

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

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

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

Читайте также:  Окно ос windows может быть

Вы можете сконвертировать ваш файл 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:\ISO\boot\etfsboot.com C:\ISO C:\new_win10pro_image.iso

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

Теперь покажем пример интеграции драйверов в установочный образ Windows Server 2012 R2. В том случае, если сборка образа ведется на Windows 8.1 для дальнейшей работы с последней версией DISM вам понадобится скачать и установить Windows 8 ADK (http://www.microsoft.com/en-us/download/details.aspx?id=30652). Нужно установить компонент Deployment Tools.

Структура каталогов, с которой мы будем работать может быть той же самой: Drivers (хранятся драйвера и *.inf файлы), ISO (распакованный образ Windows Server 2012 R2), Mount (каталог монтирования образов). Предполагается, что в файле install.wim нас интересует версия Windows Server 2012 R2 Datacenter с индексом 3.

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

dism /Mount-Wim /WimFile:c:\iso\sources\install.wim /Index:3 /MountDir:c:\mount

Запустите рекурсивный поиск и интеграцию в хранилище компонентов образа Windows Server 2012 R2 новых драйверов:

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

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

dism /unmount-wim /mountdir:d:\mount /commit

Если необходимо добавить драйвера во все образы Windows Server, содержащиеся в wim-файле, указанные операции нужно провести для всех индексов версий ОС, которые вернула команда:

dism /get-wiminfo /wimfile:d:\install.wim

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

Интеграция драйверов в дистрибутив Windows

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

В этой статье я расскажу, как интегрировать драйверы в дистрибутив Windows.

Вам понадобится средство Windows AIK или Windows ADK.

Я буду рассказывать на примере Windows ADK. Для Windows AIK будут другие пути к исполняемым файлам, но их названия такие же. Поэтому Вы сможете самостоятельно их найти, например воспользовавшись поиском.

Скопируем все файлы дистрибутива WIndows в папку компьютера. У меня она называется PRO.

Также у нас должна быть создана папка, в которую мы будем монтировать образ Windows install.wim. Я ее назвал IMG.

В папке Drivers у меня собраны драйверы моих устройств. Их нетрудно найти на официальных сайтах производителей этих устройств. Список сайтов наиболее популярных производителей я публиковал ранее. Драйвера должны быть распакованы. Т.е. интегрируются драйверы в формате файлов *.inf, *.sys и т.п.

Запускаем «Среда средств развертывания и работы с образами» из меню Пуск — Все программы — Windows Kits — Windows ADK.

Вызываем DISM с параметром /Get-WimInfo, который показывает информацию о install.wim:

Сведения об образе : D:\Pro\sources\install.wim

Индекс: 1 Имя : Windows 7 PROFESSIONAL Описание : Windows 7 PROFESSIONAL Размер (байт): 18 473 214 093

Операция успешно завершена.

Нам здесь важно найти индекс. В моем случае это 1.

Монтируем образ с индексом 1 в папку IMG:

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

Читайте также:  Ошибка при установке windows 10 с флешки gpt диск

Параметр /recurse позволяет брать дрова еще и из подпапок. Параметр /ForceUnsigned позволяет интегрировать неподписанные драйверы.

Теперь можно размонтировать образ из папки обратно в wim-файл, сохранив изменения:

Файл образа: D:\TempMy\1\Pro\sources\install.wim

Индекс образа: 1

Операция успешно завершена.

В папке, в которую в начале мы копировали все файлы дистрибутива WIndows (у меня она называется PRO), находится дистрибутив с интегрированными драйверами.

Его можно скопировать на загрузочную флешку и устанавливать с нее ОС.

Как подготовить загрузочную флешку, я рассказывал ранее.

Как интегрировать в дистрибутив обновления Windows читайте здесь.

24 комментарии

Здравствуйте, Сергей!
У меня вопрос-а как можно интегрировать драйверы в Win 8.1 и Win 10- ведь в дистрибутиве нет файла install.wim, а есть install.esd?
Спасибо.

Да, Вячеслав, есть такая проблема. Даже не проблема, а усложнение процесса.
ESD — это по сути сжатый и зашифрованный WIM.
В сети существуют различные программы, позволяющие из ESD получить WIM, и WIM сжать в ESD.
Поищи ESD2WIM или ESD-decryptor.

Добрый день, Сергей,
Вопрос: файлы драйверов перед интеграцией должны быть извлечены из архива, или это не обязательно?

Аркадий, драйвера должны быть распакованы. Т.е. интегрируются драйверы в формате файлов *.inf, *.sys и т.п.

Здравствуйте! Подскажите пожалуйста! Что делать в случае, если индекса 2?

Можно интегрировать в каждый индекс поочереди.
А можно использовать параметр «index» и указать в качестве значения звездочку «*».
/Index:*

Здравствуйте, подходит ли эта процедура для windows xp embedded?

Для Windows XP любых редакции эта процедура не подойдет — там совершенно другая модель дистрибутива. Там даже wim-файла нет.

Добрый день. Подскажите пожалуйста, при интегрировании драйверов выдает ошибку 2.
Не удалось получить доступ к образу.
Убедитесь, что путь к образу и каталог Windows образа существуют и учетная запись обладает правами на чтение папки.
DISM.exe /image:C:\intel\img/Add-Driver /driver:C:\Users\1\Desktop\drivers/recurse /ForceUnsigned
пытаюсь проделать это с win 12 serv

Андрей, проверьте наличие пробелов перед параметрами /Add-Driver, /recurse.
Должно быть примерно так:
DISM.exe /image:C:\intel\img /Add-Driver /driver:C:\Users\1\Desktop\drivers /recurse /ForceUnsigned

Здравствуйте, я наверное накосячил, у меня после второй команды появилось
«Ошибка: 0xc1420113
Пользователь попытался подключить образ в каталоге, в котором уже содержится подключенный образ.»
подскажите пожалуйста, как решить?

Похоже, что в папке, в которую Вы пытаетесь смонтировать образ, уже есть какие-то файлы.
Или удалите эти файлы, или монтируйте в другую (чистую) папку.

Здравствуйте!
Подскажите ,пожалуйста, в чем проблема. Во время интеграции драйверов выдает ошибку 0xc0000135.
В логах следующее:
2017-12-14 13:36:24, Info DISM DISM.EXE:
2017-12-14 13:36:24, Info DISM DISM.EXE:
2017-12-14 13:36:24, Info DISM DISM.EXE: Host machine information: OS Version=6.1.7601, Running architecture=amd64, Number of processors=4
2017-12-14 13:36:24, Info DISM DISM.EXE: Executing command line: DISM.exe /image:D:\winpe\mount /Add-Driver /driver:D:\winpe\usb3 /recurse /ForceUnsigned
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Getting the collection of providers from a local provider store type. — CDISMProviderStore::GetProviderCollection
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Provider has not previously been encountered. Attempting to initialize the provider. — CDISMProviderStore::Internal_GetProvider
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Loading Provider from location C:\Windows\System32\Dism\WimProvider.dll — CDISMProviderStore::Internal_GetProvider
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Connecting to the provider located at C:\Windows\System32\Dism\WimProvider.dll. — CDISMProviderStore::Internal_LoadProvider
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Provider has not previously been encountered. Attempting to initialize the provider. — CDISMProviderStore::Internal_GetProvider
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Loading Provider from location C:\Windows\System32\Dism\FolderProvider.dll — CDISMProviderStore::Internal_GetProvider
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Connecting to the provider located at C:\Windows\System32\Dism\FolderProvider.dll. — CDISMProviderStore::Internal_LoadProvider
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Provider has not previously been encountered. Attempting to initialize the provider. — CDISMProviderStore::Internal_GetProvider
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Loading Provider from location C:\Windows\System32\Dism\CompatProvider.dll — CDISMProviderStore::Internal_GetProvider
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Connecting to the provider located at C:\Windows\System32\Dism\CompatProvider.dll. — CDISMProviderStore::Internal_LoadProvider
2017-12-14 13:36:24, Info DISM DISM.EXE: Got the collection of providers. Now enumerating them to build the command table.
2017-12-14 13:36:24, Info DISM DISM.EXE: Attempting to add the commands from provider: WimManager
2017-12-14 13:36:24, Info DISM DISM.EXE: Succesfully registered commands for the provider: WimManager.
2017-12-14 13:36:24, Info DISM DISM.EXE: Attempting to add the commands from provider: FolderManager
2017-12-14 13:36:24, Info DISM DISM.EXE: Attempting to add the commands from provider: DISM Log Provider
2017-12-14 13:36:24, Info DISM DISM.EXE: Attempting to add the commands from provider: Compatibility Manager
2017-12-14 13:36:24, Info DISM DISM.EXE: Succesfully registered commands for the provider: Compatibility Manager.
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Getting the collection of providers from a local provider store type. — CDISMProviderStore::GetProviderCollection
2017-12-14 13:36:24, Info DISM DISM Provider Store: PID=5952 Getting the collection of providers from a local provider store type. — CDISMProviderStore::GetProviderCollection
2017-12-14 13:37:27, Error DISM DismHostLib: Failed to create DismHostManager remote object. Checking for dismhost.exe exit code.
2017-12-14 13:37:27, Info DISM DismHostLib: Found dismhost.exe exit code.
2017-12-14 13:37:27, Error DISM DISM Manager: PID=5952 Failed to create Dism Image Session in host. — CDISMManager::LoadImageSession(hr:0xc0000135)
2017-12-14 13:37:27, Warning DISM DISM Manager: PID=5952 A problem ocurred loading the image session. Retrying. — CDISMManager::CreateImageSession(hr:0xc0000135)
2017-12-14 13:38:27, Error DISM DismHostLib: Failed to create DismHostManager remote object. Checking for dismhost.exe exit code.
2017-12-14 13:38:27, Info DISM DismHostLib: Found dismhost.exe exit code.
2017-12-14 13:38:27, Error DISM DISM Manager: PID=5952 Failed to create Dism Image Session in host. — CDISMManager::LoadImageSession(hr:0xc0000135)
2017-12-14 13:38:27, Error DISM DISM Manager: PID=5952 Failed to load the image session from the temporary location: C:\Users\user\AppData\Local\Temp\3AE0DFBC-BBAE-4823-9B97-FF1E3E48EFA4 — CDISMManager::CreateImageSession(hr:0xc0000135)
2017-12-14 13:38:27, Error DISM DISM.EXE: Could not load the image session. HRESULT=C0000135
2017-12-14 13:38:27, Error DISM DISM.EXE: Unable to start the servicing process for the image at ‘D:\winpe\mount’. HRESULT=C0000135
2017-12-14 13:38:27, Info DISM DISM.EXE: Image session has been closed. Reboot required=no.

Читайте также:  При запуске windows нажать del

Также учтите что интегрирование (если например не видит контроллер USB или жестких дисков) необходимо добавлять в образ boot.wim

Пытаюсь интегрировать драйвера в чужой wim (из образа LiveDVD)
При добавлении драйвера выдаёт ошибку:

Cистема DISM
Версия: 10.0.16299.15
Ошибка: 0x80029c4a
Такой запрос не поддерживается.

Здрвствуйте Сергей!
Ввожу 2.команду:DISM /Mount-Wim /WimFile:»C:\Pro\sources\install.wim» /Index:4 /MountDir:C:\IMG.(система стоит на диске С. Идёт в всё поплану:подключается образ.Операция успешно завершена. В итоге: папку IMG копироваются папки диска С :
Program Files,Program Files (x86), :Windows, Пользователи.Далее привводе команды DISM.exe /image:С:\Img /Add-Driver /driver:С:\Drivers /recurse /ForceUnsigned.Ошибка 3.Где-то,я накосячил.

Здрвствуйте Сергей!
Ввожу 2.команду:DISM /Mount-Wim /WimFile:»C:\Pro\sources\install.wim» /Index:4 /MountDir:C:\IMG.(система стоит на диске С. Идёт в всё поплану:подключается образ.Операция успешно завершена. В итоге: папку IMG копироваются папки диска С :
Program Files,Program Files (x86), :Windows, Пользователи.Далее привводе команды DISM.exe /image:С:\Img /Add-Driver /driver:С:\Drivers /recurse /ForceUnsigned.Ошибка 3.Где-то,я накосячил.

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

Спасибо за совет!
Удалил папку и создал заново.
Все прошло.

Оцените статью