Установку драйверов можно производить как с USB-, так и с установочного DVD-диска. Для того чтобы подготовить установку драйверов с диска, требуется чуть больше времени, чем для их интеграции в системный образ. Кроме того, необходимо понять, для чего нужны те или иные подготовительные действия.
На этой странице
Краткое описание установки драйверов с USB- или DVD-диска
В этой статье описан процесс установки драйверов во время прохода 1 windowsPE. Поведение Windows PE корректируется таким образом, чтобы в ней запустился командный файл, задающий особую переменную среды. Эта переменная среды будет соответствовать букве диска, на котором расположены драйверы. А в файле ответов с помощью этой переменной будет заранее задан путь к папке с драйверами. Остальное возьмет на себя программа установки Windows Vista.
Преимущества и недостатки описанного в статье способа
Недостаток у этого способа установки драйверов один. Все подготовленные вами драйверы во время установки будут помещены в хранилище драйверов Windows Vista вне зависимости от того, установлены в системе соответствующие им устройства или нет. Поэтому длительность установки операционной системы увеличивается. Такое поведение заложено в программу установки Windows Vista.
Что же касается преимущества по сравнению с интеграцией драйверов, то оно проявляется при размещении драйверов на USB-диске, поскольку при изменении их комплекта не понадобится заново создавать ISO-образ и прожигать его на DVD-диск.
Размещение драйверов
Драйверы могут находиться в любой папке USB- или DVD-диска. В этой статье используется папка C:\VistaWork\DVD\Drivers, т. е. драйверы размещаются в папке Drivers, находящейся в корне установочного диска. Если вы разместите папку с драйверами не в корне диска, вам понадобится скорректировать путь, указываемый в файле ответов.
Внутри папки Drivers вы можете размещать драйверы как угодно - они могут находиться в корне папки или в собственных подпапках. Создав вложенные папки, вы зададите порядок установки драйверов. Другими словами, сначала будут установлены драйверы из первой вложенной папки, затем из второй и так далее. Напоминаю, что для установки требуются распакованные драйверы (INF-файлы). Если вы используете пакеты драйверов с сайта DriverPacks.net, вы можете просто распаковать пакеты из архивов в папку Drivers.
Параметры файла ответов
К вашему файлу ответов AutoUnattend.xml необходимо добавить параметры, которые зададут путь к папке с драйверами. Добавьте к проходу 1 windowsPE компонент Microsoft-Windows-PnpCustomizationsWinPE | DriverPath | PathandCredentials и укажите для него параметры.
- Path - путь к папке с драйверами. В данном случае используется переменная %DiskRoot%, обеспечением работы которой мы займемся далее.
- Key - порядковый номер папки. Вы можете указать несколько папок с драйверами путем добавления нескольких компонентов PathandCredentials. В этом случае вы указываете порядок обращения к ним с помощью параметра Key. Нумерация начинается с единицы.
Больше никаких изменений в файле ответов не производится, поэтому вы можете его сохранить.
Создание файла DiskRoot.txt
В корне диска, на котором размещены драйверы (т. е. USB- или установочного DVD-диска), создайте пустой текстовый файл DiskRoot.txt. Этот файл понадобится для идентификации диска с драйверами. Возможно, вы уже создали этот файл ранее, выполняя инструкции других статей сайта.
Подключение образа Windows PE (boot.wim)
Процедура подключения образа уже рассматривалось в других статьях, поэтому здесь я приведу только команду для подключения.
imagex /mountrw C:\VistaWork\DVD\sources\boot.wim 2 C:\VistaWork\Mount
Дополнительную информацию о команде вы можете найти здесь. В данном случае подключение загрузочного образа Windows PE необходимо для добавления в него двух файлов.
Создание файла SetDiskRoot.cmd
Файл SetDiskRoot.cmd понадобится для задания переменной %DiskRoot%, соответствующей букве диска, на котором размещены драйверы. В принципе, процедура аналогична той, что описана в статье Создание переменной среды, соответствующей букве установочного диска. Однако в данном случае переменная нужна на проходе 1 windowsPE. Более того, она будет существовать только во время этого прохода.
В подключенном системном образе перейдите в папку Windows и создайте в ней папку Scripts. В этой папке создайте файл с именем SetDiskRoot.cmd, содержащий следующий код:
@ECHO OFF
SET DiskRoot=NULL
:SearchDiskRoot
FOR %%i IN (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%i:\DiskRoot.txt SET DiskRoot=%%i:
IF NOT "%DiskRoot%"=="NULL" GOTO StartSetup
GOTO SearchDiskRoot
:StartSetup
ECHO DiskRoot=%DiskRoot%
X:\setup.exe
Этот файл осуществляет поиск файла DiskRoot.txt на всех дисках. После обнаружения файла создается системная переменная %DiskRoot%, значением которой является буква диска, на котором размещен файл.
Примечание. Не добавляйте в конце файла команду EXIT или маркер EOF, иначе Windows PE завершит свою работу до запуска программы установки Windows Vista.
Создание файла winpeshl.ini
Стандартной оболочкой Windows PE является командная строка. Однако можно задать собственную оболочку при помощи файла winpeshl.ini, указав в нем командный файл или программу для запуска. В нашем случае из файла winpeshl.ini будет вызван файл SetDiskRoot.cmd для исполнения содержащейся в нем команды.
Скопируйте приведенный ниже код в любой текстовый редактор.
[LaunchApp]
AppPath=%SystemRoot%\Scripts\SetDiskRoot.cmd
Сохраните файл в папке Windows\System32 подключенного образа с именем winpeshl.ini, заключая имя файла и расширение в кавычки во избежание создания текстового документа вместо INI-файла.
Результат произведенных действий
Давайте посмотрим, что произойдет в результате произведенных действий. На первом проходе запускается Windows PE. Поскольку мы задали для нее собственную оболочку в файле winpeshl.ini, будет исполнен файл SetDiskRoot.cmd. Этот файл найдет в корне диска с драйверами файл DiskRoot.txt и назначит для среды Windows PE переменную %DiskRoot%, соответствующую букве диска. Поскольку в файле ответов указан путь к папке с драйверами в виде %DiskRoot%\Drivers, они будут найдены и установлены.
Теперь необходимо сохранить системный образ.
Сохранение образа Windows PE
Для сохранения образа также требуется одна команда:
imagex /unmount /commit C:\VistaWork\Mount
Подробнее она рассматривалась здесь.
Заключение
Подготовить процесс установки драйверов с USB- или DVD-диска несколько сложнее, чем интегрировать драйверы в системный образ. Кроме того, процесс установки операционной системы займет больше времени, чем при интеграции драйверов. Однако этот способ более управляем, если драйверы размещаются на USB-диске. В статье также затрагивается вопрос выполнения собственных скриптов в предустановочной среде Windows PE, что может вам пригодиться для решения других задач.