Блог ИТ склеротика. Инструменты Windows Automated Installation Kit

Страницы

Расширенный поиск в статьях блога

22 мая 2012 г.

Инструменты Windows Automated Installation Kit

В самом начале работы над Windows Vista, разработчики решили полностью изменить механизм установки новой ОС. Эта необходимость была вызвана сложностью самого процесса развертывания ОС, состоящего из многочисленных этапов, отнюдь не повышавших надежность установки в целом. Результатами работы стало появление образов в виде WIM-файлов и кардинальное изменение процесса развертывания ОС. Был переработан и комплекс средств, позволяющих проводить подготовку и автоматизированное развертывание операционных систем Windows. Пакет этих средств получил название WAIK (Windows Automated Installation Kit, набор автоматической установки). Он поставляется в виде обновления для Windows Server 2003, а его усовершенствованная версия включена в состав Windows Server 2008.

Состав платформы развертывания Windows
Состав платформы развертывания Windows

Из-за кардинальных изменений в архитектуре развертывания образов ОС Windows, значительно были переработаны и средства их автоматической установки, давайте более подробно рассмотрим компоненты и механизм их работы. Следует отметить, что Microsoft разработаны и другие средства развертывания ОС, например, Business Desktop Deployment (BDD) однако, в рамках этой статьи будет рассмотрен лишь пакет Windows Automated Installation Kit.

WAIK содержит все необходимые инструменты для управления WIM-образами:

  • Среда предварительной установки (Preinstallation Environment, Windows PE), в которой производится создание образов и их дальнейшее развертывание
  • Утилита ImageX, позволяющая записывать, изменять и применять WIM-образы
  • Службы развертывания Windows (Windows Deployment Services, WDS) - сетевой сервер установки, заменяющий Remote Installation Services для серверов Windows Server 2003 с пакетом обновления SP1
  • Диспетчер образов Windows (Windows System Image Manager, SIM; в локализованной документации почему-то часто именуемый диспетчером установки) с помощью которого можно создавать и управлять файлами ответов автоматической установки Windows в графическом интерфейсе пользователя
  • Диспетчер пакетов (Pkgmgr.exe) - средство командной строки для установки, удаления или обновления пакетов Windows

В состав пакета также включена документация по всем его компонентам (в локализованной версии почти все справочные материалы есть на русском языке) и вспомогательные средства, позволяющие установить парсер MSXML и среду Microsoft .NET Framework 2.0. В процессе работы IT-специалисты могут использовать как весь комплекс средств, так и отдельные компоненты пакета.

Файлы образов WIM

Аббревиатура WIM переводится как Windows Imaging (как утверждают разработчики, буква М в этом сокращении ничего не обозначает, а расширение *.wi смотрелось бы довольно странно). WIM - это новый формат образов Windows. Для получения образа тома можно использовать копию его секторов (что увеличивает скорость как создания самого образа, так и скорость его развертывания) или образ, который будет хранить отдельно каждый файл (в этом случае удается значительно повысить степень сжатия самого файла образа). Выбор был сделан в сторону файлов. Однако в отличие от обычных архивных файлов, в формате WIM содержатся не только сжатые копии файлов и папок, но и все метаданные, с ними связанные. К таким метаданным относятся списки контроля доступа (ACL), короткие и длинные имена файлов, атрибуты и т.д. Подобная структура WIM-образов позволяет легко их модифицировать - например, добавлять драйвера или пакеты обновлений.

На содержимое WIM-образа не накладывается ограничений - он может содержать, например, несколько томов. Так, в одном wim-файле Vista содержатся все версии этой ОС. Важной особенностью при этом является отслеживание одинаковых файлов (технология однократного копирования, Single Instancing). В процессе создания WIM-образа создается криптографический хэш файла, который вычисляется на основании содержимого самого файла. Этот хэш становится уникальным идентификатором файлов в образе и в образ заносится только один экземпляр файла (если встречается другой файл с таким же хэшем, он просто заменяется ссылкой). Если необходимо разворачивать один и тот же файл в разные места на конечном компьютере, он будет извлечен по его идентификатору. К тому же, новый формат образов не зависит от файловой системы Windows, а восстановление файловой системы позволяет разворачивать ОС на тома различных размеров. Развертывание образа в виде файловой системы позволяет сохранить пользовательские данные, в отличие от образов, основанных на посекторных копиях - в этом случае все предыдущие данные на томе уничтожаются. Например, если вы выполните установку Vista на диск с существующей ОС Windows, явно не указав переформатирование диска, файлы предыдущей копии Windows сохраняются в папке windows.old.

Образы WIM не зависят от уровня HAL (Hardware Abstraction Layer), но необходимо создавать различные образы для разных архитектур процессора (32-битные и 64-битные платформы).

Интересной особенностью WIM-образов является гибкость типа упаковки данных. При создании образа можно задать три степени сжатия. Максимальная степень сжатия обеспечит наименьший размер файла образа, однако процесс упаковки займет значительное время. Можно указать быстрое сжатие - времени на создание понадобится меньше, но и размер файла будет больше. Для наиболее скоростного создания образа сжатие файлов не осуществляется совсем. Степень сжатия указывается целиком для всего WIM-образа и не может быть изменена для его отдельных компонентов.

Сам процесс развертывания ОС из WIM-образа происходит в среде Windows PE - этакой мини-ОС. Причем, если на DVD-диске с Windows Vista образ устанавливаемой ОС находится в файле install.wim, то сама Windows PE при установке с DVD-диска загружается из файла boot.wim.

