Add drivers to windows install

How to Inject Drivers into a Windows 10 WIM/ISO Install Image?

In this article, we will show you how to add the necessary device drivers directly into the Windows installation image. The integration of the device drivers into your offline Windows image is widely used when you need to deploy a large number of workstations and servers on the same hardware. Instead of manually installing specific drivers (including AHCI/ RAID/ NVMe) on each device, you can significantly simplify and accelerate OS deployment process by integrating the drivers directly into the Driver Store of the Windows installation image in the ISO/WIM or the VHD/VHDX file. When installing such an image, the Plug and Play service (PnP) will automatically install the necessary drivers for the detected hardware.

This manual is about the integration of device drivers into a Windows image and can be used both on desktop editions of Windows 10, Windows 8.1 and on Windows Server 2016, 2012 R2.

In modern Windows editions you can add drivers to the installation ISO image in two ways:

  • using the DISM utility;
  • using the PowerShell CLI.

In fact, both techniques perform the same operation: add additional drivers into the offline Windows image. How to use it is a matter of personal administrator preference. Let us consider in more detail both ways on the example of integrating drivers into the Windows 10 installation image.

How to Inject Driver into a Windows 10 Install Image using PowerShell?

First of all you need to download and place all the necessary device drivers in one directory (for each driver you need to create a separate folder). Please note that many vendors (including Dell, HP) supply their drivers in the form of self-extracting exe or zip archive files. Such archives must be unpacked to local drive so that the directory with drivers contains inf, cat and sys files.

Before you start, create the following directory structure on your local drive:

    The Drivers folder – it contains unpacked driver files for your Windows 10 edition (which are supposed to be integrated into the install media);

List all Windows editions contained in the Install.wim file using the Get-WindowsImage PowerShell cmdlet. This is necessary in order to specify the Widows edition into which it is planned to integrate the additional drivers.

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

In our example, the WIM file contains only one Windows 10 Pro edition with the index 1 (ImageIndex: 1).
Next you need to mount the image of the selected Windows edition in the directory Mount. The Windows image index, which you need to mount, must be specified as an argument of the Index parameter:

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

After the image is mounted, you can add drivers to it from the Drivers directory using the command:

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

The Add-WindowsDriver cmdlet will recursively search (the -Recurse parameter) the specified folder for all *.inf files with driver description. According to the description in the inf file, the cmdlet will add the dependent INF, DLL, CAT, PNF, etc. files to the Driver Store of your Windows image.

Читайте также:  Virtual machine manager для linux

So, the drivers are copied, and the current image can be unmounted with saving changes:

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

In the above example, we added drivers to the Install.wim image file. This is the Windows image that will be deployed to a computer local disk. If you need to add drivers to a Windows boot image (from which the computer boots when you install Windows), you need to add drivers to the Boot.wim file. This is usually necessary when installing Windows, the computer doesn’t detect local hard drives or doesn’t connect to LAN. Usually, only drivers of disk controllers and network adapters need to be integrated into the boot.wim image.

You can convert your install.wim file containing the Windows installation image with integrated drivers into the install.esd format using the DISM compress option:

DISM /Export-Image /SourceImageFile:C:\WinWork\ISO\install.wim /SourceIndex:1 /DestinationImageFile:C:\WinWork\ISO\install.esd /Compress:recovery

It remains to create an ISO file using Dism++ or the oscdimg command and write it to a disk or USB flash drive:

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

Adding Drivers to an Offline Windows Server 2012 R2 Image Using DISM

