Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...

Установка драйверов с CD

Текущий рейтинг: 3.79 (проголосовало 48)
 Посетителей: 25477 | Просмотров: 34445 (сегодня 0)  Шрифт: - +

Вам понадобятся несколько файлов, которые необходимы для данного способа установки драйверов с CD. Вы можете загрузить файлы отсюда. Просто распакуйте содержимое архива в корень директории C:\XPCD\$OEM$.

Редактирование файла ответов

В файл ответов нужно добавить строки, приведенные ниже. Есть два варианта в зависимости от того, хотите ли вы видеть консольное окно в процессе установки. Если вы хотите видеть консоль с отработкой командного (cmd) файла, то добавьте эти строчки (при этом консольное окно в процессе установки запускается свернутым левом углу):

[GuiUnattended]
    DetachedProgram=".\system32\cmd.exe"
    Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %J IN (%I$OEM$) DO (IF EXIST %J (start /min /D%J Drivers.cmd)))"

Если вы не желаетe видеть консольное окно, то добавляйте:

[GuiUnattended]
    DetachedProgram=".\system32\cmd.exe"
    Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\$WINNT$.INF) DO (FOR %J IN (%I$OEM$) DO (IF EXIST %J (start /min /D%J NirCmd.exe exec hide Drivers.cmd)))"

Подготовка драйверов

Для каждого из компонентов вашей системы (чипсет, сетевая карта, и т.д) создайте отдельную директорию. Поименуйте ваши директории таким образом, чтобы имена начинались с номеров. Таким образом, установка драйверов будет происходить в числовом порядке. Делается это для того, чтобы обеспечить правильный порядок установки драйверов. Как вы, вероятно, знаете, драйверы чипсета должны устанавливаться первыми, следовательно директория, содержащая драйверы чипсета должна быть первой, а точнее мы сделаем ее нулевой (000). Таким образом, программа установки Windows сначала обратится именно к этой директории. Ниже приводится пример того, как можно поименовать директории:

000_chipset
001_network
002_graphics
003_tv_out
004_sound
005_monitor
006_keyboard
007_mouse
008_and_so_on

Значит сначала у нас пойдут драйверы чипсета, потом сетевой карты, потом видео и звуковые карты, потом монитор, и в конце периферия (мышь, клавиатура и т.д.).

Tеперь надо извлечь драйверы из инсталляционных пакетов. Производители драйверов используют разные типы инсталляторов, так что универсального рецепта для каждого драйвера не существует. Большинство драйверов можно извлечь из инсталляционного пакета при помощи WinRAR или аналогичных программ. Иногда, для извлечения достаточно запустить установку, и дождавшись первого экрана пойти во временную папку, отыскать драйверы, распакованные инсталлятором, скопировать их в другую папку, а затем отменить установку. Итак, извлеките драйверы в соответствующие директории, которые вы создали ранее. Не беспокойтесь, если извлеченные драйверы содержат поддиректории - это ни на что не повлияет.

В $OEM$ директории вашего инсталляционного диска (C:\XPCD\$OEM$) создайте директорию Drivers. Переместите папки с извлеченными драйверами в Drivers. Драйверы будут устанавливаться прямо с CD, никакого копирования на жесткий диск не будет. Конечно, драйверы должны быть в несжатом виде. Если вы хотите сэкономить место на носителе, то ниже описывается, как упаковать драйверы. Если упакованные драйверы не используются, файл 7za.exe из папки $OEM$ можно удалить.

Упакованные драйверы

Если вы хотите использовать упакованные драйверы для экономии места, то запакуйте их с помощью 7-zip (можно использовать и любой другой архиватор, но тогда не забудьте изменить в файле Drivers.cmd команду и ключи на распаковку), назовите файл Drivers.7z и разместите его в корне $OEM$\. При установке драйверы автоматически распакуются в %SystemDrive%\Drivers. Не забудьте удалить эту папку впоследствии (из cmdlines.txt или при первом входе в систему), если, конечно, не планируете ее в использовать в дальнейшем.

Как это все работает

У вас должна получиться примерно такая структура папок и файлов:

Drivers tree

На стадии установки T-39 программа установки Windows запускает файл Drivers.cmd, который:

  • прежде всего останавливает процесс установки (используя утилиту Process.exe)
  • затем запускает WatchDriverSigningPolicy.exe, которая позволяет устанавливать неподписанные драйверы
  • после этого определяется, есть ли в рабочей папке ($OEM$\Drivers) файл Drivers.7z, если есть то распаковывается в %SystemDrive%\Drivers
  • затем запускается утилита SetupCopyOEMInf.exe, которая сканирует все папки и подпапки в $OEM$\Drivers (или %systemdrive%\Drivers - если используются запакованные драйверы) и копирует все inf файлы в папку %windir%\Inf
  • и наконец, процесс установки возобновляется

Примечания

Этот метод не работает для установки RAID, SATA и SCSI драйверов.

Утилита WatchDriverSigningPolicy.exe, иногда не срабатывает и появляется диалог о неподписанности драйвера.

Если вы используете мультизагрузочный диск (с несколькими дистрибутивами), то при добавлении драйверов у вас не должно быть пробелов в SourcePath (название каталога, расположенного в корне носителя и содержащего дистрибутив). Например, не будет работать:

CD:\XP Pro\$OEM$\Drivers\nVidia ForceWare 77.72\

Замените пробел в XP Pro на какой-нибудь символ и

CD:\XP-Pro_A\$OEM$\Drivers\nVidia ForceWare 77.72\

будет работать.

Вы можете спокойно подправить файл Drivers.cmd под свои нужды (поменять пути, названия файлов и т.д.). Если вы не хотите держать файлы Drivers.cmd, nircmd.exe, Process.exe, SetupCopyOEMInf.exe, WatchDriverSigningPolicy.exe в корне директории $OEM$, то можно переместить их, например, в каталог $OEM$\Drv. В таком случае внутри этой папки нужно создать еще одну папку Drivers, в которой будут лежать незапакованные драйверы и не забыть поменять путь до файла Drivers.cmd в файле winnt.sif в строке Arguments: (%I$OEM$) на (%I$OEM$\Drv).

Автор: Вадим Стеркин aka Vadikan, EgOrus  •  Иcточник: unattended.oszone.net  •  Опубликована: 01.03.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
11.09.2010/21:21  the_doom

пробовал данный метод для интеграции в Win XP engliash x64
не срабатывал WatchDriverSigningPolicy.exe
в итоге пришлось сделать свой при помощи программы
InqSoft Sign 0f Misery
скрипт такой
1. метка 0
2. ожидать появления окна с указанным заголовком
"Security Alert - Driver Installation"
3. найти дочернее окно по тексту в заголовках этого и внешнего окна
"Security Alert - Driver Installation"
"Yes"
4. послать окну сообщение "Нажать"
5. переход к метке 0 (безусловный)
параметры скрипта - не показывать окно скрипта и запускать только одну копию скрипта
теперь сообщения о неподписанных драйверах исчезают не успев появиться.
Комментарии отключены. С вопросами по статьям обращайтесь в форум.