WAIK: боекомплект для создания своей сборки Windows
Сергей «grinder» Яремчук (grinder@ua.fm, )
Сборками Windows сегодня трудно кого-либо удивить. Их используют все – как обычные пользователи, так и администраторы, которым необходим более удобный способ для развертывания системы. Но одно дело брать то, что есть, в последствии дорабатывая под свои нужды и рискуя попасть на карандаш, а другое — сделать все самому. Тем более, что варезная сборка является нарушением лицензии и не приемлема в серьезной корпоративной среде.
Содержание:
- Пакет автоматической установки WAIK
- Работаем с образом
- Создаем файл ответов
- Настройка параметров Windows
- Заключение
- Боковые выносы
Пакет автоматической установки WAIK
Для создания своего образа системы Microsoft предлагает пакет автоматической установки Windows (AIK), который можно свободно скачать с сайта корпорации. Его основная задача — упрощение установки, настройки и развертывания всего семейства операционных систем Windows, включая Vista и Windows Server 2008. Для выполнения этих задач в комплект WAIK входят все необходимые инструменты:
- среда Microsoft Windows Preinstallation Environment (WinPE) — небольшая загрузочная версия Vista, которая может загружаться в ОЗУ и является основой при развертывании ОС;
- инструменты WAIK, основными из которых являются ImageX и Диспетчер образов системы Windows;
- Windows Deployment Services (WDS) – новая версия среды централизованного развертывания, заменившая RIS;
- подробная техническая документация.
Консольная утилита ImageX позволяет монтировать и редактировать WIM-образы (Windows Image) ОС, а Диспетчер образов (Windows System Image Manager) является удобным инструментом для создания файлов ответов в новом формате. Файлы ответов содержат описания основных настроек, позволяя максимально автоматизировать процесс установки Windows без участия пользователя.
Для новичков знакомство с процессом создания своего дистрибутива следует начинать с чтения официальной документации. Она очень подробная, и ее достаточно, чтобы разобраться в большинстве возникающих на первых порах вопросов. В зависимости от ОС, которую планируется развертывать, следует подбирать и версию WAIK. В нашем случае — это «Пакет автоматической установки (AIK) для Windows Vista с пакетом обновления 1 (SP1) и Windows Server 2008″. При закачке выбираем русскоязычный вариант. Обслуживающий компьютер, на который будет установлен пакет Windows AIK, может работать по управлением любой версии Windows, начиная с WinXP SP2.
Самое главное — самостоятельная сборка своего дистрибутива при помощи WAIK не является нарушением лицензии. Более того, без него не обойтись при массовом развертывании систем при помощи службы WDS (Windows Deployment Services). Естественно, речь идет не о варезе, а только об использовании лицензионных компонентов.
Для удобства некоторых настроек нам может понадобиться программа , которая поддерживает все окна (до Vista) и позволяет при помощи графических меню упростить интеграцию в дистрибутив пакетов обновлений, драйверов, устройств, произвести первоначальную настройку служб и многое другое.
Записываем образ на DVD-диск и устанавливаем WAIK, выбрав пункт «Установка Windows AIK», после чего следуем указаниям мастера установки. По умолчанию все компоненты будут скопированы в C:\Program Files\Windows AIK. Следует учитывать, что для WAIK потребуется около 1.1 Гб свободного места (если места недостаточно, мастер сразу же предупредит об этом). Также некоторое место потребуется для драйверов, патчей, программ, полученного ISO-образа и временных файлов.
После установки в меню Пуск появится соответствующий пункт, в котором находим ссылки на документацию и некоторые утилиты. Консоль, вызываемая при помощи «Утилиты командной строки Windows PE», включает пути к различным командам WAIK, в ней мы будем производить основные действия. Здесь же есть ссылка для запуска Диспетчера образов системы Windows (Windows System Image Manager, Windows SIM).
Чтобы изменить имеющийся образ, его следует смонтировать при помощи ImageX и отредактировать. Хотя кому-то, возможно, покажется, что проще это сделать при помощи Windows SIM.
Для начала создаем каталог, куда впоследствии будем монтировать образ, например D:\Temp. Здесь следует помнить, что подключать WIM-файл желательно только в разделе с файловой системой NTFS. Это позволит не обращать внимания на 2 Гб барьер и предотвратить возможную потерю данных/атрибутов (например права доступа) при использовании FAT32. Теперь переходим в каталог Sources на DVD-диске и копируем файл install.wim на жесткий диск. Открываем консоль WinPE и монтируем образ в D:\Temp:
PETools> imagex /mountrw d:\install.wim 1 d:\temp Mounting (RW): [d:\install.wim, 1] -> [d:\temp]
Параметр /mountrw позволяет монтировать образ в режиме чтение-запись. В том случае, если нужно просто просмотреть файлы внутри образа, без их редактирования, используем /mount. Утилита поддерживает и ряд других параметров, чтобы их увидеть, достаточно ввести imagex без дополнительных ключей. Добавив /?, узнаем больше по выбранному параметру. Образ можно подключить только в WinXP SP2, Win2k3 SP1 или Vista. Весь процесс «общения» с WIM-образом происходит при помощи драйвера фильтра WIM FS (Windows Imaging File System Filter). Только после его установки в смонтированный образ можно будет заходить через Проводник для просмотра, копирования, вставки или изменения образов томов. Нужный драйвер уже входит в комплект WAIK. Для его установки переходим в каталог Tools\x86 (или ia64, в зависимости от версии Vista), выбираем файл wimfltr.inf и в контекстном меню пункт Установить.
Еще один момент, требующий пояснения, — это цифра 1 в команде. Дело в том, что в образе Vista и Win2k8 содержится несколько версий системы, отличающихся друг от друга набором функций. Вот этой цифрой мы и задаем вариант ОС, с которым будем работать дальше. Для того чтобы узнать нужный номер, необходимо использовать ключ /INFO команды imagex.
PETools> imagex /INFO d:\install.wim
…
<IMAGE INDEX=»1″>
<NAME>Windows Vista BUSINESS</NAME>
…
<IMAGE INDEX=»2″>
<NAME>Windows Vista HOMEBASIC</NAME>
Как видим, номеру 1 соответствует версия Business, 2 – HomeBasiс и т.д.
Теперь, перейдя в каталог, в который смонтирован образ, ты увидишь обычную структуру файлов, принятую в Vista — Program Files, Windows… Кстати, не забудь активировать опцию показа скрытых и системных файлов.
Для интеграции в образ доступных драйверов, обновлений и языковых пакетов (в формате MSU) используется команда peimg. Процесс очень прост. Например, драйвера интегрируются при помощи ключа /inf. Первым делом сохраняем все inf-файлы в один каталог (например, d:\driver), а затем даем команду:
PETools> peimg /inf=d:\driver\*.inf /image=d:\temp\windows
В результате будут внедрены все драйвера, находящиеся в исходном каталоге. Хотя можно, конечно, устанавливать каждый драйвер отдельно.
Файлы MSU интегрируются в образ несколько иначе. Для начала при помощи expand распаковываем MSU-файл. Команда выглядит так: «expand.exe <путь к MSU> -F:* <итоговый каталог>«. Параметр ‘-F’ указывает на файлы, которые нужно извлечь из архива. Он позволяет использовать регулярные выражения, в нашем примере будут извлечены все файлы. Например:
PETools> expand Windows6.0-KB957055-x86.msu -F:* d:\update
В результате выполнения команды в каталоге d:\update получим ряд файлов: cab, xml и текстовый. Теперь импортируем полученный cab-файл:
PETools> peimg d:\temp\windows \ /import=d:\update\Windows6.0-KB957055-x86.cab
После этой команды обновления импортированы, но не установлены. Для их установки следует использовать параметр /install.
PETools> peimg /install=Windows6.0-KB957055-x86.cab \ d:\temp\windows
Вместо полного имени пакета можно использовать регулярные выражения, в этом случае будут установлены все пакеты, попадающие под описание. Повторяем эти действия для каждого обновления. Проверить список обновлений можно при помощи параметра /list:
PETools> peimg /list /image=d:\temp\windows
Исполняемые файлы распаковать нельзя, поэтому устанавливать их нужно при помощи файла ответов, речь о котором пойдет ниже.
После того, как внесены все изменения, следует размонтировать образ, указав при помощи ключа /commit на необходимость сохранения всех изменений.
PETools> imagex /unmount /commit d:\temp
Тем, кому лениво вводить команды, могу порекомендовать графическую утилиту , являющуюся надстройкой над ImageX. В GImageX реализованы все необходимые функции по работе с WIM-образом — монтирование, размонтирование, получение информации и прочее.
Еще одна свободно распространяемая программа — — позволяет в удобном виде интегрировать в WIM-образ драйвера, обновления, языковые пакеты, а также создавать загрузочные ISO. Для ее установки требуется Microsoft .NET Framework 3.5.
Итак, образ у нас уже есть, но его использование никакого выигрыша пока не дает. Пользователю, как и ранее, придется отвечать на вопросы, задаваемые системой по ходу установки. Чтобы максимально автоматизировать процесс, следует создать файл ответов, в котором задать различные параметры установки, в том числе и сведения о ключе продукта, разделах, учетных записях, настройках IE и т.д. После этого будет возможна полностью автоматическая установка системы.
В предыдущих версиях Windows приходилось работать с несколькими типами файлов ответов. Используемые при развертывании Vista XML-файлы только на первый взгляд кажутся менее понятными, на самом деле они устроены более логично, нежели их текстовые предшественники. Большую часть установок можно разместить в одном файле ответов Unattend.xml. В подкаталоге Samples, который находится в каталоге, где установлен WAIK, можно найти несколько примеров таких файлов. Информация о настройках для конкретного образа хранится в бинарных clg-файлах (Windows catalog). Пример такого файла можно подсмотреть в каталоге Sources установочного диска.
Вполне естественно, что новые форматы потребовали и новых инструментов. Для создания файла ответов и clg-файлов Vista на замену Диспетчеру установки (Setup Manager) пришел Диспетчер образов (Image Manager).
Итак, приступаем к созданию нужных файлов. Вызываем Диспетчер образов, затем в меню Файл пункт «Выбрать образ Windows» (Windows Image) и указываем на редактируемый ранее install.wim, находящийся на жестком диске. В появившемся диалоговом окне выбираем нужный образ, последует запрос на создание clg-файла каталога, связанного с образом, подтверждаем нажатием Да, после чего образ будет смонтирован. Этот процесс занимает некоторое время, по окончании которого в окне Диспетчера образов появятся компоненты выбранной системы.
Теперь щелкаем «Файл – Новый файл ответов» (New Answer File), если диспетчер найдет ассоциированный файл ответов, последует запрос на его сохранение. В панели «Файл ответов» (Answer File) появятся подразделы Components и Packages. В Components находим встроенные приложения Vista, которые можно выбирать при установке системы (IE, Media Player и т.д.), здесь уже находится несколько элементов (windowsPE, offlineServicing, generalize, specialize, auditSystem, auditUser и oobeSystem). А Packages содержит все, что не входит в поставку системы: драйвера, обновления, языковые пакеты, которые можно подключить к образу, по умолчанию дополнительных пакетов в образе нет.
Параметры доступных компонентов и пакетов можно увидеть в панели Образ Windows (Windows Image). Обрати внимание, что некоторые из них имеют подэлементы. Если отметить любой из объектов, в окне Свойства появятся доступные для редактирования настройки, в зависимости от выбранного элемента они будут отличаться.
К сожалению, кроме «Краткого руководства по построению файлов ответов» документации больше никакой нет, четкого описания по всем возможным настройкам не приведено. При выборе некоторых пунктов в выпадающем списке и в строке внизу показывается список допустимых значений. Учитывая большое количество возможных настроек, далее пройдемся лишь по самым интересным из них.
Чтобы избавить пользователя от ввода лицензионного ключа, во время установки раскрываем список подэлеметов в x86_Microsoft-Windows-Setup (далее в имени следует несколько цифр, которые отличаются в зависимости от версии). Но если сразу перейти к свойствам, то увидим, что изменение параметров невозможно. Чтобы изменить настройки, вызываем контекстное меню, в котором выбираем пункт «Add Setting to Pass 4 specialize» (для некоторых компонентов он может быть другим). Можно добавлять сразу всю ветку параметров или отдельные подпункты. Последнее удобнее, так как в последствии можно легко разобраться, что уже было изменено. Стоит отметить, добавленный, но не измененный параметр вызовет предупреждение при проверке правильности файла ответов, а это затрудняет его анализ.
После этого действия выбранный параметр появится в панели «Файл ответов». Находим UserData, затем опять раскрываем и отмечаем ProductKey. Теперь в окне свойств в строке Key вводим серийный номер, а параметр WillShowUI при помощи раскрывающегося списка устанавливаем в Never. Новые настройки отмечаются жирным шрифтом. Возвращаемся в UserData и в AcceptEula ставим True, теперь при установке лицензионное соглашение будет приниматься автоматически. В XML-файле появится такая запись:
<UserData>
<ProductKey>
<Key>xxxx-xxxx-xxxx-xxxx</Key>
<WillShowUI>OnError</WillShowUI>
</ProductKey>
<AcceptEula>true</AcceptEula>
</UserData>
В параметрах FullName и Organisation указываем имя пользователя и организацию.
Если требуется автоматическая разметка диска, переходим в DiskConfiguration. Сначала следует добавить новый диск, выбрав в контекстном меню пункт «Вставить новый Disk», после этого появится подпункт Disk. Затем отмечаем CreatePartitions и в контекстном меню выбираем пункт «Добавить новый CreatePartitions». И уже в нем настройкой пунктов Extend, Order, Size и Type указываем параметры раздела. Аналогично добавляем и другие разделы.
Настройка параметров IE производится в компоненте x86_Microsoft-Windows-InternetExplorer. Переносим его при помощи контекстного меню в «Файл ответов», как описано выше. В корневом меню можно настроить блокировку всплывающих окон, параметр UserAgent и т.д. Здесь опять же несколько подвкладок. Домашняя страница, открываемая по умолчанию, настраивается в StartPages в параметре StartPageUrl, просто вводим сюда предпочитаемый URL.
Количество пакетов в Packages зависит от версии Vista. Открыв эту ветку, ты увидишь несколько групп: FeaturePack, Foundation, LanguagePack и Product. Группа Foundation является основой для установки Vista, а в Product находим пакет, который отвечает за версию, которая будет установлена.
Переносим выбранные группы в файл ответов, щелкнув в контекстном меню пункт «Добавление к файлу ответов» (Add to Answer File), и приступаем к редактированию.
Самым интересным является x86_Microsoft-Windows-Foundation-Package. Например, выбрав InboxGames, можно отключить все или некоторые встроенные игры. Для этого просто меняем флажок с Enabled на Disabled. А еще настроить IIS, включить некоторые компоненты (например, telnet) и многое другое.
Чтобы добавить в образ новый пакет, драйвер или команду, нужно выбрать пункт Вставка и указать на файл, который следует установить. Именно отсюда в будущую систему можно добавить программы и дополнения, поставляемые в виде исполняемых файлов. Командная строка выполняется в контексте SYSTEM или администратора с повышенными правами, в зависимости от текущего этапа настройки:
- windowsPE (настройка Windows) – контекст SYSTEM
- auditSystem – контекст SYSTEM
- auditUser – администратор с повышенными правами
- specialize – контекст SYSTEM
- oobetSystem – контекст SYSTEM
Выбираем «Вставка — Синхронная команда», этап настройки oobeSystem и вводим команду, используя шаблон. Например, systemdrive%\Hotfix\Windows6.0-KB936330-X86-wave1.exe. Не забываем создать в образе каталог Hotfix и положить туда нужный файл. После добавления в поле Description вносим описание. В XML-файле эта запись будет выглядеть так:
<SynchronousCommand wcm:action="add"> <CommandLine> %systemdrive%\Hotfix\Windows6.0-KB936330-X86-wave1.exe /Q </CommandLine> <Order>2</Order> <Description>Hotfix</Description> </SynchronousCommand>
Если таких файлов много, удобнее прописать к ним путь в текстовом файле и указать на него установщику, использовав нехитрую конструкцию вида:
cmd /c "FOR %i IN (C D E F G H I J K L N M O P Q R S T U V \ W X Y Z) DO IF EXIST %i:\AppsRoot.txt SETX AppsRoot %i: -m"
Обновлять версии ПО и добавлять новые программы в этом случае намного проще. Обязательно прогоняем установку, чтобы убедиться, что все проги ставятся. Другой вариант: позволить пользователю самому выбирать, что ставить, а что нет. Для этого применяем программы а-ля BS Post Installer (см. ).
Для проверки правильности файла ответов следует выбрать «Сервис — Проверка файлов ответов» (Validate Answer File). Если будут обнаружены ошибки, последует внятная подсказка во вкладке «Сообщения — Проверка».
По окончании работы сохраняем файл ответов, для этого в меню выбираем пункт «Сохранить файл ответов» (Save Answer File). Если хорошо изучить его структуру, то чтобы в дальнейшем добавить пару параметров, не придется прибегать к услугам «Диспетчера образов», достаточно вручную скопировать имеющуюся запись как шаблон. Готовые файлы ответов у сборщиков являются тайной за семью печатями, хотя в интернете можно найти несколько готовых примеров.
Теперь перезаписываем имеющийся системный диск, добавив к нему измененный WIM-файл и положив в корень диска файл ответов (как вариант, при установке можно использовать файл ответов с внешнего USB-устройства). Для этого используем программу oscdimq.exe из комплекта WAIK. Копируем установочный диск Vista в каталог d:\Vista, заменяем новый WIM-файл внутри и добавляем файл ответов. После чего даем в консоли команду:
PETools> оscdimg -u2 -bd:\Vista\Boot\etfsboot.com -lMyVista \ -h d:\Vista d:\MyVista.iso
Флаг ‘-u2′ задает для образа файловую систему UDF, ‘-b’ указывает на загрузочный файл, ‘-l’ выставляет метку, а ‘-h’ позволяет включить в образ все скрытые файлы и каталоги.
Для создания образов можно также использовать программу Vista Update Integrator или (надо сказать, эта программа не видит WAIK, установленный не на «свое» место).
Не смотря на то, что процесс создания своей версии системы выглядит немного сложновато, по мере накопления опыта все операции будут понятны, а готовые файлы настроек, скрипты и шаблоны еще больше упростят сборку дистрибутива.
INFO
-
Файл Oobe.xml используется для хранения текстов и изображений, служащих для настройки экрана приветствия Windows, центра начальной настройки и регистрации для доступа в интернет. Пример файла находится в каталоге Samples.
-
Пакет Windows AIK можно свободно скачать с сайта корпорации Microsoft.
-
Подробно о настройке Windows Deployment Services читай в X_06_2007.
WWW
-
Программа позволяет создавать загрузочные образы Windows.
-
Программу GImageX можно скачать по адресу .
-
— очень удобный инструмент, позволяющий интегрировать в WIM-образ драйвера, обновления, языковые пакеты, а также создавать загрузочные ISO.
-
создает файлы ответов онлайн.
-
Описание работы oobeSystem (Out-of-Box-Experience) — .
-
Список полезных программ найдешь на сайте OSzone — .
WARNING
-
Все действия необходимо производить в разделе с файловой системой NTFS.
Статья опубликована в январском номере журнала «Xakep» за 2009 год.






Все прикольно… ток почему картинки то WSUSа?? ))
oops… fixed, thx