Сергей Яремчук
Основные изменения в WAIK для Windows Server 2008 R2/7
Одновременно с выходом бета-версий операционных систем Windows 7 и Windows Server 2008 R2 были представлены и обновленные инструменты, среди которых – Windows AIK, с особенностями которого мы и познакомимся в статье.
Пакет автоматической установки Windows (WAIK, Windows Automated Installation Kit) позволяет упростить развертывание операционных систем Windows за счет интеграции приложений, драйверов в установочный образ и автоматизации самой установки системы. В зависимости от ОС, которую планируется развертывать, следует подбирать и версию WAIK. Предыдущий релиз пакета назывался «Пакет автоматической установки (AIK) для Windows Vista с пакетом обновления 1 (SP1) и Windows Server 2008», на работу с которыми он собственно и был рассчитан. Уже в нем появились нововведения по сравнению с версией для XP. В частности WIM-файл (Windows Image), который поддерживает редактирование и может содержать несколько образов ОС. Плюс единый файл ответов в формате XML, избавлявший от путаницы. Выход Windows 7 потребовал и обновления соответствующих инструментов – WAIK и Microsoft Deployment Toolkit 2010 Beta (ранее пакет MDT назывался Business Desktop Deployment). Утилиты из старой версии отказались работать с новыми сервисными функциями.
Версия Windows Automated Installation Kit (Windows 7 Beta), как показывает название, ориентирована на развертывание Windows 7, а также Windows Server 2008 R2. Установить пакет можно на Windows Server 2003SP1/VistaSP1/2008/2008R2/7. Традиционно WAIK распространяется бесплатно, установочные файлы в виде DVD ISO-образа можно свободно скачать с сайта корпорации Microsoft [1].
Состав WAIK
В состав обновленного комплекта WAIK входит несколько уже традиционных инструментов:
- WinPE (Microsoft Windows Preinstallation Environment, среда предустановки Windows) – загрузочная версия системы, является основой при развертывании ОС, можно настроить при помощи утилит из состава WAIK;
- набор утилит PETools – ImageX, PEimg и Expand, при помощи которых создаются и модифицируются эталонные образы Windows, в том числе интегрируются драйверы, обновления и языковые пакеты;
- Windows System Image Manager (Windows SIM, диспетчер образов системы Windows) – графический инструмент, предназначенный для создания файлов ответов, файлов каталога для управления компонентами ОС, интеграции драйверов, установки дополнительных пакетов и приложений и так далее;
- Pkgmgr (Package Manager, менеджер пакетов) – командная утилита, позволяющая создать новый пакет (драйвера, языковый) и включить его в образ для автоматической установки в процессе развертывания.
Плюс в комплект входит документация и дополнительные пакеты, необходимые для установки WAIK в некоторых системах.
Самым заметным изменением стало появление в составе комплекта двух новых инструментов: средства миграции пользовательской среды USMT 4.0 (User State Migration Tool) и командной утилиты DISM (Deployment Image Servicing and Management).
Изменения в WAIK видны уже начиная с загрузочного меню
Удалён пакет установки службы развертывания Windows – WDS (Windows Deployment Services), предназначенный для обновления RIS. Учитывая, что WDS является одной из ролей в Windows 2008, включать его в WAIK уже нет необходимости. Теперь рассмотрим использование новинок подробнее.
Утилита DISM
Новая утилита DISM, входящая помимо WAIK и в поставку Windows 2008R2/7, при работе с образами Windows 2008R2/7 заменяет, как минимум, три утилиты из состава WAIK: Pkgmgr, PEimg и Intlcfg (International Settings Configuration Tool), плюс может использоваться в настройке рабочей системы. К слову, перечисленные утилиты никуда не делись, поэтому ничто не мешает не менять привычек и использовать старые команды. DISM позволяет добавлять, обновлять, удалять и получать список драйверов и пакетов, в том числе и языковых, включать/отключать компоненты системы, работать с образами системы и производить некоторые другие операции.
DISM имеет достаточно много различных параметров
DISM также работает и с WIM-файлами Vista и Windows Server 2008 (без R2), но нужно быть готовыми, что в этом случае и при использовании WAIK в ОС, отличных от Windows 2008R2/7, часть функций будет недоступна. Правда что-то испортить не получится, так как если параметр не поддерживается, пользователь получает сообщение об ошибке. Например, в Vista и Server 2008 не работает ключ /Online, указывающий, что команду необходимо выполнить в рабочей ОС, а не с образом. Например:
PETools> DISM /Online /Get-Packages
Получаем:
DISM does not support servicing Windows Vista or Windows Server 2008 with the /Online Options.
|
Формат самой команды и вывода результата в DISM существенно отличается от используемых ранее. Общий синтаксис DISM такой:
DISM.exe {/image:<path_to_image> | /online} [dism_options] {servicing_command} [<servicing_argument>]
Например, чтобы получить информацию о WIM-образе, при помощи ImageX вводим:
PETools> imagex /INFO d:\sources\install.wim
В ответ получали:
<IMAGE INDEX="1">
<NAME>Windows Vista BUSINESS</NAME> |
С использованием DISM команда и результат выглядят так:
PETools> DISM /Get-WimInfo /WimFile:d:\sources\install.wim
Index : 1
Name : Windows Vista BUSINESS |
Если нужно обратиться к определенному образу (например, первому), следует использовать дополнительный ключ /index:1.
Ключей в DISM используется достаточно много, при помощи /? можно увидеть лишь самые востребованные, кроме этого каждый ключ также имеет дополнительные параметры. В документации WAIK расписаны все основные моменты по использованию DISM в различных ситуациях. Разберем некоторые из команд, чтобы увидеть разницу.
Образ перед использованием следует смонтировать:
PETools>DISM /Mount-Wim /WimFile:d:\sources\install.wim /index:1 /MountDir:c:\img
Поддерживается также и ключ /ReadOnly, показывающий, что монтировать нужно только в режиме для чтения. Для получения списка различных составляющих системы следует использовать соответствующий ключ: Get-Drivers (драйвера), Get-Features (компоненты), Get-Packages (пакеты, обновления), Get-Intl (установки локализации).
PETools> DISM /Image:c:\img /Get-Drivers | more
PETools> DISM /Image:c:\img /Get-Features | more
Теперь, чтобы узнать подробнее о конкретном драйвере, вводим:
PETools> DISM /Get-DriverInfo /driver:oem1.inf
Это для установленного драйвера, иначе следует указать полный путь к файлу.
Команды можно использовать и в рабочей системе:
PETools>DISM /Online /Get-Features | more
Теперь, получив нужные названия, отключаем встроенные игры и активируем роль веб-сервера IIS:
PETools> DISM /Online /Disable-Feature:InboxGames
PETools> DISM /Online /Enable-Feature /FeatureName:IIS-WebServerRole
Для установки или удаления пакетов используется соответственно Add-Packages и Remove-Package. Но DISM поддерживает работу только с .cab-, .msu- и .inf-файлами. Для установки .msi следует использовать OCSetup, сервис-паков – Windows Update Stand-alone Installer (Wusa.exe).
По окончании работы образ следует размонтировать:
PETools> DISM /Unmount-Wim /MountDir:c:\img /commit
Если сохранять изменения не планируется, то вместо /commit используем /discard. То есть общий принцип работы с образами остался неизменным. Но теперь как к образу, так и к рабочей машине можно применить файл ответов с настройками:
> DISM /Online /Apply-Unattend: C:\answerfiles\unattend.xml
Параметров у DISM действительно много, причиной появления этой утилиты, скорее всего, является желание разработчиков дать пользователю универсальный инструмент.
Возможности USMT 4.0
Набор программ USMT предназначен для настроек ОС, приложений и файлов, индивидуальных настроек пользователей во время переустановки или при масштабном развертывании ОС. Как результат ее применения весь процесс происходит быстрее и проще, а пользователь в новой системе сразу попадает в знакомую среду. USMT 4.0 поддерживает только десктопные Windows XP/Vista/7 (за исключением редакций Starter). Попытка запуска одной из утилит набора в серверной ОС приведет к ошибке Unsupported OS version. Возможна миграция с 32 на 64-битные системы, но наоборот нельзя (очевидно, в этом уже и нет острой необходимости).
Получаем список драйверов при помощи DISM
Вся работа с USMT состоит в использовании двух утилит ScanState (сбор файлов и параметров с исходного компьютера) и LoadState (восстановление среды). Теперь к ним добавлена еще одна – UsmtUtils, при помощи которой можно получить список поддерживаемых алгоритмов шифрования (/ec) или удалить жесткую ссылку из базы, сформированой ScanState (/rd).
К ранее поддерживаемому 3DES, в список алгоритмов шифрования данных, которые можно указывать в параметре /encrypt (ScanState) или /decrypt (LoadState), добавлен AES 128/192/256.
Но самым заметным нововедением USMT 4.0 является так называемая миграция жестких ссылок (Hard Link Migration), активируемая параметром /hardlink. Суть ее такова. Ранее чтобы сохранить и перенести пользовательские данные, их вначале каталогизировали, переносили на другой ресурс, а затем после установки ОС возвращали все обратно. Учитывая возможные объемы данных, которые хранил пользователь, весь процесс занимал достаточно много времени и требовал к тому же дополнительного места для хранения информации. Теперь после ввода команды:
> ScanState c:\store /o /c /i: app.xml /i: user.xml /nocompress /hardlink
Вместо непосредственного копирования данных в каталоге c:\store создаются только жесткие ссылки. При переносе ОС жесткий диск будет очищен, кроме файлов, заблокированных такими ссылками. В итоге объем копируемых данных и время, затраченное на развертывание системы, значительно уменьшаются.
Кроме этого, при использовании USMT уже не требуется обязательное подключение к домену, а запуск ScanState можно производить из Windows PE. В связи с появлением Hard Link Migration в команде ScanState предусмотрен новый ключ /vsc, позволяющий задействовать службу теневого копирования (Volume Shadow Copy) для захвата заблокированных другими приложениями файлов.
В сценарии Config.xml (автоматически создается при помощи ScanState /genconfig) появились новые параметры и секции. Например, секция <HardLinkStoreControl> позволяет настроить Hard Link Migration.
<Policies>
<HardLinkStoreControl>
<fileLocked>
<createHardLink>c:\Users\* [*]</createHardLink>
<errorHardLink>C:\* [*]</errorHardLink>
</fileLocked>
</HardLinkStoreControl>
</Policies>
При этом:
- createHardLink – указывает на каталоги, для которых жесткая ссылка создается в любом случае, даже если файл заблокирован другим приложением;
- errorHardLink – в таких каталогах ссылка на заблокированный приложением файл может не создаваться.
Для контроля миграции файлов по определенным критериям (размер, время создания и модификации и так далее) используется секция MigXmlHelper.FileProperties, поиск определенных документов на компьютере может быть организован при помощи MigXmlHelper.GenerateDocPatterns.
Как видите, разработчики пошли по пути унификации и упрощения использования пакета, что нельзя не приветствовать. Те же, кому хоть раз пришлось работать с USMT, должны оценить использование миграции жестких ссылок вместо копирования больших объемов информации. В статье затронуты только основные изменения, появившиеся в пакете автоматической установки WAIK для Windows 2008R2/7, более подробную информацию о релизе можно получить на ресурсах TechNet [2].
- Бета-версия Windows AIK для Windows 7/2008R2 – http://go.microsoft.com/fwlink/?LinkId=136976.
- Windows Automated Installation Kit for Windows 7 Beta – http://technet.microsoft.com/en-us/library/dd349343.aspx.