Windows PE

Рождение Windows PE связано со стремлением Microsoft облегчить работу OEM-поставщиков, которым для установки Windows на «пустые» компьютеры приходилось использовать MS-DOS. Использование начальной загрузки MS-DOS накладывает значительные ограничения, затрудняющие установку новых ОС. К их числу можно отнести отсутствие встроенной поддержки сети и файловой системы NTFS, отсутствие 32-х и 64-разрядных драйверов устройств.

Windows PE 2.0 представляет из себя урезанную версию ОС Win32, построенную на ядре Vista, выполняемом в защищенном режиме с ограниченным набором служб. Основное назначение Windows PE - подготовка компьютера для установки Windows, запуск установки, копирование образов дисков, устранения неполадок и восстановления ОС.

Одним из самых неприятных ограничений на применение Windows PE является размер оперативной памяти компьютера. Например, Windows PE 2.0 в стандартном образе с созданием электронного диска в памяти можно запустить лишь на компьютере, имеющем не менее 512 МБ ОЗУ. Уменьшить его размер можно, например, отключив неиспользуемые в работе пакеты и файлы локализации, располагающиеся в папках вида «fr-FR»с соответствующими именами. После удаления пакетов или установки новых (например, драйверов сетевых адаптеров), обязательно следует выполнить «подготовку» образа командой peimg с ключом /prep. Тогда из финального образа WinPE будут удалены файлы неиспользуемых компонентов, что уменьшит размер самой WinPE.

Службы развертывания Windows

Службы WDS - это набор новых инструментов, призванный заменить службы RIS. Их назначение функционально то же - обеспечить внедрение/развертывание ОС Windows в локальной сети. Службы развертывания Windows позволяют производить установку как новых семейств ОС (Vista, Server 2008), так и более ранних версий. Отдельно WDS не устанавливаются, требуя предварительного наличия в системе своего «предка» - сервера RIS. Требования к системе у WDS схожи с RIS - наличие Active Directory, серверов DNS и DHCP, а для хранения образов необходим NTFS-раздел.

Компоненты WDS
Компоненты WDS

Для обеспечения совместимости с предыдущими версиями, WDS может работать в трех различных режимах:

  • Устаревший режим (legacy). Функционально - полный аналог RIS. В качестве загрузчика используется OSChooser, поддерживаются только образы RISETUP и RIPREP.
  • Основной режим (native). Образы загрузки - только Windows PE, поддерживаемый тип образов - только WIM-образы. Управление сервером WDS производится с помощью новых средств.
  • Смешанный режим (mixed). Смесь устаревшего и основного режимов. Здесь все просто - доступны как новые, так и предыдущие образы, средства управления и механизмы загрузки

Выбор режима определяется при инициализации сервера WDS способом установки и последующими действиями. Начало одинаковое - на компьютере под управлением ОС Windows 2003 устанавливаем RIS. Далее режим сервера будет определяться так:

  • RIS обновляем до WDS, запускаем RISETUP и добавляем образ - сервер будет переведен в устаревший режим
  • Запускаем RISETUP, добавляем образ, после этого обновляем до WDS и выполняем команду WDSUTIL /initialize-server- сервер переводится в смешанный режим
  • RIS обновляем до WDS, и выполняем команду WDSUTIL /initialize-server - сервер будет работать в основном режиме

WDSUTIL - это программа управления службами WDS из командной строки. Команда

WDSUTIL /Uninitialize-Server [/Server:<Имя сервера>]

используется для отмены изменений, сделанных при инициализации сервера и позволяет заново его инициализировать. Содержимое папки REMINST при этом не изменяется. Подробную справку о всех параметрах команды можно получить, запустив ее с ключом /? или /help.

ImageX

Основной инструмент создания и модифицирования WIM-образов - программа ImageX. Изначально разработчики предполагали реализовать средство работы с образами, основанное на графическом интерфейсе, однако впоследствии решили остановиться на консольном приложении. Это, по их мнению, дает преимущества в автоматизации операций с помощью применения скриптов.

Функционально ImageX состоит из нескольких компонентов, к которым относится исполняемый модуль ImageX (ImageX.exe), фильтр файловой системы WIM (Wimfltr.sys и Wimfltr.inf), позволяющий производить чтение и изменение WIM-образов, и набор интерфейсов API WIM, позволяющий сторонним разработчикам ПО разрабатывать программы для работы с WIM-образами.

Использование ImageX позволяет просматривать и изменять WIM-образ в виде обычной файловой системы на диске. При этом создается файл каталога (бинарный файл, содержащий сведения о записанных в WIM-образ данных), соответствующий образу. При обращении файловой системы к данным, содержащимся в образе, фильтр используя файл каталога, производит чтение из WIM-образа и «выдает» эти данные в привычном виде обычных папок и файлов. Это позволяет легко модифицировать файлы образов стандартными средствами - например, проводником Windows.

Полную справку по параметрам ImageX можно получить в сопутствующей документации, или набрав в командной строке imagex /?. Мы же рассмотрим назначение основных команд ImageX.

Команда imagex /capture создает новый файл образа. Записать можно как образ целого тома, так и отдельных папок. Можно указать тип сжатия данных.
imagex /dir - отображение списка файлов и папок в указанном образе.
imagex /mount - подключение файла образа как часть локальной файловой системы. Данные можно только просматривать, изменения не допускаются.
imagex /mountrw - то же, но данные можно изменять. Изменение данных не вызывает их изменения в файле образа - они временно сохраняются в кэш. Для подтверждения сделанных изменений необходимо отключить образ с параметром /commit.
imagex /unmount - отключение подключенного образа. Для сохранения изменений необходимо добавить параметр /commit.

