Все, кто хоть раз переустанавливал ОС на своём устройстве, всегда сталкивались с драйверами и связанными с ними проблемами — их поиском, а затем тратой времени на их установку и обновление. В этой статье я расскажу, как интегрировать установленные в текущую ОС драйвера в образ Windows 10, чтобы они автоматически установились вместе с ней.
Данная статья будет особенно полезна для обладателей планшетов на Windows, драйверов под которые нужно довольно много, но найти их часто сложно, и в лучшем случае обычно есть только куча папок с .inf, .sys и другими системными файлами, путь к каждой из которых после установки ОС приходится указывать вручную.
Извлечение файлов драйверов из текущей ОС
В Windows 8.1 был встроен специальный механизм резервного копирования драйверов. Он же перекочевал в Windows 10. После использования он оставляет несколько десятков папок со всеми установленными в системе драйверами, в каждой папке системные файлы того или иного драйвера.
Чтобы воспользоваться им, нам понадобится оболочка Windows Powershell. Наберите слово «Powershell» в поиске, кликните по найденному приложению правой клавишей мыши и выберите «Запустить от имени администратора».
Откроется синее окно консоли. Теперь введём команду для экспорта драйверов:
Export-WindowsDriver -Online -Destination D:\drivers
Вместо «D:\drivers» вставьте путь к папке, в которой вы хотите сохранить все драйвера.
Нажмите «Enter» и, откинувшись на спинку кресла, подождите, пока консоль не начнёт выводить список импортированных драйверов.
Открыв папку, которую вы ранее выбрали, вы сможете увидеть много-много папок с драгоценнейшими системными компонентами. В моём случае внутри было 102 папки.
Если, например, у вас есть драйвера, которые в системе пока не установлены, но которые вы бы хотели добавить в образ, добавьте папку с ними в эту папку резервной копии. Учтите, что ваши драйвера должны быть в виде файлов .inf, .sys и других, а не в виде .exe, .msi.
Подготовка образа ОС
Драйвера у нас есть, теперь подготовим образ ОС, в который будем их интегрировать. Скачать его можно, например, с официального сайта.
Работа по интегрированию производится с распакованным образом, а не с самим ISO-файлом! Если после интегрирования драйверов вы захотите собрать образ обратно, вы сможете сделать это с помощью множества сторонних программ. Я, например, использую UltraISO, однако его аналогов существует очень много.
Чтобы распаковать образ, можно воспользоваться каким-нибудь архиватором (бесплатный 7-Zip справляется с этим на ура). Можно сразу сделать загрузочную флешку и работать с ней.
После распаковки пройдите в одну из распакованных папок — «sources», откуда скопируйте два файла — «boot.wim» и «install.wim».
Создайте в корне какого-нибудь диска папку с названием «winpe» (необязательно в корне, но так будет удобнее, так как не придётся набирать длинные пути в консоли) и вставьте в неё два данных файла.
После этого скопируйте в только что созданную папку, в которой пока только 2 wim-файла, папку с резервной копией драйверов (ту, в которой внутри много папок), а также создайте в ней папку «mount«.
У вас должна получится такая папка:
Уточнение редакции ОС
На данном шаге нужно произвести некоторые действия, связанные с редакцией ОС, которую вы собираетесь устанавливать.
Дело в том, что некоторые образы могут установить сразу несколько редакций. Например, стандартный образ Windows 10 предназначен для установки сразу двух редакций — Home и Pro. Для того, чтобы интегрировать драйвера в правильную редакцию, нам надо узнать некоторую информацию о ней.
Кликните правой клавишей мыши по кнопке «Пуск» и запустите командную строку от имени администратора.
Перейдём в папку «winpe«, для этого введите поочерёдно команды:
E:
cd winpe
Здесь E — диск, в корне которого расположена папка «winpe», замените его на свой.
Теперь введите следующую команду:
dism /Get-WimInfo /WimFile:install.wim
Вы получите список редакций ОС, которые встроены в образ.
Нам здесь важен индекс редакции, строчка с ним подчёркнута на скриншоте. Выберите редакцию, которую вы собираетесь устанавливать и в которую, соответственно, нужно интегрировать драйвера, и запомните её индекс. Он пригодится позже.
Интеграция драйверов в образ ОС
Теперь нужно интегрировать драйвера поочерёдно в каждый из файлов «boot.wim» и «install.wim«. Команды, которые нужно вводить для каждого из файлов, абсолютно одинаковы, меняется только название файла (boot на install).
Уточню, что на данный момент мы уже находимся в директории winpe. Если после предыдущего шага вы закрыли консоль, откройте её заново и опять введите команды:
E:
cd winpe
Для забывчивых: здесь E — диск, в корне которого расположена папка «winpe», замените его на свой.
Теперь рассмотрим файл «boot.wim«.
Сначала необходимо монтировать его. Для этого вводим команду:
dism /mount-wim /wimfile:boot.wim /index:1 /mountdir:mount
В команде подчёркнут индекс редакции ОС, о котором мы говорили выше. Выставьте нужную цифру, которую я попросил запомнить, сразу после двоеточия.
Теперь непосредственно интегрируем драйвера:
dism /image:mount /add-driver:drivers /recurse
Обратите внимание на команду «/add-driver:drivers». После двоеточия должно следовать название папки, в которой хранятся резервные копии драйверов. У меня это — папка «drivers«, если у вас она называется по-другому, введите своё название.
Осталось сохранить полученный файл, в который уже добавлены драйвера:
dism /unmount-wim /mountdir:mount /commit
Теперь проводим аналогичные операции для файла «install.wim«. Единственное отличие будет находиться в первой команде. Она будет выглядеть так:
dism /mount-wim /wimfile:install.wim /index:1 /mountdir:mount
Мы просто изменили имя файла с «boot.wim» на «install.wim«. Следующие две команды абсолютно такие же, как и с файлом «boot.wim«.
Опять же не забываем про индекс!
Теперь скопируем полученные файлы «boot.wim» и «install.wim» и вставим их в папку «sources«, заменив исходные файлы.
Если вы «обновили» wim-файлы прямо на загрузочной флешке, то теперь она установит вам систему со всеми драйверами. Если нет, то создайте образ системы с помощью сторонних программ.
На этом всё. Надеюсь, данная инструкция кому-нибудь поможет.
Привет друзья! Вас ждёт очень интересная статья, так как поднятая в ней тема довольно актуальная на сегодняшний день. Итак, вопрос читателя.
Здравствуйте! Иногда я переустанавливаю Windows 10 на своём компьютере и надоело каждый раз после переустановки устанавливать драйвера на все устройства заново! Хотел спросить у вас, как интегрировать драйвера моего компьютера в установочный дистрибутив Windows 10, чтобы после установки операционной системы мне не пришлось каждый раз инсталлировать их вновь? В компьютерном деле я далеко не новичок и знаю, что нужно сначала экспортировать драйвера из операционной системы, а затем интегрировать эти драйвера в смонтированную папку с файлами Win 10. Сделать это всё можно с помощью специального инструмента Dism. Но дело осложняется тем, что в дистрибутиве Windows 10 находится файл-образ операционной системы install.esd, а не install.wim, а средство Dism не может монтировать файлы install.esd.
Полез за информацией в интернет, там в основном предлагается конвертировать файл install.esd в файл install.wim с помощью инструментов сторонних разработчиков, например: Wim.Converter.2.5 или VDism_2.0, а также 78RePack_v1.4. Но данным инструментам я не доверяю, и хотел воспользоваться официальным способом, который предлагает Майкрософт. Поэтому обратился за помощью на официальный форум по использованию продуктов Майкрософт и задал там свой вопрос:
и получил вот такой странный ответ.
Оказывается, если я хочу интегрировать драйвера в дистрибутив Windows 8.1, Windows 10, то я нарушаю лицензионное соглашение! Всё это довольно странно, ведь миллион пользователей по всему миру каждый день интегрируют драйвера в операционную систему с помощью Dism, если в ISO-образе Windows 8.1 содержится файл install.wim (такие образы ещё можно скачать на официальном сайте Майкрософт), но случае же с файлом install.esd, этого сделать нельзя!
Вот собственно говоря я и подошёл к своим вопросам:
В чём разница между файлами install.wim и install.esd?
Какие официальные средства (от Майкрософт) можно использовать для интеграции драйверов в дистрибутив Windows 8.1, Windows 10, при условии наличия в ISO-образе операционной системы файла Install.ESD?
Как интегрировать драйвера в дистрибутив Windows 8.1, Windows 10, при условии наличия в ISO-образе операционной системы файла Install.ESD
Привет всем! Меня зовут Владимир и я отвечу на эти вопросы.
В чём разница между файлами install.wim и install.esd?
Файл install.wim появился ещё в дистрибутиве Windows Vista и Windows Server 2008, затем в Windows 7. Это формат образа диска разработанный Microsoft для развертывания операционных систем Windows. В файле install.wim в сжатом состоянии находятся файлы операционной системы. Если смонтировать файл install.wim в какую-либо папку, то эта папка будет весить около 14 Гб. В сжатом состоянии файлы операционной системы весят 3-4 Гб и запросто помещаются на болванку DVD. Тогда же Майкрософт предложило инструмент для работы с файлом WIM под названием ImageX. С помощью ImageX (потребуется инсталляция пакета автоматической установки Windows (AIK) можно было монтировать файл WIM в какую-либо папку, затем вносить необходимые изменения в образ системы (редактировать) и после этого размонтировать.
С появлением Windows 8 на сцену вышел новый инструмент под названием Dism. Если с помощью ImageX можно было только редактировать файл WIM, то Dism уже позволял настраивать компоненты и различные параметры операционной системы в образе. Немного позже появилась Windows 8.1 и в ней уже не было файла install.wim, а был файл install.esd, и при ближайшем рассмотрении оказалось, что файлы install.wim и install.esd отличаются только типом сжатия, Microsoft придумало новое 4-е сжатие (compress) recovery (до этого было три: none, fast и maximum) и рекомендует при сжатии recovery ставить расширение esd (чтобы нам было проще работать с архивами). Вот и вся разница. Простыми словами, что esd, что wim, это архив с файлами операционной системы. К сожалению Dism монтирует файл nstall.wim, но не монтирует файл esd, именно об этом говорит наш читатель.
Какие официальные средства (от Майкрософт) можно использовать для интеграции драйверов в дистрибутив Windows 8.1, Windows 10, при условии наличия в ISO-образе операционной системы файла Install.ESD?
Друзья, конечно существует вполне легальный способ интеграции драйверов в файл-образ операционной системы Install.ESD.
Нам всего лишь нужно развернуть файл install.esd на смонтированный раздел виртуального жёсткого диска VHD, затем интегрировать драйвера в Windows 10, потом обратно запаковать файл install.esd, и после этого создать ISO-образ Win 10. Рассказываю всё в подробностях на примере моего ноутбука с установленной Windows 10 Домашняя для одного языка. Во-первых, скачайте и установите комплект средств для развертывания и оценки Windows ADK для Windows 10 версии 1607, так как без него ничего не получится.
https://developer.microsoft.com/ru-ru/windows/hardware/windows-assessment-deployment-kit
Если у вас Windows 8.1, то ссылка
https://www.microsoft.com/ru-ru/download/details.aspx?id=39982
Создаём на диске (E:) папку с произвольным названием, к примеру 1.
Открываем командную строку от имени администратора и вводим команду:
Dism /online /export-driver /destination:E:\1 (данная команда экспортирует в папку 1 на диске (E:) все драйвера, находящиеся в установленной у меня операционной системе Win 10.
Скачиваем установочный ISO-образ Windows 10 на официальном сайте Майкрософт.
Щёлкаем на образе двойным щелчком левой мыши
и присоединяем его к виртуальному дисководу (в моём случае (G:)).
Файл install.esd находится в папке sources и может содержать в себе несколько релизов Windows,
каждый релиз имеет свой индекс образа.
Нам нужна Windows 10 Домашняя для одного языка.
Узнаём индексы всех релизов. Введём команду:
Dism /Get-WimInfo /WimFile:G:\sources\install.esd (где G:, буква виртуального диска с файлами Windows 10, папкой sources и файлом install.esd).
Как видим, Windows 10 Домашняя для одного языка, индекс образа 3.
Следующей командой в Управлении дисками создаём виртуальный диск VHD.
«Действие»—>«Создать виртуальный жёсткий диск»
Отмечаем пункт «Динамический расширяемый».
Размер виртуального жёсткого диска — 20 Гб.
Жмём на кнопку «Обзор».
Выбираем в проводнике место сохранения виртуального жёсткого диска.
Я выберу диск (E:).
Присваиваю имя виртуальному диску — «10» и жму кнопку «Сохранить».
«ОК»
Созданный виртуальный диск представляет из себя в Управлении дисками нераспределённое пространство (Диск 1) размером 20 Гб.
Щёлкаем на Диске 1 правой мышью и выбираем «Инициализировать диск»
Так как у меня новый ноутбук с БИОСом UEFI, я отмечаю пункт «Таблица с GUID разделов (GPT)» и жму «ОК»
После инициализации диска создаём на нераспределённом пространстве простой том.
Новый том (N:) создан.
Следующей командой я разворачиваю файл install.esd на виртуальный диск VHD (раздел N:)
Dism /apply-image /imagefile:G:\sources\install.esd /index:3 /ApplyDir:N:\
Следующая команда произведёт экспорт драйверов из папки 1 на смонтированный раздел (N:) виртуального диска VHD.
Dism /image:N: /add-driver /driver:E:\1 /recurse /ForceUnsigned
После экспорта драйверов архивируем Windows 10 в файл install.wim, а позже применим к нему сжатие (compress) recovery и он будет конвертирован в install.esd.
Dism /capture-image /imagefile:E:\install.wim /capturedir:N: /name:10 (данной командой мы архивируем Windows 10 на диске (N:) в файл install.wim, который будет расположен на разделе (E:).
Файл install.wim находится на диске (E:) и занимает всего 4,68 Гб.
Теперь мы можем пойти двумя путями: во-первых, создать ISO-образ Windows 10 на основе файла install.wim, который распаковывается немного быстрее при установке операционной системы или всё же произвести конвертацию файла install.wim в install.esd, решайте сами. Показываю как конвертировать файл install.wim в install.esd.
Применим к файлу install.wim сжатие (compress) recovery (конвертируем в install.esd). Вводим команду:
Dism /Export-Image /SourceImageFile:E:\install.wim /SourceIndex:1 /DestinationImageFile:E:\install.esd /Compress:recovery
Вот и всё, файл install.wim конвертирован в install.esd и находится на диске (E:) и имеет размер 3 Гб.
Создаём на основе файла install.esd ISO-образ Windows 10.
Создаём в корне диска (E:) папку и называем её 2.
Копируем в неё установочные файлы Windows 10, затем заходим в папку sources и удаляем из неё файл install.esd, вместо него копируем созданный нами файл install.esd, содержащий Windows 10 с интегрированными драйверами.
После этого открываем среду развёртывания и работы с образами вводим команду:
Oscdimg /u2 /m /bootdata:2#p0,e,bE:\2\boot\Etfsboot.com#pef,e,bE:\2\efi\microsoft\boot\Efisys.bin E:\2 E:\Windows.iso
где:
u2, это файловая система UDF, а m — размер образа без ограничений.
b — загрузочный сектор записать etfsboot.com, путь к файлу etfsboot.com при указании b(boot) пишется без пробела bE:\2\boot\etfsboot.com
bE: — где E: — буква диска.
E:\2 — создать ISO-образ из файлов и папок, находящихся на разделе E: в папке 2
E:\Windows.iso — созданный образ разместить на разделе E:
присвоить имя образу — Windows.
ISO-образ Windows 10 готов весит 3,11 Гб
Вы можете существенно упростить развертывание операционной системы на типовых рабочих станциях (серверах), если заранее интегрируете все необходимые драйвера в хранилище драйверов (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 с помощью PowerShell
- Интеграция драйверов в образ Windows Server с помощью DISM
- Удаление драйверов из образа Windows
В современных редакциях 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.
Выведите список всех версий Windows, которые содержатся в файле Install.wim с помощью командлета PowerShell Get-WindowsImage. Это позволит вам получить индекс редакции Widows, в которую планируется интегрировать дополнительные драйвера.
Get-WindowsImage -ImagePath C:\WinWork\ISO\install.wim
В нашем примере в 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
Далее необходимо смонтировать образ выбранной версии Windows в каталог Mount. Полученные выше индекс редакции Windows, которую необходимо смонтировать нужно указать в качестве аргумента Index:
Mount-WindowsImage -Path C:\WinWork\Mount\ -ImagePath C:\WinWork\ISO\install.wim -Index 1
После того, как образ смонтирован, вы можете добавить в него драйвера из каталога Drivers
Add-WindowsDriver -Path C:\WinWork\Mount\ -Driver C:\WinWork\Drivers -Recurse
Командлет Add-WindowsDriver осуществит рекурсивный поиск (параметр -Recurse) в указанном каталоге и подкаталогах всех .inf файлов с описаниями драйверов. По описанию в inf файле команда добавит зависимые INF, DLL, CAT, PNF и т.д. файлы в ваш образ Windows.
Итак, драйвера скопированы, и текущий образ можно отмонтировать, сохранив изменения в нем.
Dismount-WindowsImage -Path C:\WinWork\Mount\ –Save
В рассмотренном примере мы добавили драйверы в образ Windows в файле Install.WIM. Это образ Windows, который будет установлен на ваш диск. Если необходимо добавить драйвера в загрузочный образ Windows PE (с которого выполняется только установка 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:\WinWork\ISO\boot\etfsboot.com C:\WinWork\ISO C:\new_win10pro_image.iso
Данная команда сформирует ISO образ для установки на компьютер с BIOS или в режиме UEFI Legacy (CSM, compatible)
Для генерации универсального 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 для установки на компьютеры с локального устройства или по сети (с помощью 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"
В моем примере я хочу добавить драйвера в образ 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
Для каждого успешно добавленного драйвера появится надпись:
driver.inf: The driver package was successfully installed
Сохраните изменения в образе:
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"
Чтобы удалить определенный драйвер, нужно указать имя его inf файла (oem<number>.inf):
Remove-WindowsDriver -Path "c:\offline" -Driver "OEM0.inf"
Можно удалить из образа драйвера определенного вендора:
$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 от старых версий драйверов.
So Windows 10 is here with its second build (9860) in its “Technical Preview”. Since I am an OSD guy, I like to make sure when a system is built all the drivers are there (even for my test machines and ad-hoc builds to “see if it works”). Usually this just entails adding some drivers and–for the most part–plug and play is nice enough to install everything for me. If you’re without MDT and/or SCCM or just like to have a USB installer ready for anything, you don’t have the luxury of a driver package and just want all the drivers to automatically be there when Windows installs.
This process is very common and really, this applies to Windows Vista (and up) but as I went to inject drivers to Windows 10 media from my Windows 8.1 machine I met an old-friend-of-an-error and figured this was worth sharing.
Get the Drivers
First thing’s first. Get the Drivers! For Windows 10, Microsoft has done a great job of letting Windows 7/8.1 drivers install (or attempt to) and maintain a large percentage of support. So, download all the drivers and put them into one directory. Make sure that any downloaded installers are extracted first to where you can see the inf, cat, and sys files. I know Dell and HP both have self extracting executable for most drivers they offer out.
If you’re like me, you’ll have a huge hierarchy of Manufacturer> Model showcasing all the different models that you want to test on and support.
Create Your Media
Connect a USB Drive (USB 3.0 is better :)). We’ll need to format the disk…This will remove all of the files so make sure to backup anything.
- Open an Administrative Command Prompt
- DiskPart <enter>
- List Disk <enter>
- Locate which disk is the usb drive. Easiest way is to tell by size.
- select disk # <enter> (# is the disk number from previous step)
- clean <enter>
- create partition primary <enter>
- select partition 1 <enter>
- format fs=fat32 quick <enter>
- active <enter>
- assign <enter>
- exit <enter>
Now you have a clean and fresh USB drive to use.
Extract the Install Files
With Windows 8+ you can just right-click and select “Mount” on the iso. Copy all of the files to the USB drive.
With Windows 7, you’ll need a program like 7-zip. Open the ISO, and extract all files to the USB drive.
Mount the WIM
There are two WIM’s in your Windows Installer that we’re concerned about: <InstallRoot>\sources\boot.wim and <InstallRoot>\sources\install.wim.
- The Boot.wim is what gets loaded when you boot to your install media. This is a WinPE image used to apply an OS–MDT/SCCM people will be very familiar with the boot media concept.
- The install.wim file is the actual sysprepped OS Installation that will get applied to your hard drive. If you mounted this, it will look just like your C drive: Program Files, Windows, Users, etc…
So really we now dive to 2 scenarios:
- When you boot to your media, your hard drive (or other device) is not recognized.
- When Windows is installed, drivers are missing
Scenario 1 relates to your boot media, scenario 2 relates to the install.wim. A rule of thumb is that your boot.wim only needs essential drivers; eg: storage and network. In this scenario, we’re only concerned about storage, since we’re using USB as our source media. Really though, both processes are the same.
- Open an Administrative Command prompt.
- Create a directory to mount the WIM file (mkdir c:\mount)
- Mount the wim:
dism /mount-wim /wimfile:%PathToWimFile% /Index:1 /mountdir:%ImageMountDir%
Add in the Drivers:
To add the drivers we’ll need to point the command to the folder of drivers we created above.
REMEMBER: only add storage and network to boot.wim. Anything more is just silly.
If you have you install.wim mounted you can point to the top folder that contains all the drivers for your model. Example: c:\drivers\hp\EliteBook800SeriesG1
Add the drivers:
dism /image:%ImageMountDirFromAbove% /add-driver /driver:%PathToDriversFolder% /recurse /forceunsigned
The recurse option will check all sub folders. the forceunsigned will allow unsigned drivers to be added.
On Windows 8.1 while mounting my Windows 10 install.wim i was greeted with an error:
Deployment Image Servicing and Management tool Version: 6.3.9600.17031 Error: 50 To service this Windows image requires the latest version of the DISM. See http://go.microsoft.com/fwlink/?LinkId=293395 to find the latest version of DISM, and http://go.microsoft.com/fwlink/?LinkId=293394 to learn how to install the latest version of DISM from the ADK on your computer. The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
We could look at the dism log if we wanted but to me this error is rather self-explanatory. Essentially this is saying that the OS i have mounted is newer than the dism tool i’m using. Dism version: 6.3.9600.17031…Windows 8.1 OS Version is 6.3.9600 (see what they did there?). Think of it this way: Each version supports the corresponding Windows release plus older (Backwards compatible). It cannot work with a newer version since older version doesn’t know what newer version is.
The fix for this is to use the DISM command included in the Windows setup disk. Rerun the dism command above but this time, we’ll need to use the full path to the Windows 10 media:
%PathToWindowsInstallMedia%\Sources\dism.exe /image:%ImageMountDirFromAbove% /add-driver /driver:%PathToDriversFolder% /recurse /forceunsigned
And voila…now we have drivers added.
Save the Changes
Last thing is to commit the changes we made:
%PathToWindowsInstallMedia%\Sources\dism.exe /unmount-wim /mountdir:%ImageMountedDir% /commit
Again, this process will really apply to any version of Windows where you’d like to inject drivers within your media!
Enjoi!
Привет, друзья. Это очередная публикация о возможностях программы Dism++. Это программа, являющая собой графический интерфейс к штатному консольному средству Windows Dism. И не только, у неё много функциональных возможностей, и одна из них, с которой мы будем ниже знакомиться – это экспорт установленных в системе Windows драйверов. Как с помощью Dism++ экспортировать драйвера, и как их потом в среде новой Windows импортировать?
Экспорт драйверов программой Dism++ и их внедрение в новой Windows
По традиции, друзья, напомню, что на сайте представлен цикл публикаций о возможностях программы Dism++. Вы можете почитать её комплексный обзор, а также посмотреть публикации, раскрывающие потенциал программы в конкретных ситуациях, по тегу Dism. Тег отфильтрует статьи сайта по работе с программой Dism++ и штатным консольным средством Dism.
Об экспорте драйверов
Ну а теперь по теме статьи – экспорт драйверов. Этой операции по возможности стоить предпочесть обычную установку драйверов, скачанных с официального сайта производителя материнской платы, ноутбука, видеокарты или прочего устройства, на который Windows не может сама найти драйвер. Как это делается на примере материнской платы Asus, читаем здесь. В качестве более удобной альтернативы можно использовать менеджеры установки драйверов типа Snappy Driver Installer. Это бесплатная годная программа, работающая как по типу онлайн-клиента, так и в связке с локальной базой драйверов. Экспорт-импорт драйверов я бы рекомендовал расценивать как запасной вариант – если инсталлятор драйвера нужного устройства поди знай где искать, либо его версия, предлагаемая на сайте производителя устройства или менеджером установки драйверов, работает со сбоями. Экспортированные драйвера также могут пригодиться в случае проблем после обновления Windows или системного сбоя. Или, например, в случае удаления с официального сайта устройства драйверов для старых версий Windows.
Экспорт-импорт драйверов, в принципе, можно рассматривать как альтернативу установке драйверов с официальных источников устройств или с помощью программ типа Snappy Driver Installer. Более того, это удобный способ решения вопроса в случае плановой переустановки Windows: в старой системе одним махом делам экспорт драйверов, в новой системе импортируем те драйверы, что сами не установились. Однако нужно учитывать, что импорт драйверов не всегда может быть осуществлён, это касается, в частности, случаев смены версии или разрядности Windows. Ну и ещё же новая инсталляция драйвера – это замечательный повод обновить его версию, тогда как при импорте мы внедрим в систему старую экспортированную версию.
Экспорт драйверов средством Dism
В системах Windows 8.1 и 10 для экспорта драйверов, установленных в текущей операционной системе, мы можем использовать штатное консольное средство Dism. Нам нужно на несистемном разделе диска создать папку для их хранения. Создать и назвать именем на латинице и без пробелов.
Затем нужно запустить от имени администратора командную строку и ввести:
dism /online /export-driver /destination:f:\exportdrivers
Где вместо f:\exportdrivers вам, друзья, нужно подставить свой путь и название папки. По итогу выполнения этой команды в указанной папке появятся подпапки с экспортированными драйверами устройств.
Но штатное средство Dism ограничено возможностью экспорта только сторонних драйверов. И только всех их вкупе.
Тогда как Dism++ может экспортировать и сторонние, и системные драйверы, и все подряд, и только указанные нами. Но главное – программа может это делать и в Windows 10, и в Windows 8.1, и в Windows 7.
Экспорт драйверов программой Dism++
В окне Dism++ идём в раздел «Драйверы». Здесь каталогизировано по типам устройств увидим перечень неких драйверов — это перечень таковых, не имеющих критического значения для работоспособности Windows. Поскольку в этом разделе программа предлагает, в частности, возможность удаления драйверов, критически важные для работы системы сокрыты по типу защиты от дурака. Если нужные нам драйвера есть в этом перечне, отмечаем их галочками и жмём кнопку «Экспорт».
Указываем папку хранения экспорта.
И через какое-то время можем смотреть результат: экспортированные драйверы в папке экспорта будут распределены по подпапкам устройств.
Кстати, преимущество Dism++ перед консольным Dism заключается ещё в такой вот удобной каталогизации экспортированного содержимого по типам устройств компьютера. Для импорта драйверов это не имеет никакого значения, но может пригодиться при принятии решения, какие папки оставлять, а какие – удалять, если со временем станет вопрос о расчистке места на диске.
Если нужных драйверов нет в перечне, либо же если нам нужно экспортировать все подряд драйверы системы, в окне Dism++ ставим галочку опции «Предустановленные». Далее действуем аналогично описанной выше процедуре: галочками отмечаем все или отдельные драйверы, жмём кнопку «Экспорт» и указываем папку.
Так вот всё просто, друзья.
Импорт экспортированных драйверов
Если после переустановки, обновления, восстановления после системного сбоя Windows окажется без драйверов каких-то комплектующих или периферии, идём в системный диспетчер устройств. Вызываем на проблемном устройстве контекстное меню, жмём «Обновить драйверы».
Кликаем «Выполнить поиск драйверов на этом компьютере».
Далее с помощью кнопки обзора указываем путь к нашей папке с экспортированными программой Dism++ драйверами. Смотрим, чтобы стояла галочка включения вложенных подпапок. Жмём «Далее».
Дожидаемся завершения импорта.
***
Друзья, информация для желающих узнать больше по теме работы с драйверами Windows: их экспорт-импорт можно осуществлять по типу бэкапа-восстановления не только средствами Dism, но с помощью других средств, например:
- С помощью PowerShell или программы DriverMagician;
- С помощью менеджеров установки драйверов – программ Slim Drivers и Advanced Driver Updater.