Как добавить в образ wince драйвера

Обновлено: 04.07.2024

Один из вариантов создания собственного кастомного дистрибутива Windows – интеграция в него драйверов под конкретный компьютер. Это незначительная оптимизация процесса установки в случае с последними версиями Windows и компьютерами на базе распространённой аппаратной начинки. Но если приходится часто переустанавливать систему на ПК или ноутбуке с редкими комплектующими, чтобы потом вручную не допиливать процесс установки драйверов.

Можно единожды создать установочный ISO нужной версии и разрядности Windows с внедрёнными конкретными драйверами. Это могут быть драйверы сетевых, видео-, аудиоустройств, портов USB 3.0 , принтеров и т.п. Как интегрировать в дистрибутив Windows драйверы нужного железа и периферии?

Интеграция драйверов не требует сложностей в виде установки Windows в режиме аудита с последующим захватом её в файл WIM или ESD , как это происходит при создании кастомной сборки системы с внедрёнными настройками и сторонним софтом. Драйверы внедрить можно путём переупаковки системного образа консольным средством Dism. Но проще для этих целей использовать бесплатную программу Dism++, большая часть её возможностей – это реализация функционала консольного средства Dism в графическом интерфейсе.

Эта программа же и поможет решить вопрос с самими драйверами, она умеет экспортировать их из среды установленной Windows.

1. Экспорт драйверов из среды установленной Windows

Программе Dism++ для внедрения драйверов в дистрибутив Windows принципиально не требуется, чтобы это были именно экспортированные ею же драйверы. Можем найти в Интернете драйверы нужного железа и периферии в формате отдельных файлов «.inf» или в виде папок-пакетов. Можем даже распаковать архиватором (например, 7zip) установочные файлы драйверов «.exe» , но только в этом случае надо определённо знать, какие конкретно файлы нужно интегрировать. Файлы-установщики драйверов часто идут для серии устройств производителя, и под конкретную модель драйвер выбирается на этапе установки в среду Windows. Программа Dism++ не обустроена программным интеллектом подгона драйверов под конкретную модель из серии устройств, она интегрирует в дистрибутив операционной системы без разбору всё, что мы ей подсунем. Но в итоге после установки Windows из такого дистрибутива получим проблемы в её работе.

В общем, интегрировать драйверы в дистрибутив лучше экспортированные, проверенные на конкретной версии и разрядности Windows.

Для экспорта драйверов на верхней ленте в окне Dism++ кликаем образ текущей установленной Windows, впрочем, если на компьютере нет второй системы, она там будет одна. Идём в программный раздел «Драйверы», раскрываем категории устройств, галочками отмечаем драйверы для экспорта. Жмём внизу «Экспорт».

Dism++

Указываем папку для экспортируемого содержимого.

Драйверы - экспорт

2. Извлечение содержимого установочного ISO

Теперь необходимо подготовить дистрибутив – установочный ISO нужной версии и разрядности. И смонтировать, т.е. подключить для отображения образ. В системах Windows 8.1 и 10 это делается просто – дважды кликаем по файлу ISO .

Файл ISO

Далее копируем всё, что находится на смонтированном диске ISO , и вставляем его в папке с любым названием, в нашем случае эта папка так и называется - «Содержимое ISO».

Содержимое ISO

В среде Windows 7 содержимое ISO можно извлечь архиватором 7zip . Открываем образ с помощью соответствующего пункта контекстного меню архиватора.

7zip

Кликаем в окне архиватора кнопку «Extract».

Extract

И указываем путь извлечения содержимого ISO .

ISO

3. Извлечение образа WIM/ESD

Создаём ещё одну папку, в неё мы извлечём содержимое файла install.wim или install.esd – непосредственно файла-образа дистрибутива Windows. В нашем случае это папка с дефолтным названием «Новая папка» .

Извлечение образа

Теперь в окне Dism++ идём в меню «Файл», выбираем «Монтировать образ».

Монтировать образ

В окошке параметров монтирования указываем, соответственно:

