- DISM: интегрируем драйвера в образ Windows
- Интеграция драйверов в установочный образ Windows 10 / Server 2012 R2
- Как интегрировать драйвера в образ Windows 10 с помощью PowerShell
- Интеграция драйверов в образ Windows Server с помощью DISM
- Добавление драйверов в дистрибутив Windows.
- Файлы образов формата WIM
- Добавление драйверов в дистрибутив Windows с помощью стандартной утилиты dism.exe
DISM: интегрируем драйвера в образ Windows
В этой статье я расскажу про то, как при помощи набора утилит DISM можно добавить драйвера различных устройств в загрузочный образ WindowsPE. В частности, я собираюсь добавить драйвера на сетевую карту Intel (Intel LAN drivers) в уже имеющийся у нас образ Windows7. Итак, сначала у нас есть каталог C:winpe_x86 с загрузочным образом (BOOT.WIM) и скачанные с официального сайта Intel драйвера LAN (папка LAN).
1. Переходим в Start > All Programs > Microsoft Windows AIK > Deployment Tools Command Prompt > щелкаем по значку правой кнопкой мыши и выбираем «Run as administrator»
2. С использованием утилиты DISM монтируем базовый образ в локальную папку Windows PE, для чего нужно набрать следующую команду:
3. Далее в образ Windows нам необходимо добавить файлы с описанием устройств (.inf ). Для чего опять воспользуемся командой
dism с опцией /Add—Driver.
В моем случае такая команда выглядит следующим образом:
Данную процедуру необходимо выполнить для каждого дополнительного драйвера, который вы хотите интегрировать в загрузочный дистрибутив.
4. После интеграции всех необходимых драйверов, необходимо отмонтировать образ Windows PE при помощи следующей команды DISM:
Далее полученный загрузочный образ Windows PE нужно записать на загрузочное устройство (CD/DVD-ROM или USB) и протестировать его работу.
Интеграция драйверов в установочный образ 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.
Смонтируйте установочный образ 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.
Начиная с Vindows Vista, дистрибутивы Windows создаются на базе образов формата WIM (Windows IMaging Format), главной особенностью которых является технология единственной копии множества файлов ( single instance storage ) позволяющей получить компактный дистрибутив, с высокой скоростью развертывания.
Файлы образов формата WIM
В отличие от сектор-ориентированных форматов (таких, как .iso, .tib, .bin ), образ формата WIM является файл-ориентированным, то есть его наименьшим логическим элементом является файл . При чем, файл, входящий в состав дистрибутива хранится в сжатом виде и в единственном экземпляре. Его же копии в дереве файловой системы заменяются ссылками, что обеспечивает компактность образов и высокую скорость их развертывания. Файл формата WIM может содержать несколько образов, отличающихся числовым индексом .
Структура файла 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
В большинстве случаев, добавление драйверов нужно выполнить для обоих индексов.
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»