Редактировать напрямую wim-файл, который находится на сервере WDS, не удастся. Вызвано это способом хранения образов на WDS-сервере. Для ускорения процессов энумерации из файла образа выделяются метаданные, описывающие файлы и папки, входящие в образ, и структуру разрешений для них. Эти метаданные хранятся в файле с именем образа и расширением .wim. Потоковые данные (то есть, сами файлы и папки) записываются в файл Res.rwm. Для редактирования такого образа предварительно необходимо будет его отключить в MMC-консоли Служб развертывания Windows (делаем щелчок правой клавишей мыши на нужном образе, выбираем Отключить), затем выполнить команду Экспортировать образ и указать путь, где будет размещен файл образа.

Диспетчер образов Windows

Значительные изменения комплекса инструментов для развертывания Windows не могли не коснуться и процесса создания файла ответов. Этот файл содержит необходимые параметры, которые применяются во время автоматической установки ОС. Изменился и сам этот файл - теперь он пишется не в простом текстовом формате, а в виде XML-файла.
Для создания и модификации файлов ответов основным средством является диспетчер образов Windows System Image Manager (Windows SIM). Информацию о доступных пакетах и компонентах диспетчер может считывать из файла образа или файла каталога. Каталог - это двоичный файл с расширением .clg, в котором хранится состояние всех параметров и пакетов, входящих в файл образа.

Диспетчер образов SIM
Диспетчер образов SIM

Запуск диспетчера образов производится последовательностью Пуск - Все программы - MicrosoftWindowsAIK - Диспетчер образов. В меню Файл или щелчком мыши в панели Образ Windows открываем файл образа, с которым будем работать. Диспетчер смонтирует выбранный образ, и если ему не сопоставлен файл каталога, создаст его, показав соответствующее предупреждение. По завершении этого процесса в панели Образ Windows будет развернут список всех доступных в файле образа компонентов и пакетов. Различие между ними заключается в том, что компоненты являются частью Windows, а пакеты - надстройками ОС. Список стандартных компонентов в образе весьма внушителен и позволяет задать большое количество разнообразных параметров при автоматической установке Windows. Встроенные справочные средства помогут вам ориентироваться в этом разнообразии. Выбрав нужный элемент, просто нажмите F1 или выберите строку Справка в контекстном меню.

Процесс установки Windows осуществляется в несколько этапов, называемых проходами.

Этапы установки Windows Vista
Этапы установки Windows Vista

  • При проходе windowsPE задаются параметры как самой среды Windows PE, так и начальные параметры установки Windows - например, настройка жесткого диска целевого компьютера (включая его форматирование, разбиение на разделы и пр.), выбор устанавливаемого образа ОС, указание ключа продукта.
  • На этапе offlineServicing устанавливаются языковые пакеты, обновления безопасности ОС, исправления программ.
  • Проход generalize выполняется только при запуске утилиты Sysprep с параметром generalize. При выполнении этой фазы установки выполняется обобщение - удаляется вся уникальная информация, относящаяся к конкретной системе (SID и другие сведения, относящиеся к оборудованию).
  • Проход specialize - этап, на котором происходит настройка основных параметров системы. К ним относятся параметры сети, создание учетных записей, ввод сведений о домене и региональных настройках, информация о домашних страницах браузера и многое другое.
  • Если производится загрузка в режиме аудита, установка пройдет еще через две фазы - auditSystem и auditUser. Первый отработает до входа пользователя в систему, второй - после. Режим аудита позволяет добавить после установки ОС дополнительные драйвера, приложения, запустить необходимые сценарии.
  • Проход oobeSystem позволяет задать параметры, которые будут применены во время первого входа пользователя в систему. Сама аббревиатура OOBE расшифровывается как «Out-Of-Box Experience» и переводится примерно так - «первое впечатление при запуске». Во время этого прохода применяются параметры, необходимые для окончательной настройки и запуска Windows.

Некоторые параметры автоматической установки можно применять на одном или нескольких этапах. Сам процесс создания нового файла ответов заключается в выборе необходимого компонента или параметра и добавлении его в панель файла ответов правым щелчком мыши. Если применение параметра возможно в разных проходах, вы можете указать, во время какого именно этапа установки следует применить настройки для него.

Добавление компонентов в файл ответов
Добавление компонентов в файл ответов

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

Помимо параметров, диспетчер образов позволяет добавлять в файл ответов команды, пакеты и драйвера сторонних производителей. В любой момент создания файла ответов вы можете проверить правильность указанных параметров, нажав соответствующую кнопку на панели инструментов. Диспетчер произведет проверку файла ответов по отношению к открытому wim-образу, и при обнаружении ошибок покажет их в нижней панели сообщений на вкладке Проверка. После проверки можно сохранить файл ответов на диске, воспользовавшись командами меню.

Давайте теперь выясним, а как, собственно программа установки узнает о файле ответов и начинает автоматическую установку? Это возможно двумя способами. Первый - явное указание файла ответов с помощью команды setup.exe /unattend:имя_файла. Второй, самостоятельно выполняемый программой установки на каждом этапе, если файл ответов не указан явно - поиск этого файла в определенном порядке. Поиск ведется в нескольких местах, и в зависимости от местоположения найденного файла ему присваивается приоритет. Использоваться будет файл ответов с более высоким приоритетом. Если используемый файл ответов не содержит параметров, которые должны быть применены на данном этапе конфигурации, этот файл ответов не обрабатывается. Стандартным наименованием файла ответов является unnattend.xml, однако файлы ответов, включающие потенциально опасные действия (например, переразбивку жестких дисков), необходимо переименовать в autounattend.xml на этапах настройки windowsPE и offlineServicing.

