Процесс интеграции драйверов очень прост. Все драйверы размещаются в одной папке, причем они могут находиться как в ее корне, так и во вложенных папках. Затем подключается системный образ (install.wim) и с помощью диспетчера пакетов (pkgmgr.exe) осуществляется установка драйверов в образ.
На этой странице
Включение протоколирования установки драйверов
Для создания подробного файла журнала, отражающего процесс установки драйверов в системный образ, необходимо включить протоколирование диспетчера пакетов. Для этого достаточно импортировать в реестр приведенный ниже REG-файл.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Device Installer]
"DebugPkgMgr"=dword:00000001
Размещение драйверов
Драйверы могут находиться в любой папке. В этой статье используется папка 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. Интеграция драйверов в подключенный образ выполняется одной командой.
START /WAIT /d "%Programfiles%\Windows AIK\Tools\Servicing" pkgmgr.exe /o:C:\VistaWork\Mount;C:\VistaWork\Mount\Windows /n:C:\VistaWork\xml\Drivers.xml /l:C:\VistaWork\Logs\drivers.log
В этой команде:
- /o:<путь> - путь к автономной папке Windows, т. е. папке Windows подключенного образа.
- /n:<путь> - путь к файлу ответов, используемому для интеграции.
- /l:<путь> - путь к файлу журнала, создаваемому в процессе работы диспетчера пакетов (журнал пригодится для устранения неполадок, если таковые возникнут).
Установка драйверов в системный образ может занять некоторое время, поэтому наберитесь терпения и не прерывайте процесс. Когда работа диспетчера пакетов завершится, в окно командной строки снова можно будет вводить команды.
Проверка правильности интеграции драйверов
Для проверки того, возникали ли ошибки во время интеграции, введите в командной строке команду:
ECHO %Errorlevel%
Если отобразится 0, интеграция прошла без ошибок. В противном случае придется изучать файл журнала drivers.log.txt в папке C:\VistaWork\Logs. При успешной интеграции последние несколько строк файла должны выглядеть примерно так:
2009-01-14 15:34:50, Info CBS Pkgmgr: Install Drivers Offline Callback: INFO: Installed '49' drivers. (Error code (HRESULT) 0x0.)
2009-01-14 15:34:50, Info CBS Pkgmgr: Install Drivers Offline Callback: INFO: RETURN InstallDriversOffline (0) (Error code (HRESULT) 0x0.)
2009-01-14 15:34:50, Info CBS Pkgmgr: return code: 0x0
2009-01-14 15:34:51, Info CBS Pkgmgr: return code: 0x0
В первой строке фрагмента вы видите количество установленных драйверов, а в последней - код возврата ошибки (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)".
Драйверы контроллеров устройств хранения
Если вы используете нестандартные контроллеры устройств хранения (mass storage), которые не обнаруживаются программой установки Windows, их драйверы необходимо интегрировать не только в системный образ (install.wim), но и в загрузочный образ Windows PE (boot.wim). Процедура интеграции аналогична описанной в статье.
Заключение
Интеграция драйверов в дистрибутив Windows Vista занимает всего несколько минут. Сделать это несколько проще, чем сконфигурировать их установку с USB- или DVD-диска. Однако этот способ менее управляем по сравнению с установкой драйверов с USB-диска.