Работа с программой установки setup.exe

Введение

В 90% сценариев развертывания вы используете программу setup.exe как графическое средство для настройки параметров установки и применения установочного образа к жесткому диску конечного компьютера. В то же время, setup.exe не является чисто графической утилитой. За интерфейсом, понятным даже ребенку, скрывается большое количество настроек и возможностей, которые можно использовать для повышения эффективности процесса развертывания.

Немного о процессе установки

В соответствующей статье было рассмотрено, как происходит установка Windows, если взглянуть на него «изнутри». Здесь будет рассказано об этом с другой точки зрения, как это видит администратор, а также о нескольких полезных, но малоизвестных функция программы установки. Будет рассматриваться запуск программы установки при загрузке с DVD-диска либо флэш-накопителя.
1. После того, как загрузится Windows PE, будет выполнен запуск setup.exe
2. Setup.exe выполнит поиск файла ответов.
Поиск выполняется в следующим порядке:
- Просматривается значение строкового параметра UnattendFile в кусте реестра HKLM\System\Setup в Windows PE. Если значение этого параметра представляет собой путь к файлу ответов, то в случае нахождения файла ответов по этому пути, этот файл ответов будет применяться при установке.
- Просматривается содержимое папки %WINDIR%\Panther\Unattend в файловой системе Windows PE на предмет нахождения файла Autounattend.xml
- Просматривается содержимое папки %WINDIR%\Panther (в этой папке кэшируется использованный файл ответов перед перезагрузкой компьютера)
- Выполняется поиск файла Autounattend.xml на съемных носителях, а также в корне установочного диска
- Выполняется поиск файла Autounattend.xml в папке %SYSTEMDRIVE%
Обратите внимание, что если файл ответов находится в расположении с большим приоритетом, чем кэшированный файл ответов, то кэшированный файл может быть перезаписан в начале каждого следующего этапа настройки, если внедренный файл ответов соответствует скрытому критерию поиска. Например, если файл ответов внедрен в %WINDIR%\Panther\Unattend\Unattend.xml, внедренный файл ответов будет заменять кэшированный файл ответов в начале каждого этапа настройки. Например, если во внедренном файле ответов указаны этапы specialize и oobeSystem, то найденный на этапе настройки specialize внедренный файл ответов будет кэширован и обработан, а также из него будут удалены все конфиденциальные данные. Внедренный файл ответов снова обнаруживается на этапе настройки oobeSystem и снова кэшируется. В результате конфиденциальные данные на этапе specialize больше не удаляются. Конфиденциальные данные ранее пройденных этапов больше не будут удаляться. Если замена кэшированного файла ответов не требуется, рекомендуется, чтобы файл ответов был внедрен в расположение с низшим приоритетом.
3. Будет отображен диалог выбора языка и региональных параметров. После этого будет предложено запустить установки Windows, либо же восстановление системы.
4. После выбора установки, будет отображен диалог выбора редакции устанавливаемой Windows. Если файл install.wim содержит в себе один образ, то этот диалог отображаться не будет, будет предложено принять лицензионное соглашение.
Фактически, вы выбираете, какой образ из файла install.wim будет применен к жесткому диску компьютера при установке.
5. Будет отображен диалог выбора типа установки (обновление, либо полная установка). При загрузке с DVD-диска обновление невозможно.
6. Следующим этапом установки будет разбиение жёсткого диска на разделы.
7. По нажатию кнопки «Далее» начнется процесс применения выбранного образа к указанному диску, после чего будут установлены дополнительные компоненты и драйверы (если они были включены в конфигурационный набор или образ), и выполнена перезагрузка компьютера. После этого вы можете вытащить установочный диск – фактически, применение образа к диску завершено, и все остальные операции могут быть выполнены без использования установочного диска.
Хотелось бы отметить одно очень полезное «пасхальное яйцо» программы установки. Если во время работы Windows PE(в любое время работы программы установки) нажать комбинацию клавиш Shift+F10, то будет открыто окно командной строки. Данная функция очень полезна, например, для того, чтобы выполнить разбивку жесткого диска на разделы с использованием diskpart, функционал которого несколько больше, нежели функционал графических средств программы установки. Наиболее распространенный пример – установка Windows на VHD, когда создание и подключение VHD выполняется с использованием diskpart. Также вы можете подключить сетевую папку как сетевой диск в Windows PE, для запуска программ либо переноса данных. Об ограничениях и возможностях Windows PE более подробно рассказано в соответствующей статье, здесь стоит добавить, что Windows PE, в которой запускается программа установки Windows не является «чистой» сборкой, а содержит в себе несколько пакетов для работы программы установки. Так вот, по умолчанию в «установочной» сборке Windows PE сеть не проициализирована (в «чистой» сборке сеть инициализируется на последнем этапе загрузки при помощи команды wpeinit). Таким образом, если ввести в окне командной строки команду ipconfig, то не будет выведено никакой информации о сетевом подключении, как будто на компьютере отсутствует сетевой интерфейс. Для того, чтобы задействовать сетевые возможности, необходимо ввести команду
wpeutil InitializeNetwork
После ее успешного выполнения, вы можете снова ввести ipconfig, и удостовериться, что сетевое подключение задействовано.(при условии того, что в сети работает DHCP-сервер, а также найден драйвер для вашего сетевого адаптера)
Итак, вернемся к процессу установки. После того, как образ был применен к жесткому диску компьютера, выполняется перезагрузка. Далее, система загружается с жесткого диска, и начинается процесс первой загрузки. При первой загрузке происходит установка драйверов, а также оценка производительности системы.
После этого, будет выполнен вход в режим OOBE(Out-Of-Box-Experience). OOBE – это режим, предназначенный для настройки уникальных пользовательских параметров. Для примера: когда вы покупаете новый компьютер и включаете его в первый раз, то вы попадаете как раз в режим OOBE.
Первым этапом настройки будет указание имени первой учетной записи, создаваемой в процессе установки, а также имени компьютера. Следующий этап – ввод пароля и подсказки пароля для создаваемой учетной записи. Обратите внимание, что создание пароля веб ввода подсказки к нему невозможно.
После этого предлагается ввести ключ продукта для установленного выпуска Windows. Это необязательно делать в процессе установки, и без этого система будет работать корректно в течение 30 дней (и еще можно 3 раза выполнить сброс счетчика активации)
Следующий этап – настройка параметров автоматического обновления, часового пояса, а также выбора сетевого расположения. Все эти параметры можно будет изменить в дальнейшем. После выбора сетевого расположения операционная система выполнит применение настроек к компьютеру, и будет выполнена еще одна перезагрузка. После нее будет выполнен первый вход пользователя в систему, и компьютер готов к работе.
Данный сценарий прост для выполнения, однако и он содержит в себе некое «пасхальное яйцо». Если при загрузке системы в режиме OOBE() вы нажмете комбинацию клавиш Shift+Ctrl+F3, то система перезагрузится, и будет выполнен вход в режим аудита. Режим аудита – это режим, предназначенный для тестирования системы и настройки системных параметров перед поставкой компьютера конечному потребителю, таким образом, вы можете установить на компьютер программное обеспечение и драйверы до того, как будут выполнены все необходимые настройки в режиме OOBE. О режиме OOBE вы найдете информацию в соответствующей статье.
Однако данный функционал программы установки, даже с использованием «пасхальных яиц» может показаться недостаточен для опытного пользователя. Поэтому, ниже будут рассмотрены возможности работы с программой установки из командной строки.

Аргументы командной строки setup.exe

Выполнение отладки ядра WindowsPE по порту IEEE 1394 (FireWire)
setup.exe [/1394debug:канал [baudrate:скорость]]
/1394debug:канал - Указание канала отладки. По умолчанию - 1
baudrate:скорость - Указывает скорость передачи данных в бодах, используемую для отладки. Значение по умолчанию равно 19200. Также может принимать значение 57600 или 115200.
Данная команда предназначена для запуска программы установки с отладкой. Используется, если установка выполняется некорректно и требуется выполнить отладку.
Пример:
setup.exe /1394debug:2 baudrate:115200
Выполняет отладку ядра по второму каналу со скоростью 115200 бод
Выполнение отладки ядра WindowsPE по порту COM
setup.exe /debug:канал [baudrate:скорость]]
/debug:канал - Указание канала отладки. По умолчанию - 1
baudrate:скорость - Указывает скорость передачи данных в бодах, используемую для отладки. Значение по умолчанию равно 19200. Также может принимать значение 57600 или 115200.
Данная команда предназначена для запуска программы установки с отладкой. Используется, если установка выполняется некорректно и требуется выполнить отладку.


Пример:
setup.exe /debug:2 baudrate: 57600
Выполняет отладку ядра по второму каналу со скоростью 57600 бод
Выполнение удаленной отладки по порту USB. Отладка данных вступает в силу при следующей перезагрузке.
setup.exe /usbdebug:имя_компьютера
имя_компьютера – имя компьютера, который необходимо отлаживать.
Запуск служб аварийного управления (EMS) при установке
setup.exe /emsport: {com1 | com2 | usebiossettings | off} [/emsbaudrate:скорость]]com1 - Использует EMS по порту COM1. Работает только в x86-системах.
com2 - Использует EMS по порту COM2. Работает только в x86-системах.
usebiossettings -Использует параметры, указанные в BIOS. Для систем с архитектурой x86 используется значение из таблицы SPCR (Serial Port Console Redirection). На Itanium - системах используется EFI (Extensible Firmware Interface).
off - Отключает EMS. Если службы EMS отключены в программе установки Windows, можно включить их в дальнейшем, изменив параметры загрузки.
[/emsbaudrate:скорость] - Указывает скорость передачи данных в бодах, используемую для отладки. Значение по умолчанию равно 19200. Также может принимать значение 57600 или 115200.
Включает или отключает службы аварийного управления (EMS) во время работы программы установки Windows и после выполнения установки (для Windows Server).
Пример:
setup.exe /emsport:COM1 /emsbaudrate:115200
Выполняет установку с включенными службами аварийного управления, по порту COM1, со скоростью 115200 бод
Установка с использованием стороннего установочного образа
setup.exe /installfrom:путь
путь – путь к стороннему установочному WIM-файлу
Выполняет запуск программы установки, при том в качестве источника используется указанный WIM-файл, и при выборе редакции Windows для установки отображаются образы, содержащиеся в нем. Очень актуально в сценариях сетевой установки без использования WDS.
Пример:
setup.exe /installfrom:D:\inst.wim
Выполянет установку ОС, с использованием установочного WIM-файла, расположенного по пути D:\inst.wim
Установка, с использованием стороннего конфигурационного набора
setup.exe /m:имя_папки
имя_папки - Указывает имя и расположение папки, содержащей конфигурационный набор
Выполняет запуск программы установки, при том используется указанный конфигурационный набор. Очень актуально в сценариях сетевой установки без использования WDS.
Пример:
setup.exe /m:D:\distr
Выполняет установку ОС, c использование конфигурационного набора, расположенного по пути D:\distr
Выполнение установки без автоматической перезагрузки компьютера. Блокируется только первая перезагрузка, далее же перезагрузки выполняются автоматически.
setup.exe /noreboot
Выполнение установки с хранением временных файлов в нестандартном расположении
setup.exe /tempdrive:буква_диска
буква_диска – указывается буква диска для хранения временных файлов
Выполнение установки с явным указанием пути к файлу ответов
setup.exe /unattend:файл_ответов
файл_ответов – полный путь к файлу ответов
Данная команда явно указывает, какой файл ответов будет использоваться для автоматизации и настройки развертывания. При этом автоматический поиск файла ответов не выполняется.
Выполнение установки с WDS-сервера с его автоматическим обнаружением.
setup.exe /wds /wdsdiscover
Выполнение установки с явно указанного WDS-сервера
setup.exe /wds /wdsdiscover /wdsserver:<WDS_сервер>
WDS_сервер – IP-адрес, NetBIOS, либо FQDN-имя WDS-сервера

