Если вам когда-либо доводилось обновлять много драйверов после установки Windows, то эта страница для вас. Я расскажу, как подготовить автоматическую установку таким образом, чтобы Windows использовала ваши обновленные драйверы вместо стандартных из drivers.cab на инсталляционном диске. На самом деле, это очень просто.
Замечу, что описываемый мною метод не поможет в установке обновленных SATA/RAID драйверов. О том, как разобраться с драйверами контроллеров SATA/RAID, читайте тут.
Драйверы в winnt.sif
В разделе [Unattended] файла winnt.sif вы должны внести примерно такую строку:
OemPnPDriversPath="Drivers\000_intel_INF;Drivers\001_gigabit_LAN;Drivers\002_monitor"
Таким образом вы указываете программе установки проводить поиск в указанных директориях на предмет более новых драйверов, чем находящиеся в drivers.cab на инсталляционном диске. Если программа установки находит более подходящий драйвер, то он будет установлен вместо драйвера по умолчанию.
Примечание: Разделяйте директории в строке при помощи "точки с запятой" - ;
DriverSigningPolicy=Ignore
Данная строка вынудит программу установки проинсталлировать неподписанные драйверы (not WHQL certified). Эта строка используется в сочетании с OemPnPDriversPath. Впрочем, по информации с форума msfn.org, этот трюк не всегда срабатывает, так что по возможности используйте подписанные драйверы. Или устанавливайте неподписанные вручную в случае проблем.
Вы можете добавить сколько угодно драйверов. Например, если вы используете диск автоматической установки на разных конфигурациях, то это особенно имеет смысл. Риска поставить неправильный драйвер нет, т.к. Windows самостоятельно определяет наиболее подходящий драйвер для устройства.
Подготовка драйверов
Производители драйверов используют разные типы инсталляторов, так что универсального рецепта для каждого драйвера не существует. Большинство драйверов можно извлечь из инсталляционного пакета при помощи WinRAR или аналогичных программ. Иногда, для извлечения достаточно запустить установку, и дождавшись первого экрана пойти во временную папку, отыскать драйверы, распакованные инсталлятором, скопировать их в другую папку, а затем отменить установку. После извлечения вы наверняка найдете один или несколько INF файлов.
Извлеките драйверы в любую директорию, и изучите ее содержимое. Иногда, вы увидите несколько поддиректорий, содержащих INF файлы. В таком случае вам придется указать прямой путь к каждой поддиректории в OemPnPDriversPath. Дело в том, что программа установки Windows не будет искать INF файлы в поддиректориях.
Поименуйте ваши директории таким образом, чтобы имена начинались с номеров. Таким образом установка драйверов будет происходить в числовом порядке. Делается это для того, чтобы обеспечить правильный порядок установки драйверов. Как вы, вероятно, знаете, драйверы чипсета должны устанавливаться первыми, следовательно директория, содержащая драйверы чипсета должна быть первой, а точнее мы сделаем ее нулевой (000). Таким образом программа установки Windows сначала обратится именно к этой директории. Ниже приводится пример того, как можно поименовать директории и раскидать по ним драйверы:
000_chipset
001_network
002_graphics
003_tv_out
004_sound
005_monitor
006_keyboard
007_mouse
008_and_so_on
Итак, сначала у нас пойдут драйверы чипсета, потом сетевой карты, потом видео и звуковые карты, потом монитор, и в конце периферия (мышь, клавиатура и т.д.).
Скопируйте все ваши директории с драйверами в C:\XPCD\$OEM$\$1\drivers\
Откройте winnt.sif и добавьте следующие строки в раздел [Unattended]. Конечно, пути могут отличаться, так что не забудьте исправить на свои.
OemPnPDriversPath="Drivers\000_intel_INF;Drivers\001_gigabit_LAN;Drivers\002_monitor"
DriverSigningPolicy=Ignore
Обратите внимание, что указываются пути к директориям, а не к конкретным INF файлам. Сохраните winnt.sif и все дела!
Возможные проблемы
Не все драйверы удастся установить, используя вышеуказанный метод. Если какой-то не работает, то возможно его получится установить методом, применяемым для автоматической установки приложений. Различные типы инсталляторов описаны на этой странице.
Драйверы ATI Catalyst можно установить методом, описанным на данной странице. Однако, SmartGart установлен не будет. Есть альтернативный метод. Используйте автоматическую установку драйверов как будто это приложение, запакованное InstallShield, подробнее о котором здесь.
Вы также можете посетить форум на msfn.org, посвященный вопросам автоматической установки драйверов.