Поиск файла ответов производится в следующем порядке:

  • просмотр ветви реестра HKLM\System\Setup!UnattendFile
  • просмотр папки %WINDIR%\panther\unattend
  • просмотр папки %WINDIR%\panther (сюда же будет кэширован найденный файл ответов после извлечения файлов установки на жесткий диск, поэтому Microsoft настоятельно рекомендует не перезаписывать файл ответов в этой папке. Необходимость кэширования вызвана рядом перезагрузок компьютера во время установки Windows, которые файл ответов должен «пережить»)
  • далее производится поиск в корне диска съемных устройств, позволяющих производить как чтение, так и запись данных (например, флэш-драйвы и дискеты)
  • затем то же самое производится на устройствах только с возможностью чтения (как правило - оптические накопители CD-ROM)
  • при проходе windowsPE и offlineServicing просматривается папка \sources дистрибутива Windows, во время остальных проходов осуществляется просмотр папки %WINDIR%\system32\sysprep
  • производится поиск в %SYSTEMDRIVE%

Кроме этого, на сервере WDS существует еще два способа подключения файла ответов. Можно указать файл ответов для всех клиентов одинаковой архитектуры на вкладке Клиент окна свойств WDS-сервера:

Подключение файла ответов для определенной архитектуры процессора
Подключение файла ответов для определенной архитектуры процессора

Также можно указать файл ответов для каждого конкретного файла образа на сервере. Для этого в свойствах образа необходимо установить флажок Разрешить установку в автоматическом режиме и указать расположение файла.

Подключение файла ответов для определенного wim-образа
Подключение файла ответов для определенного wim-образа

Процесс развертывания ОС на основе образов

При необходимости произвести установку большого числа ОС со схожими параметрами, обычно используется технология образов. Последовательность развертывания при этом выглядит примерно так:

  • Производится установка Windows на компьютер, осуществляется его настройка, установка (или удаление) компонентов ОС, необходимых программ, настраиваются необходимые параметры - создается эталонный компьютер
  • На эталонном компьютере запускается утилита Sysprep. Ее задача - «обезличить» эталонный компьютер, удалив из системы все уникальные идентификаторы, такие, как идентификатор безопасности SID, имя компьютера и т. п. По окончании ее работы производится перезагрузка в в MS-DOS, Windows PE, или другую ОС для запуска программы создания образа системного тома эталонного компьютера
  • Полученный образ сохраняется, а при необходимости - модифицируется (например, устанавливаются пакеты обновлений)
  • Образ копируется на конечные компьютеры. Технологии копирования могут различаться - например, создаются CD или DVD диски с образом для последующей установки, или копирование производится по сети с помощью средств PXE

При копировании образа на конечные компьютеры Sysprep проделывает вторую часть своей работы, заполняя удаленные при создании образа параметры новыми значениями.

Установка ОС с использованием WDS

Как говорится, теория - это хорошо, но давайте попробуем «пощупать и понюхать» WDS на практике. Поставим себе задачей возможность развертывания ОС Windows XP и Vista средствами WDS. В наличии у нас должны быть:

  • Компьютер под управлением ОС Windows 2003 Server с пакетом обновлений SP1
  • Компьютер, подключенный к сети и поддерживающий загрузку по протоколу PXE. На нем мы «изготовим» необходимые нам образы для установки ОС и его же будем использовать для тестирования процесса развертывания
  • В сети должны работать службы Active Directory, DNS и DHCP
  • На WDS-сервере необходимо наличие тома с файловой системой NTFS для хранения образов
  • Установочные диски с ОС и пакетом WAIK
  • Для установки служб WDS необходимо иметь права локального администратора на сервере WDS

Пакет автоматической установки Windows (Windows AIK) можно получить в центре загрузки Microsoft.

Сразу оговорюсь, что при тестировании в виртуальной среде VMWare при снижении размера оперативной памяти клиента ниже 384Мб возникают непредсказуемые ошибки, не позволяющие произвести запись и установку образов.

Для начала, нам необходимо установить сервер RIS. Подробнее о том, как это делается, вы можете прочитать здесь.
Поскольку мы хотим развертывать как Vista, так и предыдущие версии Windows, нам необходимо будет перевести будущий сервер WDS в смешанный режим. Поэтому запускаем RISETUP и добавляем на него хотя бы один образ ОС. Затем вставляем в привод диск с WAIK.

Установка пакета WAIK
Установка пакета WAIK

Выполняем установку Windows AIK. В зависимости от установленных в системе компонентов, может потребоваться предварительно установить .NET Framework 2.0 и парсера MSXML 6.0 - эти средства также входят в состав пакета WAIK. Производим установку обновления служб RIS до WDS. Для этого запустите исполняемый файл windows-deployment-services-update-XXX.exe для соответствующей архитектуры. По окончании процесса потребуется перезагрузка сервера. Производим инициализацию сервера WDS командой

WDSUTIL /initialize-server /reminst:"D:\RemoteInstall"

и дожидаемся ее завершения.

Инициализация сервера WDS
Инициализация сервера WDS