• Редакцию Windows;
• Путь к образу WIM/ESD – путь к файлу install.wim или install.esd, который находится в папке с извлечённым установочным ISO, в подпапке «sources»;
• Путь к созданной на предыдущем этапе папке.

Параметры монтирования

Как только смонтированный образ дистрибутива будет готов, жмём «Открыть сессию».

Открыть сессию

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

Идём в раздел Dism++ «Драйверы», жмём внизу «Добавить».

Драйверы

Открываем папку с экспортированными драйверами и указываем для выбора одну из папок-категорий экспортированных драйверов.

Проводник

Ждём, пока драйверы интегрируются.

Драйверы интегрируются

И по точно такому же принципу добавляем папки-категории других драйверов.

Добавляем папки-категории

5. Сохранение образа WIM/ESD

Теперь можем сохранять отредактированный дистрибутив Windows.

В меню «Файл» жмём «Сохранить образ как».

Сохранить образ как

Жмём «Обзор».

Обзор

Где-нибудь в отдельной папке сохраняем файл под именем «install» .

Install

По умолчанию для этого файла стоит тип «Максимальное сжатие образа», это формат WIM . Он весит обычно на 30% больше, чем файл формата ESD , но для сохранения последнего потребуется намного больше времени, поскольку в этом процессе будет участвовать ещё и операция сжатия образа. Если есть риск того, что из-за веса файла install дистрибутив может не поместиться на установочный носитель, например, на флешку 4 Гб, то лучше при сохранении образа выбрать тип «Ультра сжатие образа».

Ультра сжатие образа

Жмём «Ок» и дожидаемся сохранения файла.

Дожидаемся сохранения файла

После этого нужно размонтировать изначальный образ: в окне Dism++ жмём «Файл» и, соответственно – «Размонтировать образ».

Размонтировать образ

6. Подмена образа WIM/ESD

Теперь идём в папку, куда мы на втором этапе извлекали содержимое установочного ISO . В подпапке «sources» удаляем исходный файл install.wim или install.esd . И вместо него вставляем скопированный новый install.wim или install.esd – тот, что с интегрированными драйверами, который мы сохранили на предыдущем этапе.

Файлы с интегрированными драйверами

7. Создание нового установочного ISO

Если есть необходимость в упаковке отредактированного дистрибутива в файл установочного ISO , в программе Dism++ в разделе «Дополнительно» жмём «Создание ISO».

Порядок установки всего этого добра:

При установке все директории для установки оставляем без изменений, чтобы потом геморроя не было с путями. Также в висте/7-ке на всякий случай лучше все установщики запускать от имени администратора. Все файлы системы находятся в папке c:\\WINCE600\\PLATFORM\\Mini2440\\. Можно там полазить, посмотреть исходники драйверов и т.д.


Когда все установилось, попробуем собрать образ системы. Запускаем студию, причем ОБЯЗАТЕЛЬНО от имени администратора, иначе будут косяки при сборке образа! Запустили. Жмем File-Open-Project/Solution. и находим файл c:\\WINCE600\\OSDesigns\\Mini2440\\Mini2440.sln и открываем его. На скриншоте показано окно студии с открытым проектом.

Update: Перед сборкой на всякий случай отключите все антивирусы, файерволы или, если комп достаточно мощный, заведите виртуальную машину (VMWare, VirtualBox) с XP и всем необходимым софтом, и делайте все в ней.

Когда в окне Output студии появится что-то типа:

значит все готово к заливке в мини 2440. Идем в папку c:\\WINCE600\\OSDesigns\\Mini2440\\Mini2440\\RelDir\\Mini2440_ARMV4I_Release\\ и ищем там файл NK.bin — это и есть образ системы. Теперь будем его заливать. Предполагается, что у нас уже поставлен драйвер USB из комплекта поставки, есть необходимые шнурки и прошит загрузчик последней версии в мини.


1) Запускаем DNW.exe
2) Configuration-Options. Выставляем номер своего COM-порта, скорость 115200, Download address 0x30000000. Жмем ОК.
3) Подсоединяем к мини USB шнурок, COM-портовый шнурок и шнурок питания(ПИТАНИЕ НЕ ВКЛЮЧАЕМ!), переключатель S2 переводим в положение NOR.
4) В DNW Serial Port-Connect. Теперь включаем питание мини с помощью переключателя S1.
В окне DNW появится нечто подобное:

