Интеграции драйверов это 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 необходимо интегрировать только драйвера контроллеров, дисков или сетевых адаптеров.

Вы можете сконвертировать ваш файл 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.

Читайте также:  Команда temp windows 10

Смонтируйте установочный образ 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.

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

Посетителей: 32792 | Просмотров: 50522 (сегодня 0) Шрифт:

Процесс интеграции драйверов очень прост. Все драйверы размещаются в одной папке, причем они могут находиться как в ее корне, так и во вложенных папках. Затем подключается системный образ (install.wim) и с помощью диспетчера пакетов (pkgmgr.exe) осуществляется установка драйверов в образ.

На этой странице

Включение протоколирования установки драйверов

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

Windows Registry Editor Version 5.00

Размещение драйверов

Драйверы могут находиться в любой папке. В этой статье используется папка C:\VistaWork\Drivers, в которой размещены драйверы. Они могут находиться в корне папки или в собственных подпапках — это не имеет значения. Напоминаю, что для интеграции требуются распакованные драйверы (INF-файлы). Если вы используете пакеты драйверов с сайта DriverPacks.net, вы можете просто распаковать пакеты из архивов в эту папку.

Параметры файла ответов

Для интеграции драйверов используется отдельный файл ответов, поэтому создайте новый файл. Добавьте к проходу 2 offlineServicing компонент Microsoft-Windows-PnpCustomizationsNonWinPE | DriverPath | PathandCredentials и укажите для него параметры.

  • Path — путь к папке с драйверами.
  • Key — порядковый номер папки. Вы можете указать несколько папок с драйверами путем добавления нескольких компонентов PathandCredentials. В этом случае вы указываете порядок обращения к ним с помощью параметра Key. Нумерация начинается с единицы.

Больше ничего к файлу ответов добавлять не требуется. Сохраните файл с именем Drivers.xml в папке C:\VistaWork\xml. Пример файла ответов для интеграции драйверов вы найдете в статье Примеры.

Подключение системного образа

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

imagex /mountrw C:\VistaWork\DVD\sources\install.wim 4 C:\VistaWork\Mount

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

Интеграция драйверов с помощью диспетчера пакетов

Диспетчер пакетов (Pkgmgr.exe) — это средство командной строки, входящее в состав WAIK, которое можно использовать в автономном режиме для установки, удаления или обновления пакетов Windows. Интеграция драйверов в подключенный образ выполняется одной командой.

  • /o: — путь к автономной папке Windows, т. е. папке Windows подключенного образа.
  • /n: — путь к файлу ответов, используемому для интеграции.
  • /l: — путь к файлу журнала, создаваемому в процессе работы диспетчера пакетов (журнал пригодится для устранения неполадок, если таковые возникнут).

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

Проверка правильности интеграции драйверов

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

Если отобразится 0, интеграция прошла без ошибок. В противном случае придется изучать файл журнала drivers.log.txt в папке C:\VistaWork\Logs. При успешной интеграции последние несколько строк файла должны выглядеть примерно так:

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

Наконец, вы можете перейти в папку Windows\inf подключенного образа и убедиться, что в ней создались файлы oem*.inf. Звездочка в данном случае означает порядковый номер интегрированного драйвера, начиная с нуля.

Завершающим штрихом будет сохранение образа.

Сохранение системного образа

Для сохранения образа также требуется одна команда:

imagex /unmount /commit C:\VistaWork\Mount

Подробнее она рассматривалась здесь.

Примечание. Если во время интеграции произошли ошибки, не сохраняйте изменения в образе (т. е. не используйте ключ /commit в приведенной выше команде).

Замечания об интеграции драйверов

Утилита peimg

В этой статье рассматривается интеграция драйверов с помощью диспетчера пакетов (pkgmgr). Альтернативным способом интеграции является использование утилиты командной строки peimg, также входящей в состав WAIK. С помощью ключа /inf= можно указать путь к INF-файлу. Например, команда

peimg /inf=C:\VistaWork\Drivers\driver.inf C:\VistaWork\Mount\Windows

производит интеграцию driver.inf в образ, подключенный в папку C:\VistaWork\Mount. Пример командного файла, выполняющего рекурсивный поиск драйверов во всех вложенных папках и их последующую интеграцию в образ, вы найдете в обсуждении статьи. Дополнительную информацию вы найдете в справочном файле «Руководство пользователя среды предварительной установки Windows (Windows PE)».

Читайте также:  Драйвер intel high definition dsp для windows 10

Драйверы контроллеров устройств хранения

Если вы используете нестандартные контроллеры устройств хранения (mass storage), которые не обнаруживаются программой установки Windows, их драйверы необходимо интегрировать не только в системный образ (install.wim), но и в загрузочный образ Windows PE (boot.wim). Процедура интеграции аналогична описанной в статье.

Заключение

Интеграция драйверов в дистрибутив Windows Vista занимает всего несколько минут. Сделать это несколько проще, чем сконфигурировать их установку с USB- или DVD-диска. Однако этот способ менее управляем по сравнению с установкой драйверов с USB-диска.

Интеграция драйверов в дистрибутив 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:

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

Параметр /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
Пользователь попытался подключить образ в каталоге, в котором уже содержится подключенный образ.»
подскажите пожалуйста, как решить?

Читайте также:  Linux echo во все файлы

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

Здравствуйте!
Подскажите ,пожалуйста, в чем проблема. Во время интеграции драйверов выдает ошибку 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.

Также учтите что интегрирование (если например не видит контроллер 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.Где-то,я накосячил.

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

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

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