Если сервер WDS запущен на той же машине, где работает DHCP-сервер, службы WDS не должны прослушивать порт 67, и во все DHCP-области должен быть добавлен тэг 60 со значением "PXE Client". Эти настройки можно выполнить, открыв MMC-оснастку служб WDS (Пуск - Администрирование - Службы развертывания Windows), и, выбрав нужный сервер WDS щелкнуть на нем правой кнопкой мыши. Затем выбрать Свойства и перейти на закладку Протокол DHCP.

Сетевые настройки WDS-сервера
Сетевые настройки WDS-сервера

Теперь займемся образами. Чтобы окончательно не запутаться в них, повторим вкратце предстоящий план работ. Сначала мы установим ОС (обычным способом) на компьютер-эталон, добавим необходимое ПО и сделаем нужные настройки. Далее сформируем образ загрузки, с помощью которого можно будет сделать «снимок» компьютера-эталона, то есть получить образ установки. Компьютер-эталон после подготовки его программой Sysprep будет загружен сервером WDS с помощью образа загрузки, затем с компьютера-эталона будет записан образ установки. Полученный образ установки будет размещен на сервере WDS для дальнейшего развертывания.

Видимо, создание и настройка компьютера-эталона не вызовет вопросов, поэтому переходим сразу к образу загрузки, позволяющего произвести запись образа системы. Сформируем его из образа WinPE, входящего в комплект пакета WAIK, немного его изменив. Например, в моем случае потребовалось добавление драйвера сетевого адаптера. Необходимые файлы драйвера я предварительно скопировал в папку C:\Drivers.

Исходные WIM-образы среды WinPE для различных архитектур находится в папках каталога C:\Program Files\Windows AIK\Tools\PETools. Для удобства работы с образом в этой же папке находится пакетный файл copype.cmd. При запуске с параметрами он автоматически скопирует нужные файлы в указанное место. Запускаем командную строку, переходим в папку C:\Program Files\Windows AIK\Tools\PETools и запускаем copype.cmd, указывая, что нам требуется образ для архитектуры х86 скопировать в папку C:\winpe (например; можно создать папку с другим произвольным именем):

copype.cmd x86 C:\winpe

По завершении работы copype.cmd сформирует всю необходимую структуру папок в каталоге C:\winpe. Также для работы нам потребуется скопировать ImageX в папку iso:

copy "c:\program files\Windows AIK\Tools\x86\imagex.exe" C:\winpe\iso

Теперь приступаем к непосредственной работе с WIM-образом WinPE. Разворачиваем образ в папку mount:

imagex /mountrw c:\winpe\winpe.wim 1 c:\winpe\mount

Теперь, заглянув в папку mount, вы увидите там каталоги Windows, Program Files, Users и скрытый каталог Program Data, развернутые из WIM-образа. Начнем редактировать образ. Устанавливаем драйвера:

peimg /inf=C:\Drivers\*.inf c:\winpe\mount\windows
Установка пакета
Установка пакета

Для объяснения следующих действий придется немного забежать вперед. Приблизительно процесс загрузки среды WinPE происходит так:

  • Клиент посылает широковещательный запрос DHCP-серверу и в случае ответа получает адрес сервера TFTP, с которого будет осуществляться загрузка файлов
  • С TFTP-сервера в оперативную память клиента загружается менеджер загрузки
  • Менеджер загрузки, используя файл данных конфигурации загрузки (BCD), выводит список доступных ОС
  • После выбора пользователем ОС с сервера TFTP передается соответствующий wim-образ и развертывается в оперативной памяти компьютера-клиента
  • На конечных этапах загрузки запускается программа Winpeshl.exe, которая будет искать приложение, указанное в файле %SYSTEMROOT%\system32\winpeshl.ini
  • Если приложение не указано, будет выполнен запуск программы Wpeinit.exe, которая загружает сетевые ресурсы и координирует свою работу с сетевыми компонентами, такими как DHCP.
  • После выполнения Wpeinit.exe выводится окно командной строки и процесс загрузки Windows PE завершается

В командной строке вы можете запустить различные приложения и утилиты, входящие в состав развернутой версии Windows PE - например блокнот, диспетчер задач, редактор реестра, diskpart, net, ping, и т. д.

Среда Windows PE
Среда Windows PE

Поскольку сейчас нашей задачей является не просто PXE-запуск клиента, а снятие образа установленной на нем ОС, по окончании загрузки нам необходимо запустить программу wdscapture.exe, которая и займется снятием «снимка». Сделать это можно вручную, введя в командной строке после загрузки WinPE

X:\windows\system32>wdscapture.exe

Но мы немного автоматизируем процесс. Создадим в папке C:\winpe\mount\Windows\System32 файл winpeshl.ini и добавим в него следующие параметры:

[LaunchApps]
%SYSTEMROOT%\system32\wdscapture.exe

Примечание
Тот же результат будет получен при выборе команды Создать образ загрузки записи в графическом интерфейсе MMC-остнастки на сервере WDS при щелчке правой кнопкой мыши на образе загрузки:
Отличие в том, что в этом случае файл образа будет переписан заново и сохранен в указанном месте с новым именем.

Небольшая деталь - вы также можете не заставлять пользователя второй раз нажимать клавишу F12 во время начальной сетевой загрузки, указав в качестве загрузчика файл pxeboot.n12 на вкладке Загрузка окна свойств сервера WDS:

Подключение загрузчика, не требующего повторного нажатия F12
Подключение загрузчика, не требующего повторного нажатия F12

Теперь по окончании загрузки WinPE будет запущен мастер записи образов служб развертывания Windows. Можно указать мастеру все необходимые параметры вручную в течение его работы, а можно продолжить автоматизирование процесса захвата образа. Для этого необходимо отредактировать файл wdscapture.inf в папке C:\winpe\mount\Windows\System32. Содержание приведенного ниже в качестве примера файла wdscapture.inf выполнит следующие действия: с диска C: будет автоматически снят образ, записан на диск D: в виде файла myimage.wim, затем этот файл будет передан на сервер WDS и включен в группу образов "WinXPGroup" под именем "WinXP SP2 Capture". В случае удачной загрузки локальная копия образа на диске D: будет уничтожена. Все, что находится в секции [ExclusionList] в состав файла образа включено не будет.

[Capture]
Unattended=Yes
VolumeToCapture=C:\
SystemRoot=
ImageName="WinXP SP2 Capture"
ImageDescription="Test unattennd capture image"
DestinationFile=d:\myimage.wim
Overwrite=Yes

[ExclusionList]
$ntfs.log
hiberfil.sys
pagefile.sys
"System Volume Information"
RECYCLER
winpepge.sys
%SYSTEMROOT%\CSC

[WDS]
UploadToWDSServer=Yes
WDSServerName=websrv.valks.local
WDSImageGroup="WinXPGroup"
Username=wdsadmin
Domain=valks
Password=qwertY12345
DeleteLocalWimOnSuccess=Yes

Следует учесть, что неверные параметры в этом файле приводят к перезагрузке системы без выдачи каких-либо сообщений об ошибках. Необходимо убедиться, что на диске компьютера-эталона будет достаточно места для размещения образа (особенно это касается образов Vista с установленным дополнительным ПО - например, размер Vista Ultimate с установленным MS Office 2007 в стандартной конфигурации приближается к 10 Гб). На сервере WDS должна быть создана хотя бы одна группа образов установки. Название группы, в которую будет установлен образ, передается параметром WDSImageGroup. Если необходимо - внесите нужные вам изменения. После того, как образ будет сформирован, его необходимо будет подготовить командой


peimg /prep c:\winpe\mount\Windows

Эта операция сжимает файл образа, удаляя из него все лишнее, однако необходимо учесть, что потом вносить изменения в состав образа (устанавливать или удалять пакеты и компоненты) будет нельзя - можно лишь будет добавлять драйвера устройств. Программа выдаст соответствующее предупреждение. Для продолжения необходимо будет ввести подтверждение. Пусть вас не обманывает локализованный интерфейс - в случае утвердительного ответа нужно ввести не да (иначе работа программы будет прекращена и показано сообщение об ошибке), а yes.


Подготовка wim-образа

Подготовка wim-образа

По окончании процесса подготовки закрываем wim-образ с подтверждением сделанных изменений:


imagex /unmount c:\winpe\mount /commit

Теперь наш доработанный образ мы укажем серверу WDS в качестве загрузочного. Запускаем MMC-остнастку служб развертывания, выбираем сервер, и щелкаем правой кнопкой мыши на группе Образы загрузки.


Добавление образа загрузки на WDS-сервер

Добавление образа загрузки на WDS-сервер

В контекстном меню выбираем Добавить образ загрузки, указываем путь к к WIM-файлу загрузки.


Указываем расположение файла образа

Указываем расположение файла образа

На следующем шаге необходимо будет указать имя и описание для образа. Чтобы в последствии не запутаться, назовем его "Capture Boot PE Image". Добавленный образ появится в списке образов загрузки WDS-сервера. Итак, создание образа загрузки, с помощью которого мы сможем получить образ установки, закончено.


Приступим теперь к процессу «снятия» образа установки.


XP


На эталонном компьютере создаем папку sysprep и распаковываем в нее содержимое файла deploy.cab из каталога SUPPORT\TOOLS установочного диска Win2003.


Sysprep в среде Windows XP

Sysprep в среде Windows XP

Запускаем sysprep.exe. Ставим флажки Мини-установка и Обнаружить устройства, и нажимаем кнопку Запечатать компьютер. После того, как отработает sysprep, компьютер выключится.


Vista


В ОС Vista утилита sysprep.exe встроена в систему и по умолчанию находится в папке C:\Windows\System32\Sysprep.


Sysprep в среде Windows Vista

Sysprep в среде Windows Vista

Выбираем OOBE, если в дальнейшем не потребуется режим аудита, ставим флажок Generalize и указываем выключение компьютера. Нажимаем ОК.


Теперь все готово к снятию образа. Загружаем компьютер-эталон, во время загрузки жмем клавишу F12 (сетевая загрузка). При успешном подключении к WDS-серверу отобразится окно Windows Boot Manager. Выбираем образ созданный нами образ «Capture Boot PE Image». Далее последует загрузка среды Windows PE, после чего будет снят образ и загружен на сервер WDS. Следует учесть, что загруженный файл появится в списке образов не сразу. Обновите панель спустя несколько минут после загрузки.


После захвата образа наш загрузчик «Capture Boot PE Image» можно отключить, чтобы не запутать пользователей, которым понадобится установка ОС - вдруг они ошибутся с выбором и начнут снимать образ своей системы, верно? Для этого щелкните правой кнопкой мыши на имени образа загрузки и выберите команду Отключить. На пиктограмме слева от образа появится красная стрелочка, означающая, что данный образ отключен. Когда он вам понадобится еще раз, просто включите его, выполнив те же действия, но выбрав команду Включить.


Теперь займемся созданием «нормального» образа загрузки. То есть такого загрузчика, который будет инициировать развертывание Windows на конечном компьютере из образа, полученного с сервера WDS. Для этого нам понадобится файл boot.wim из папки \sources установочного DVD-диска Vista. Дело в том, что образ WinPE из пакета Windows AIK, с которым мы работали, не содержит клиента WDS, запускающего развертывание образа установки. Этот клиент входит в состав файла boot.wim на диске Vista, причем нам понадобится второй образ, входящий в его состав. Итак, копируем файл boot.wim c DVD-диска на винчестер, снимаем атрибут «только чтение» (иначе его невозможно будет смонтировать в режиме чтения и записи), и разворачиваем его командой


imagex /mountrw c:\winpe\boot.wim 2 c:\winpe\mount

Как и в предыдущем случае, добавляем в образ необходимые нам файлы драйверов:


peimg /inf=C:\Drivers\*.inf c:\winpe\mount\windows

и размонтируем образ командой


imagex /unmount c:\winpe\mount /commit

Добавляем наш созданный образ на сервер WDS в качестве образа загрузки. Указываем группу Образы установки MMC-консоли служб развертывания Windows и правым щелчком мыши вызываем меню и выбираем команду Добавить образ установки. Задаем расположение wim-файл образа.


Итак, у нас есть загрузочный образ, который «заведет» компьютер-клиент по сети и произведет запуск программы установки указанного пользователем образа. Но такой способ установки мало чем будет отличаться от обычной интерактивной установки ОС с CD или DVD диска - разве что не придется ходить с этим диском от машины к машине. А ведь вся «прелесть» разворачивания ОС по сети - возможность автоматизации процесса установки. Поэтому займемся упрощением жизни сисадмина - автоматической установкой.


Предлагаю выполнить ее в два этапа - один файл ответов для среды WinPE, а другой для развертываемого образа. При таком подходе пользователю все-таки придется пару раз нажать клавиши, но именно эти действиями и будет производиться выбор устанавливаемого образа ОС (на случай, если их на сервере будет несколько).


Для работы с файлом образа, который записан на WDS-сервер, как говорилось выше, необходимо будет сначала выполнить его экспорт. Далее запускаем Диспетчер образов (Пуск - Все программы - Microsoft Windows AIK - Диспетчер образов). На панели Образ Windows правым щелчком выбираем команду Выбрать образ Windows.
Указываем расположение экспортированного файла образа.


Для начала создадим файл ответов, с помощью которого будет производиться подключение к WDS-серверу, будет назначен язык диалогов установки, на диске будет создан первичный раздел (учтите, что в приведенном ниже примере все данные на диске при этом будут уничтожены!), на который и будет установлен разворачиваемый образ. Перемещаем в файл ответов в проход следующие компоненты:


Состав компонентов для примера файла ответов

Состав компонентов для примера файла ответов

Чтобы не описывать подробно установку значения для каждого параметра, я приведу пример файла ответов, который в результате должен получится. Даже если вы не знакомы с языком XML, то конструкции вида <Парметр>Значение</Параметр> укажут вам на установленные в нем свойства параметров.


<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE"
processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral"
versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>en-US</UILanguage>
</SetupUILanguage>
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UserLocale>en-US</UserLocale>
</component>
<component name="Microsoft-Windows-Setup"
processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral"
versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<WindowsDeploymentServices>
<Login>
<Credentials>
<Domain>valks</Domain>
<Password>12345qwertY</Password>
<Username>adminwds</Username>
</Credentials>
</Login>
<ImageSelection>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>1</PartitionID>
</InstallTo>
</ImageSelection>
</WindowsDeploymentServices>
<DiskConfiguration>
<Disk wcm:action="modify">
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
<CreatePartitions>
<CreatePartition wcm:action="modify">
<Extend>true</Extend>
<Order>1</Order>
<Type>Primary</Type>
</CreatePartition>
</CreatePartitions>
</Disk>
<WillShowUI>OnError</WillShowUI>
</DiskConfiguration>
</component>
</settings>
<cpi:offlineImage
cpi:source="wim:d:/myimagesstore/myvistaimage/myvista.wim#MyVistaImage"
xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Скачать xml файл


Сохраняем файл ответов в папку D:\RemoteInstall\WdsClientUnattend с именем unattend.xml. Далее устанавливаем флажок Включить автоматическую установку на вкладке Клиент окна свойств WDS-сервера и указываем для нужной архитектуры процессора путь к созданному файлу ответов, нажав кнопку Обзор. Этот файл ответов позволит производить подключение к WDS-серверу. Автоматизация установки ОС Vista и предыдущих версий Windows (которые Microsoft теперь официально «обзывает» downlevel-образами) будет производиться по-разному. Мы рассмотрим автоматическую установку Vista и Windows 2003 Server.


Установка Vista


Создаем с помощью диспетчера образов файл ответов для установки Vista. Этот файл автоматизирует ввод ключа продукта, устанавливает параметры экрана и наименование организации. Пользователь «автоматически» принимает лицензионное соглашение. Стартовой домашней страницей браузера назначается URL http://www.windowsfaq.ru/. На компьютере создается учетная запись локального администратора, выполняется присоединение к домену. Указывается вид сети и способ защиты компьютера, задается часовой пояс и региональные языковые настройки. После установки будет выполнен автоматический вход в систему.


Необходимые для его создания компоненты показаны на рисунке:


Состав компонентов файла ответов установки Vista

Состав компонентов файла ответов установки Vista

В текстовом виде файл выглядит так:


<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-Setup" processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Display>
<ColorDepth>16</ColorDepth>
<HorizontalResolution>1024</HorizontalResolution>
<VerticalResolution>768</VerticalResolution>
<RefreshRate>60</RefreshRate>
</Display>
<WindowsDeploymentServices>
<ImageSelection>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>1</PartitionID>
</InstallTo>
</ImageSelection>
</WindowsDeploymentServices>
<UserData>
<ProductKey>
<Key>ХХХХХ-ХХХХХ-ХХХХХ-ХХХХХ-ХХХХХ</Key>
<WillShowUI>OnError</WillShowUI>
</ProductKey>
<AcceptEula>true</AcceptEula>
<FullName>Full Name Param</FullName>
<Organization>Org Param</Organization>
</UserData>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<StartPages>
<StartPage wcm:action="add">
<StartPageKey>StartPage1</StartPageKey>
<StartPageUrl>http://www.windowsfaq.ru/</StartPageUrl>
</StartPage>
</StartPages>
<Home_Page>http://www.windowsfaq.ru/</Home_Page>
</component>
<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Identification>
<JoinDomain>valks.local</JoinDomain>
<UnsecureJoin>true</UnsecureJoin>
</Identification>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AutoLogon>
<Password>
<Value>cQB3AGUAcgB0AFkAMQAyADMANAFAzAHMAdwBvAHIAZAA=</Value>
<PlainText>false</PlainText>
</Password>
<Domain>valks.local</Domain>
<Enabled>true</Enabled>
<Username>adminwds</Username>
</AutoLogon>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<ProtectYourPC>3</ProtectYourPC>
<NetworkLocation>Work</NetworkLocation>
</OOBE>
<TimeZone>Russian Standard Time</TimeZone>
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>
<Value>TgAyADgAawBQAGUANgA0AGAUABhAHMAcwB3AG8AcgBkAA==</Value>
<PlainText>false</PlainText>
</Password>
<Group>Administrators</Group>
<Name>LocAdmin</Name>
<DisplayName>Local Admin</DisplayName>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
</component>
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UserLocale>en-US</UserLocale>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:d:/myimagesstore/myvistaimage/myvista.wim#MyVistaImage"
xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Скачать xml файл


Сохраняем его и указываем на вкладке Клиент окна свойств WDS-сервера в качестве файла автоматической установки для необходимой архитектуры клиента. Для создания учетной записи компьютера и присоединения его к домену, учетная запись, указанная в параметре Username должна иметь необходимые полномочия.


Установка W2k3


Здесь нам придется пользоваться применявшимся и ранее файлом sysprep.inf. Создать его можно самостоятельно или использовать утилиту setupmgr.exe, которая находится в архиве Deploy дистрибутива Windows 2003 Server. В моем случае полностью автоматической установки он имеет такой вид:


[Unattended]
OemSkipEula=Yes
InstallFilesPath=C:\sysprep\i386
TargetPath=\WINDOWS

[GuiUnattended]
AdminPassword="psswd"
EncryptedAdminPassword=NO
OEMSkipRegional=1
TimeZone=%TIMEZONE%
OemSkipWelcome=1

[UserData]
ProductKey= XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
FullName="Name"
OrgName="Organization"
ComputerName=%MACHINENAME%

[Display]
BitsPerPel=16
Xresolution=1024
YResolution=768
Vrefresh=60

[LicenseFilePrintData]
AutoMode=PerServer
AutoUsers=10

[TapiLocation]
CountryCode=7
Dialing=Pulse
AreaCode=812

[RegionalSettings]
LanguageGroup=5
Language=00000419

[Identification]
JoinDomain=%MACHINEDOMAIN%
DomainAdmin=adminwds
DomainAdminPassword=12345qwertY
DoOldStyleDomainJoin = Yes

[Networking]
InstallDefaultComponents=Yes

[Branding]
BrandIEUsingUnattended=Yes

[Proxy]
Proxy_Enable=0
Use_Same_Proxy=0

Использование переменной %MACHINENAME% позволит задать имя компьютера в соответствии с настройками WDS-сервера. Созданный файл необходимо разместить в папке X:\RemoteInstall\Images\имя_группы\имя_файла_образа\$OEM$\$1\sysprep.Если папки \имя_файла_образа\$OEM$\$1\sysprep отсутствуют, создайте их самостоятельно. Для создания учетной записи компьютера и присоединения его к домену, учетная запись, указанная в разделе [Identification] должна иметь необходимые полномочия.


Вот, собственно и все. Осталось во время загрузки удаленной машины нажать на ней клавишу F12 для инициализации процесса сетевой загрузки, и дождавшись страницы выбора указать необходимый образ - далее процесс установки пройдет автоматически.


Конечно, в этой статье рассмотрены далеко не все инструменты и возможности набора WAIK. Основной целью было ознакомление читателя с наиболее важными средствами новой платформы развертывания ОС Windows и иллюстрация базового их применения. Более подробную информацию вы можете получить в справочных материалах, входящих в состав Windows AIK.


В заключение хотелось бы еще раз отметить, что необходимость перехода на новую платформу развертывания будет о условлена не только богатством настроек и возможностью более гибко планировать процесс установки, но и появлением самих новых ОС Windows, сетевое развертывание которых ранее применявшимися методами становится уже невозможным.

.

Счетчик тИЦ и PR Яндекс.Метрика Msn bot last visit powered by MyPagerank.NetYahoo bot last visit powered by MyPagerank.Net ping fast  my blog, website, or RSS feed for Free