5) в файл \\WINCE600\\PLATFORM\\Mini2440\\FILES\\platform.reg добавляем

Собираем образ как описано выше. Все, драйвер интегрирован в систему, образ можно заливать в плату.

команда «быстрое» инициализирует сетевые драйверы Windows PE (winpe) сразу после загрузки WinPE. Образ WinPE по умолчанию включает поддержку многих популярных сетевых адаптеров и поддерживает многие из тех же сетевых команд, что и в Windows. Windows Среда предустановки включает в себя базовый набор сетевых драйверов для многих популярных сетевых адаптеров и поддерживает многие из тех же сетевых команд, что и в Windows.

Сетевые подключения в WinPE имеют следующие ограничения.

  • Поддерживаются методы подключения к файловым серверам по протоколам TCP/IP и NetBIOS через TCP/IP. другие методы, такие как сетевой протокол Exchange пакетов многосетевой Exchange (IPX/SPX), не поддерживаются.
  • Разрешение имен распределенная файловая система (DFS) поддерживается только для изолированных пространств имен. Он не поддерживает пространства имен домена. Изолированные пространства имен DFS допускают пространство имен DFS, которое существует только на локальном компьютере и поэтому не использует службы домен Active Directory Services (AD DS).
  • Общие функции беспроводной сети не поддерживаются в WinPE.
  • подключение к сети IPv4 из Windows PE в сети IPv6 не поддерживается.
  • начиная с WinPE для Windows 10 версии 1709 протокол SMB1 отключен по умолчанию. Можно включить поддержку SMB1, выполнив dism.exe /enable-feature /featurename=SMB1Protocol-client .

Подключение к другому компьютеру или общей папке в сети

в Windows PE можно подключаться (или сопоставлять) с общей сетевой папкой с помощью команды net use . при подключении к компьютеру, присоединенному к домену, Windows PE запрашивает имя пользователя и пароль.

Windows PE можно также разместить в сети с помощью среды выполнения предзагрузки (PXE), которая является частью служб развертывания Windows.

Устранение неполадок сети

Попробуйте добавить драйвер для сетевого устройства.

Мы рекомендуем использовать WinPE: mount и customize, особенно для любого драйвера, требующего перезагрузки во время установки.

вы также можете использовать параметры Drvload Command-Line для загрузки некоторых драйверов во время работы Windows PE. однако любые обновления, внесенные в реестр в процессе установки, не сохраняются после перезагрузки, даже если Windows PE выполняется в среде WinPE: Install на жестком диске (плоская или не-RAM).

Выполните команду Wpeinit и Startnet. cmd: использование сценариев запуска WinPE для инициализации сети. по умолчанию средство wpeinit запускается при запуске Windows PE.

В некоторых случаях может потребоваться настроить параметры брандмауэра на компьютере, к которому вы пытаетесь подключиться. Windows PE поддерживает конфигурацию IPsec.

обратите внимание, что вы не можете присоединить Windows pe к домену или запустить Windows pe в качестве сервера. Дополнительные сведения см. в разделе WinPE for Windows 10.

Подключение к проводной сети с помощью протоколов проверки подлинности 802.1 x

создайте пользовательский образ PE Windows, включающий дополнительный компонент WinPE-Dot3Svc .

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

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

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

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

Структура файла WIM

Как видно, 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: в текущей системе.

Файлы и папки установочной флэшки Windows

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

Распаковка файлов драйвера из файла формата .msu архиватором 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:

Содержимое смонтированного образа, использующегося при установке Windows.

Для добавления драйверов можно использовать разные варианты команды 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 и его подкаталогов. Обычно такой вариант удобнее, когда в каталог помещено несколько папок с драйверами.

Сведения о ходе процедуры добавления новых драйверов в дистрибутив Windows

Кроме того, подробная информация записывается в журнал 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

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

Читайте также: