Новое в WAIK для Windows 2008R2/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 (ранее пакет MDT назывался Business Desktop Deployment). Утилиты из старой версии отказались работать с новыми сервисными функциями.
Версия “Windows Automated Installation Kit (Windows 7)” как и показывает название ориентированна на развертывание Windows 7, а также Windows Server 2008 R2. Установить пакет можно на Windows Server 2003SP1/VistaSP1/2008/2008R2/7. Традиционно WAIK распространяется бесплатно, установочные файлы в виде DVD ISO-образа можно свободно скачать с сайта корпорации Microsoft.

Состав WAIK

В состав обновленного комплекта WAIK входит несколько уже традиционных инструментов:

Плюс документация и дополнительные пакеты необходимые для установки самого WAIK в некоторых системах.

Изменения в WAIK видны уже начиная с загрузочного меню

Изменения в WAIK видны уже начиная с загрузочного меню


Самыми заметными изменениями стало появление в составе комплекта двух новых инструментов: средства миграции пользовательской среды USMT 4.0 (User State Migration Tool) и командной утилиты DISM (Deployment Image Servicing and Management). Убран пакет установки службы развертывания 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 также работает и с 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 действительно много, причиной появления этой утилиты, скорее всего является желание разработчиков дать пользователю универсальный инструмент.

Получаем список драйверов при помощи DISM

Получаем список драйверов при помощи DISM

Возможности USMT 4.0

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

DISM имеет достаточно много различных параметров

DISM имеет достаточно много различных параметров


Как результат ее применения весь процесс происходит быстрее и проще, а пользователь в новой системе сразу попадает в знакому среду. USMT 4.0 поддерживает только десктопные Windows XP/Vista/7 (за исключением редакций Starter). Попытка запуска одной из утилит набора в серверной ОС, приведет к ошибке “Unsupported OS version”. Возможна миграция с 32 на 64 битные системы, но наоборот нельзя (очевидно в этом уже и нет острой необходимости).

Вся работа с 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) появились новые параметры и секции. Например, секция позволяет настроить Hard Link Migration.

<Policies>
 <HardLinkStoreControl>
  <fileLocked>
    <createHardLink>c:\Users\* [*]</createHardLink>
    <errorHardLink>C:\* [*]</errorHardLink>
  </fileLocked>
 </HardLinkStoreControl>
</Policies>

При этом: