Создание типового файла ответов

Введение

В данной статье будет рассмотрено, как при помощи Windows AIK создать типовой файл ответов, который может полностью автоматизировать процесс развертывания Windows 7.

Постановка задачи

В нашем сценарии мы создадим файл ответов, который должен будет полностью автоматизировать процесс развертывания ОС Windows 7 Professional 64-bit. При этом он должен полностью автоматизировать развёртывание системы, а помимо этого - настроить следующие параметры системы:
Язык системы: русский, раскладка клавиатуры по умолчанию – английская.
Разбивка жесткого диска на разделы: три основных раздела, один 100 мегабайтный раздел System Reserved, второй 30-гигабайтный раздел для операционной системы, и третий, занимающий все оставшееся дисковое пространство. Все эти разделы должны иметь файловую систему NTFS
Данные о пользователе: имя пользователя – Львов Никита, организация – МГУПИ, каф.ПР-7
Прочие параметры: стартовая страница IE9 – http://mgupi-it.ru, включить блокировку всплывающих окон, включить автоматическую установку обновлений, включить рабочее сетевое размещение.

Сценарий

Первым шагом в создании файла ответов будет подготовка среды.
В качестве среды для технического компьютера лучше всего использовать х86 версию Windows 7, и установить на нее Windows Automated Installation Kit, который можно скачать по этой ссылке.
Использование х64 системы может привести к ограничению функциональности Windows SIM (так, при переиндексации образа может произойти ошибка, и будет невозможно создать\обновить файл каталога)
После того, как Windows AIK установлен, необходимо вставить дистрибутивный диск в DVD-дисковод, либо иным образом сделать доступным дистрибутив операционной системы, которую вы планируете развернуть с использованием файла ответов.
После этого скопируйте все содержимое дистрибутива на жесткий диск, например в папку D:\DISTRIB
На этом подготовка завершена.
Теперь выполним оптимизацию образа. Поскольку в нашем сценарии планируется развертывание системы Windows 7 Professional, то можно удалить из установочного образа другие редакции операционной системы.
Для этого, откроем окно командной строки от имени администратора, и выполним следующую команду
Imagex /info D:\DISTR\sources\install.wim /xml > D:\windows.xml
Как вы уже знаете из соответствующей статьи, данная команды выполняет вывод сведений об install.wim в файл info.xml. После чего его можно открыть в браузере Internet Explorer для подробного изучения.

Internet Explorer как xml-вьювевер хорош возможностью сворачивать и разворачивать вложенные теги.
Таким образом, вы видите, что в WIM-файле есть четыре образа. Из них третий по списку содержит нужную нам Professional-редакцию. Поэтому, имеет смысл удалить «ненужные»
Это можно сделать путем ввода следующих команд (подразумевается, что командная строка запущена от имени администратора, а текущим каталогом является D:\DISTR)
Ren install.wim inst.wim
Imagex /export inst.wim 3 install.wim
Del inst.wim
Таким образом, оригинальный файл install.wim переименовывается, далее из него экспортируется образ с Windows 7 Professional (в файл install.wim), а далее исходный образ удаляется. Таким образом, в файле install.wim остается только один образ, притом он полностью оптимизирован после экспортирования.
Также существует другой способ – последовательное выполнение команд imagex /delete install.wim 1 в течение трех раз, а после – выполнение команды imagex /delete install.wim 2
Данный подход проще, но в то же время, он неэффективен с точки зрения экономии дискового пространства, поскольку не производится оптимизация и переиндексация образа.
Итак, у нас есть оптимизированный файл install.wim, содержащий один единственный образ с Windows 7 Professional.
Теперь нужно удалить из каталога D:\DISTR\sources ставшие ненужными файлы каталога.
После чего, можно открыть Windows System Image Manager. Там мы открываем нужный нам WIM-файл, выполнив команду «Выбрать образ Windows» из контекстного меню области «Образ Windows». Поскольку в данном WIM-файле содержится всего лишь один образ, и в папке \sources нет файлов каталога, то сразу будет предложено создать новый файл каталога. Данный процесс будет продолжаться в течение 20-30 минут, в зависимости от производительности жесткого диска. Он протекает следующим образом. Выбранные образ подключается к временной папке, выполняется анализ содержимого образа и индексация компонентов, далее выполняется отключение образа и очистка временной папки. Обратите внимание, что данный метод индексации отличается от того, что используется при оптимизации WIM-файла, так как WIM-индексация выполняется на уровне файлов, а индексация при создании файла каталога выполняется на уровне компонентов системы, и таким образом CLG-файлы хранят в себе список доступных компонентов для файла ответов.
Так вот, после того, как будет создать файл каталога, образу будет открыт в Windows SIM
Далее нужно выполнить команду «Создать файл ответов» из контекстного меню области «Файл ответов». Будет создан новый пустой файл ответов с семью проходами установки.
Для того, чтобы добавить компонент к файлу ответов, необходимо щелкнуть его правой кнопкой мыши, и выбрать проход установки в контекстном меню.
Обратите внимание, что для некоторые компоненты добавляют в файл ответов так называемые множественные свойства, которые можно создать из контекстного меню в области «Файл ответов» после того, как этот компонент добавлен в файл ответов. Пример таких множественных свойств – создание разделов на диске, а также учетных записей пользователей.
Далее, нужно добавить в файл ответов компоненты(в проход Windows PE), и настроить их следующим образом:
1. amd64_Microsoft-Windows-International-Core-WinPE\SetupUILanguage
UILanguage=ru-RU
2. amd64_Microsoft-Windows-International-Core-WinPE
InputLocale=en-US
SystemLocale=ru-RU
UILanguage=ru-RU
UserLocale=ru-RU
Эти параметры указывают, что необходимо использовать русский язык в качестве языка системы и пользовательского интерфейса, а в качестве раскладки клавиатуры по умолчанию – английскую.
3. amd64_ Microsoft-Windows-Setup\DiskConfiguration\ Disk
DiskID=0
WillWipeDiks=True
Данные параметры используют самый первый жесткий диск, подклюенный к компьютеры, в качестве диска для разбиения, а также указывают, что он должен быть очищен от существующих разделов и данных перед выполнением всех операций
4. amd64_ Microsoft-Windows-Setup\DiskConfiguration\CreatePartitions
Вставляем три множественных свойства, CreatePartition

CreatePartition
Order=1
Size=100
Type=Primary

CreatePartition
Order=2
Size=30720
Type=Primary

CreatePartition
Order=3
Extend=True
Type=Primary

Эти параметры создают на диске три основных раздела файловой системы NTFS, первый с размером в 100 Мб, второй – 30Гб, а третий занимает на диске все оставшееся пространство(за это отвечает параметр Extend)
5. amd64_ Microsoft-Windows-Setup\DiskConfiguration\ ModifyPartitions
Вставляем три множественных свойства ModifyPartition

ModifyPartition
Order=1
PartitionID=1
Active=true
Format=NTFS
Label=System Reserved

ModifyPartition
Order=2
PartitionID=2
Active= false
Format=NTFS
Label=Windows

ModifyPartition
Order=3
PartitionID=3
Active=false
Format=NTFS
Label=Data

Эти параметры настраивают созданные в CreatePartition разделы. Настроенные в ModifyPartition параметры применяются к тому разделу, который имеет тот же Order, что и соответствующее свойство ModifyPartition. Таким образом, свойство order можно представить в виде ключевого.
6. amd64_Microsoft-Windows-Setup\ImageInstall\OSImage\InstallTo\InstallTo
DiskID=0
PartitionID=2
Данные свойства указывают физический диск и раздел, куда будет установлена операционная система
7. amd64_Microsoft-Windows-Setup\UserData
AcceptEula=True
FullName=Львов Никита
Organization= МГУПИ, каф. ПР-7
Данные параметры отвечают за принятие лицензионного соглашения, а также за имя пользователя и организацию, на которую зарегистрирована система.
8. amd64_Microsoft-Windows-Setup\UserData\ ProductKey
key=<допустимый_ключ_продукта>
В данном свойстве вводится ключ продукта. Если же вы не хотите его вводить при установке, то можно присвоить свойству WillShowUI значение Never
Проход Windows PE настроен. Далее нужно перейти к проходу Specialize. В нем будут настроены параметры Internet Explorer. Для настройки стартовой страницы нужно добавить компонент Microsoft-Windows-IE-InternetExplorer, и присвоить значению свойства Home_Page значение URL стартовой страницы, в нашем случае http://mgupi-it.ru. Также имеет смысл задать значение свойства BlockPopups равным Yes. И самой полезной, на мой взгляд опцией, является свойство DisableFirstRunWizard, которое отключает «назойливый» мастер, отображающийся при первом запуске Internet Explorer. Также можно настроить имя компьютера, задав значние свойства CompureName в компоненте amd64_Microsoft-Windows-Shell-Setup
И последним проходом установки, от которого зависит автоматизация установки, является проход oobeSystem. Для него нужно добавить следующие компоненты:
1. amd64_Microsoft-Windows-Shell-Setup
Там настраивается часовой пояс и некоторые другие параметры
TimeZone=Russian Standard Time
RegisteredOrganization=МГУПИ, каф. ПР-7
RegisteredOwner=Львов Никита
DisableAutoDaylightTimeSet=true
2. amd64_Microsoft-Windows-Shell-Setup\OOBE
HideEULAPage=true
ProtectYourPC=3
HideWirelessSetupInOOBE=True
NetworkLocation=Work
Данные опции отвечают за сетевое размещение, параметры установки обновлений, а также за принятие лицензионного соглашения, избавляя администратора от рутинных операций в режиме OOBE
3. Теперь осталось настроить последний параметр – учетные записи. Так как есть возможность создания нескольких учетных записей, то для их настройки используются множественные свойства.
amd64_Microsoft-Windows-Shell-Setup\LocalAccounts\ LocalAccount
Group=Administrators
Name=User
DisplayName=Пользователь
4. amd64_Microsoft-Windows-Shell-Setup\LocalAccounts\ LocalAccount\Password
Value=”password”
Данный компонент задает пароль для учетной записи. Обратите внимание, что он хранит пароль в зашифрованом виде, тем не менее, стоит обеспечить хранилища файлов ответов, так как есть возможность их расшифровки.
На этих параметрах завершается создание файла ответов. Такой файл ответов полностью автоматизирует процесс развертывания операционной системы.
Расположение файла ответов
Как вы уже знаете, программа установки выполняет поиск файла ответов в следующих расположениях:
• Путь, указанный в значениистрокового параметра UnattendFile в кусте реестра HKLM\System\Setup в Windows PE.
• Просматривается содержимое папки %WINDIR%\Panther\Unattend в файловой системе Windows PE на предмет нахождения файла Autounattend.xml
• Просматривается содержимое папки %WINDIR%\Panther (в этой папке кэшируется использованный файл ответов перед перезагрузкой компьютера)
• Выполняется поиск файла Autounattend.xml на съемных носителях
• Выполняется поиск файла Autounattend.xml в папке %SYSTEMDRIVE%
Таким образом, если вы выполняете развертывание системы без редактирования образа, используя только файл ответов, то вам придется использовать дискету либо флэш-накопителя для хранения файла ответов. Согласитесь, что данный подход неудобен, особенно в крупных сценариях для распределенного развертывания, когда вам нужно развернуть систему в распределенной сети филиалов, и сделать это так, чтобы развертывание прошло автоматически, без участия конечного пользователя.
Задача ставится таким образом, что вам нужно поставить в филиал дистрибутивный DVD-диск, который бы выполнял развертывание автоматически, без участия пользователей и без использования дополнительных носителей.
В таком случае становится ясно, что единственным вариантом остается добавление файла ответов на сам диск.

Помещение файла ответов на дистрибутивный DVD-диск

Из предыдущего сценария мы имеем, оптимизированный образ той редакции операционной системы, которую требуется развернуть, а также файл ответов, содержащий все необходимые параметры для автоматической установки, а также другие параметры, если это требуется.
В продолжении сценария, поместите файл ответов в корень папки D:\DISTRIB, и присвойте ему имя Autounattend.xml. теперь нужно воздать загрузочный образ из имеющихся файлов. Для этого необходимо записать туда загрузочный сектор, который отличается от того , который создается на жестком диске и флэш-накопителе. Для этого в состав пакета Windows Automated Installation Kit включено средства oscdimg.exe и etfsboot.com
Первое представляет собой программу для создания образа, второе – файл загрузчика.
Для начала скопируем файл загрузчика в удобное вам расположение, выполнив команду
Copype.cmd amd64 D:\PE
После этого, можно приступать к созданию загрузочного ISO-образа. Для этого выполним команду
Oscdimg –n –m –bD:\PE\etfsboot.com D:\DISTR D:\Windows7Pro.iso
Будет выполнено создание образа на основе папки D:\DISTR с использованием загрузчика etfsboot.com, в файл D:\Windows7pro.iso
Если записать этот образ на диск, и загрузить с него компьютер, то начнется автоматизированный запуск программы установки, которая не будет задавать вопросов пользователю, а сразу выполнит разметку дисков и установку системы. После перезагрузки работа в режиме OOBE также будет проходить в автоматическом режиме, даже если вы извлечете диск из дисковода, так как файл ответов будет кэширован в специальную папку. После завершения работы OOBE будет отображено окно входа в систему, либо вход будет выполнен автоматически, если пароль для учетной записи не был задан в файле ответов.

Заключение

В данной статье было рассмотрено, как использовать файл ответов для автоматизации развертывания, а также использовать недокументированные возможности архитектуры программы установки для выполнения более эффективного развёртывания с помещением файла ответов в корень установочного диска.
Однако, не стоит использовать эту инструкцию как план для развёртывания. Выполнение тонкой настройки системы через файл ответов – процедура долгая и сильно сопряжённая с риском сбоя при установке, не говоря уже о трудностях при автоматизации развертывания системы вместе со сторонним ПО.
Файл ответов эффективно использовать для того, чтобы программа установки разбивала диски на разделы, и «не задавала лишних вопросов» приразвертывании, но не более. Для решения более сложных задач можно использовать архитектуру образов WIM, о чем будет рассказано в следующей статье.