Now we will show an example of integrating drivers into the install image of Windows Server 2012 R2. If you are building an image on Windows 8.1, you will need to download and install Windows 8 ADK (http://www.microsoft.com/en-us/download/details.aspx?id=30652) to continue working with the latest version of DISM. You need to install the Deployment Tools component.

Use the same directory structure: Drivers (drivers and *.inf files are stored), ISO (unpacked image of Windows Server 2012 R2), Mount (image mount directory). It is assumed that in the install.wim file we are interested in the Windows Server 2012 R2 Datacenter edition with index 3.

Mount the install.wim installation image:

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

Run a recursive search and integration of the new drivers into the driver store of the Windows Server 2012 R2 image:

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

Save the changes to the WIM image:

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

If you need to add drivers to all Windows Server editions contained in the wim file, these operations must be performed for all indexes of OS versions that the command returned:

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

In addition to driver integration, it is usually necessary to inject security updates to the Windows image to be installed (How to add updates into the Windows installation image). This will increase the security of your OS immediately after the installation. It remains to write the resulting installation image to the DVD disk or USB flash drive or convert it to the ISO image.

Добавление драйверов в дистрибутив Windows.

Начиная с Vindows Vista, дистрибутивы Windows создаются на базе образов формата WIM (Windows IMaging Format), главной особенностью которых является технология единственной копии множества файлов ( single instance storage ) позволяющей получить компактный дистрибутив, с высокой скоростью развертывания.

Файлы образов формата WIM

В отличие от сектор-ориентированных форматов (таких, как .iso, .tib, .bin ), образ формата WIM является файл-ориентированным, то есть его наименьшим логическим элементом является файл . При чем, файл, входящий в состав дистрибутива хранится в сжатом виде и в единственном экземпляре. Его же копии в дереве файловой системы заменяются ссылками, что обеспечивает компактность образов и высокую скорость их развертывания. Файл формата WIM может содержать несколько образов, отличающихся числовым индексом .

Читайте также:  Установка windows параллельно с mac os

Структура файла WIM, содержащего 2 образа:

Как видно, wim-файл содержит 6 типов содержимого :

WIM Header — заголовок wim-файла, описывающий индексы образов, их содержимое, атрибуты, версию, размер, тип сжатия и т.п.

File Resources — последовательность пакетов, содержащих упакованные данные файлов в составе образа.

Metadata Resource — содержит информацию о файлах в составе образа, включая структуру папок и атрибуты.

Lookup Table — таблица расположений и размеров ресурсных файлов в файле .wim

XML Data — данные в формате XML с дополнительными сведениями об образе. Представляют собой несжатый текст в кодировке Unicode.

Integrity Table — таблица целостности, используемая для контроля работоспособного состояния образа

Попросту говоря, WIM-файл – это хранилище WIM-образов, и каждый из них является образом обычного логического диска. При чем, как и логические диски, WIM-образы могут быть загрузочными. В частности, установка всех современных операционных систем семейства Windows выполняется с использованием двух файлов WIM-образов boot.wim и install.wim . Первый обеспечивает начальную загрузку среды предустановки Windows PE (Windows Preinstall Environment), из которой выполняется процесс установки самой системы с использованием содержимого файла образа с именем install.wim . Кроме того, после завершения стандартной установки Windows, создается среда восстановления Windows RE (Recovery Environment), предназначенная для загрузки из образа WinRE.WIM и восстановления работоспособности при проблемах с загрузкой основной системы.

Обычно образ winre.wim располагается в скрытом разделе, которому не присваивается буква логического диска. В диспетчере дисков отображается как ”Зарезервировано системой”

Образ WIM может быть смонтирован в системе, т.е. распакован и представлен в виде исходного дерева папок и файлов, на основе которого он был создан. В смонтированный образ можно внести изменения, а затем пересоздать образ заново. Именно так и происходит добавление новых драйверов в существующий дистрибутив Windows.

Добавление драйверов в дистрибутив Windows с помощью стандартной утилиты dism.exe

Начиная с Windows 7, утилита dism.exe ( Deployment Image Servicing and Management ) входит в стандартный комплект программного обеспечения установленной ОС Windows. Представляет собой средство командной строки, которое может использоваться для обслуживания образов Windows, и заменяет утилиты Pkgmgr.exe, PEimg.exe и Intlcfg.exe, которые впервые появились в Windows Vista. Функциональные возможности этих средств теперь собраны в одном инструменте dism.exe. Кроме того, в dism.exe были добавлены новые функции, улучшающие возможности автономного обслуживания образов.

Процесс добавления драйверов состоит из нескольких шагов:

— монтирование WIM-образа в какой-либо каталог. Содержимое образа распаковывается и помещается в указанный каталог.

— установка требуемых драйверов в смонтированный образ с помощью утилиты dism.exe .

— применение изменений в образе и демонтирование его командой dism

Для добавления драйверов в дистрибутив Windows потребуется сам дистрибутив и собственно файлы драйверов. Дистрибутив должен обеспечивать запись измененных образов, а файлы для установки драйверов не должны быть в упакованном виде (в формате .cab, .msi, .exe и т.п.). В качестве примера возьмем загрузочную флэшку с Windows 7 и старше, а в качестве драйверов – набор драйверов для материнской платы.

Файлы образов boot.wim и install.wim размешаются в папке sources установочной флэшки, например, имеющей букву F: в текущей системе.

Для добавления драйверов можно использовать каталог на жестком диске, например, D:\Drivers . Если файлы драйвера упакованы, то нужно их распаковать в подкаталоги каталога D:\Drivers например, с помощью архиватора 7-zip .

Естественно, необходимо учитывать разрядность системы. Если имеется 32-разрядные и 64-разрядные версии драйверов, а версия ОС 64-разрядная, то 32-разрядные версии нужно удалить.

Как уже упоминалось, в файле .wim может содержаться несколько образов и для работы с конкретным образом нужно знать его индекс. Делается это командой:

DISM /Get-WimInfo /WimFile:F:\sources\install.wim — отобразить информацию об образах файла install.wim

Пример отображаемой информации для установочной флэшки с Windows 7:

Cистема DISM
Версия: 6.1.7600.16385
Сведения об образе : F:\sources\install.wim

Индекс: 1
Имя : Windows 7 HOMEBASIC
Описание : Windows 7 HOMEBASIC
Размер (байт): 11 531 865 453

Индекс: 2
Имя : Windows 7 HOMEPREMIUM
Описание : Windows 7 HOMEPREMIUM
Размер (байт): 12 045 241 621

Индекс: 3
Имя : Windows 7 PROFESSIONAL Описание : Windows 7 PROFESSIONAL
Размер (байт): 11 947 613 470

Индекс: 4
Имя : Windows 7 ULTIMATE
Описание : Windows 7 ULTIMATE
Размер (байт): 12 110 440 566

Если мы хотим добавить драйверы в образ Windows 7 PROFESSIONAL, то необходимо использовать индекс 3 . Монтируем нужный образ, например, в каталог D:\newwim (каталог обязательно должен быть пустым):

Dism /Mount-Wim /index:3 /WimFile:F:\sources\install.wim /MountDir:D:\newwim

После выполнения команды, в каталоге D:\newwim будет содержимое образа, используемого для установки Windows 7 PROFESSIONAL:

Для добавления драйверов можно использовать разные варианты команды DISM:

DISM.exe /Image:D:\newwim /Add-Driver /Driver:D:\Drivers\Usb\Usb3.inf — добавить в образ драйвер на основе информации из файла D:\Drivers\Usb\Usb3.inf

DISM.exe /Image:C:\newwim /Add-Driver /DriverName:»C:\Drivers\1.inf» /DriverName:»C:\Drivers\2.inf» /DriverName:»C:\Drivers\3.inf» — добавить несколько драйверов одной командой. При добавлении нескольких драйверов, их установка выполняется в том же порядке, в каком они перечисляются в командной строке DISM

DISM.exe /Image:D:\newwim /Add-Driver /Driver:D:\Drivers /recurse — добавить в образ все драйверы из каталога D:\Drivers и его подкаталогов. Обычно такой вариант удобнее, когда в каталог помещено несколько папок с драйверами.

Добавление драйверов сопровождается отображением служебных сообщений:

Кроме того, подробная информация записывается в журнал C:\Windows\Logs\DISM\dism.log

При возникновении ошибки установки отображается ее причина:

Ошибка 48 — системе не удается проверить цифровую подпись этого файла — rcraid.sys

Для добавления драйвера, не имеющего цифровой подписи (редко, но бывает) можно воспользоваться ключом /ForceUnsigned

DISM.exe /Image:D:\newwim /Add-Driver /Driver:D:\Drivers /recurse /ForceUnsigned

После успешного завершения процедуры добавления драйверов, необходимо отмонтировать образ с применением сделанных в нем изменений:

Dism /Unmount-Wim /MountDir:D:\newwim /Commit

Если по каким-либо причинам требуется отменить изменения, внесенные в образ, вместо ключа /Commit используется ключ /discard :

Dism /Unmount-Wim /MountDir:D:\newwim /discard — отмонтировать образ без внесения изменений.

При необходимости данная последовательность действий выполняется для других версий ОС с учетом их индекса, полученного командой DISM с ключом /Get-WimInfo ( 1 – Windows 7 Home Basic, 2 – Home Premium и т.д.).

При установке Windows 7 на современном оборудовании, может возникнуть такая ситуация, когда не работает ни мышь, ни клавиатура, поскольку система не имеет поддержки USB 3.0, а порты USB 2.0 отсутствуют или же не поддерживаются средой предустановки. В этом случае можно обойтись подменой файла boot.wim из дистрибутивов Windows 8.1 / Windows 10, как я уже описывал в статье Как избавиться от ошибки «Не найден необходимый драйвер для дисковода оптических дисков” при установке Windows 7, или интегрировать нужные драйверы в образы файла с помощью DISM. Выполняется данная процедура таким же образом, как и для образов в составе install.wim :

DISM /Get-WimInfo /WimFile:F:\sources\boot.wim — получить сведения об образах.

Dism /Mount-Wim /index:2 /WimFile:F:\sources\boot.wim /MountDir:D:\newwim — смонтировать образ с индексом 2.

Dism /image:D:\newwim /Add-Driver /driver:»D:\Drivers» /recurse /ForceUnsigned — добавить нужные драйверы.

Dism /Unmount-Wim /MountDir:D:\newwim /Commit — отключить образ с применением изменений.

Нужно учесть, что в файле boot.wim присутствуют 2 образа:

Сведения об образе : F:\Sources\boot.wim

Индекс: 1
Имя : Microsoft Windows PE (x64)
Описание : Microsoft Windows PE (x64)
Размер (байт): 1 447 345 496

Индекс: 2
Имя : Microsoft Windows Setup (x64)
Описание : Microsoft Windows Setup (x64)
Размер (байт): 1 629 402 470

В большинстве случаев, добавление драйверов нужно выполнить для обоих индексов.

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

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