Заключение

Выше были рассмотрены параметры командной строки программы установки setup.exe.
Возникает логичный вопрос – а когда их использовать? Во-первых, вы можете использовать их при запуске программы установки из-под работающей операционной системы, поддерживающей запуск программы установки setup.exe(особенно это актуально для указания параметра хранения временных файлов, поскольку по умолчанию они копируются на системный диск, а там может не оказаться места для них)
Во-вторых, только при помощи них вы можете выполнять отладку, в случае каких-либо сбоев
В-третьих, параметры обнаружения WDS полезны, если сетевой адаптер компьютера, на котором требуется развернуть Windows, не поддерживает PXE-загрузки, и по каким-то причинам не был создан обзорный образ. В таком случае, имеет смысл загрузить клиентский компьютер с «чистой» сборки Windows PE, и запустить из командной строки программу установки, указав в параметрах командной строки WDS-сервер.
И, наконец, параметры командной строки можно использовать в сценариях сетевой установки без WDS, когда клиентские компьютеры загружаться с Windows PE, а далее подключаются к сетевому ресурсу, откуда запускают программу установки setup.exe, и в качестве аргументов командной строки к ней указываются путь к файлу ответов, к установочному WIM-файлу, а также к конфигурационному набору. О данном сценарии будет более подробно рассказываться в соответствующей статье.