Базовая архитектура технологий, используемых при развертывании с использованием Windows SIM

Введение

Новая архитектура средств развертывания, введенная, начиная с ОС Windows Vista, имеет значительные преимущества по сравнению с тем, что был, во времена Windows XP.
В данной статье будет представлен небольшой «взгляд изнутри» на технологии, которые используют Windows SIM в процессе подготовки к развертыванию. Чтобы у вас не возникало вопросов «а почему так сложно?», поясню два важных момента.
1. Windows SIM – мощный инструмент, позволяющий вам изменять огромное количество параметров системы, но в то же время вы не обязаны менять каждый параметр. Вы сами решаете, какие изменения вносить в процесс развертывания.
2. Windows SIM не вносит изменений в установочный образ install.wim. Именно поэтому происходит создание файлов ответов, в котором сохраняются параметры, которые будут изменены при установке, по этой же причине для хранения драйверов и языковых пакетов используется дистрибутивный общий ресурс. Таким образом, вы развертываете операционную систему с «чистого» образа, а файлы ответов, конфигурационные наборы и файлы каталога являются «надстройкой», указывающей, какие параметры установки изменить и какие драйвера и пакеты добавить к устанавливаемой системе.

Файл ответов

Файл ответов - это XML-файл, содержащий определения и значения параметров, применяемых в ходе установки Windows. В файле ответов можно задать различные параметры установки, включая сведения о создании разделов на дисках, о расположении, в которое будет установлен образ Windows, и о применяемом ключе продукта. Кроме того, можно задать значения, применяемые в ходе установки Windows, например имена учетных записей пользователей, параметры экрана и элементы папки «Избранное» браузера Internet Explorer. Обычно файл ответов для установки системы называется Unattend.xml.
Файл ответов ставится в соответствие к конкретному образу Windows, входящему в установочный WIM-файл. Он состоит из двух основных разделов:
• Компоненты
Компонент – это часть операционной системы Windows, которая определяет файлы, ресурсы и параметры для конкретного средства Windows или части средства Windows. Некоторые компоненты включают параметры автоматической установки Windows, которые могут использоваться для настройки изготовителями оборудования (OEM) и организациями.
Иными словами, компонент – это логическая структурная единица, хранящая сгруппированные однотипные данные о тех или иных параметрах системы в файле ответов.
Если вы добавляете в файл ответов компонент, то вы получаете возможность редактирования параметров входящих в этот компонент.
Компоненты не добавляются в файл ответов без группировки: определённый компонент может быть добавлен только для определенного (определённых) этапов установки. Как вы могли прочесть в соответствующей статье, всего существует семь этапов: windowsPE, offlineServicing, generalize, specialize, auditSystem, auditUser и oobeSystem, каждому из которых соответствует особая фаза работы программы установки.
• Пакеты
Пакет – это набор файлов, предоставляемый для изменения средств Windows. Разными типами пакетов являются пакеты обновления, обновления безопасности, пакеты поддержки языков и исправления. Примерами могут служить пакеты Product, Windows Foundation и FeaturePack.
Пакеты в файле ответов применяются к образу Windows во время этапа настройки offlineServicing.
Таким образом, файл ответов можно представить в виде следующей структурной схемы:

Как говорилось выше, файл ответов сохраняет информацию в XML-формате, при этом после добавления всех нужных вам параметров рекомендуется сделать проверку синтаксиса XML-файл. Также обратите внимание, что каждому файл ответов ассоциирован образ, и при попытке открыть файл ответов в программе Windows SIM без выбранного образа, вам будет выведено сообщение о необходимости выбора образа, в противном случае будет ограничена функциональность открываемого файла ответов. И это вполне естественно, так как Windows SIM берет список доступных компонентов из clg-файлов, которые обязательно ассоциируются с образом в установочном WIM-файле, и без выбранного образа Windows System Image Manager не будет «знать», какие компоненты можно добавить в файл ответов.
Таким образом, становится ясно, что быстрое внесение изменений в файл ответов при отсутствие образа, для которого он создавался – затруднительно. Естественно, что должен быть обходной путь решения этой проблемы. И этим обходным путем является ручное редактирование файла ответов. При ручном редактировании файла ответов, вы открываете его в текстовом либо XML-редакторе, и вручную редактируете нужные вам параметры, включая те, которые невозможно отредактировать с применением Windows SIM. Однако обратите внимание, что при ручном редактировании файла ответов у вас нет возможности проверки синтаксиса (конечно если вы не откроете его в Windows SIM и не выберите ассоциированный с ним WIM-файл), поэтому вы должны быть точно уверены, что вносите верные изменения, в противном случае файл ответов окажется неработоспособен.
Также стоит отметить, что для сценариев, в которых файл ответов должен автоматически определяться без прямого указания пути к нему, он должен иметь имя Autounattend.xml.
Ниже приведен листинг простого файла ответов:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <ImageInstall>
                <OSImage>
                    <InstallTo>
                        <DiskID>0</DiskID>
                        <PartitionID>1</PartitionID>
                    </InstallTo>
                    <WillShowUI>OnError</WillShowUI>
                </OSImage>
            </ImageInstall>
        </component>
    </settings>
    <settings pass="specialize">
        <component name="Microsoft-Windows-TCPIP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Interfaces>
                <Interface wcm:action="add">
                    <Ipv4Settings>
                        <DhcpEnabled>true</DhcpEnabled>
                    </Ipv4Settings>
                    <Identifier>1</Identifier>
                </Interface>
            </Interfaces>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:d:/distr/sources/install.wim#Windows 7 Professional x64" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Во второй строке описывается схема xml-файла, указывающая, что этот xml-документ является файлом ответов.
Блок settings pass содержит в себе сведения о компонентах для указанного в его параметре этапа установки. Далее вложенными блоками идут параметры XML-файла, и их свойства. Свойства файла ответов бывают не только простыми значениями, но и списками, каждый элемент которого добавляется при помощи специальной директивы wcm:action="add"
Теперь обратите внимание на предпоследнюю строку листинга. Там указывается путь к WIM-файлу, с одним из образов которого ассоциирован файл ответов. Имя образа указывается слитно с именем WIM-файла, через символ «#».

Файл каталога

Как известно, данные, копируемые на компьютер при установке ОС хранятся в установочном WIM-файле (об архитектуре WIM-файлов вы можете прочесть в соответствующей статье), в то время как сведения о параметрах и пакетах, входящих в конкретный образ системы, хранятся не вместе с метаданными образа, а в отдельном файле каталога с расширением clg. Его имя определяется следующим образом <имя WIM-файла>_<Имя образа в WIM-файле>.clg. От содержимого файла каталога зависит список компонентов и пакетов, которые можно будет добавить в файл ответов. При создании файла ответов файл каталога для выбранного образа должен обязательно присутствовать и быть актуальным, то есть соответствовать текущему содержимому образа. В случае его отсутствия либо неактуальности будет выполнена переиндексация образа с целью создания актуального файла-каталога. Данная операция требует для своего успешного выполнения прав администратора. Также обратите внимание, что файл каталога – двоичный, и его ручное редактирование невозможно.
Еще одной полезной особенностью Windows SIM является возможность выбора в области «Образ Windows» имеющегося файла-каталога. При этом будет выведен список компонентов и пакетов, доступных для данного файла-каталога. При создании файла ответов, он будет ассоциирован не с образом в WIM-файле, а с файлом-каталогом, и предпоследняя строка в его XML-выкладке будет выглядеть следующим образом
<cpi:offlineImage cpi:source="catalog:d:/distr/sources/install_windows 7 professional x64.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />

Теоретически, файл ответов, созданный для образа в WIM-файле, можно переассоциировать с файлом каталога, ассоциированного с ТЕМ ЖЕ образом, без потери работоспособности файла ответов.
Конфигурационный набор
Конфигурационный набор – этой файл или структура папок, содержащая необходимые файлы, которые управляют процессом предварительной установки и включают в себя драйвера, языковые пакеты, обновления и другую информацию, по желанию администратора, а также файл ответов.
Для большего понимания того, как в конфигурационном наборе хранятся данные, необходимо ввести понятие дистрибутивного общего ресурса. Дистрибутивный общий ресурс - папка, содержащая исходные файлы для устанавливаемых продуктов Windows. Может также содержать дополнительные драйверы устройств и файлы приложений.
Дистрибутивный общий ресурс используется в сетевых сценариях установки, когда клиентский компьютер загружается с Windows PE, и далее в параметрах командной строки setup.exe указывается путь к файлу ответов и дистрибутивному общему ресурсу, размещённому в сети как общая папка, либо же файл ответов расположен на съемном диске и определяется автоматически, и указывает путь и учетные данные для подключения к дистрибутивному общему ресурсу
Однако довольно часто приходится «собирать» все необходимые файлы в конфигурационный набор, для сценариев развертывания со съёмного диска, либо при создании единого загрузочного диска. Поэтому в некоторых сценариях имеет смысл добавить в конфигурационный набор дистрибутивный общий ресурс.
Сам дистрибутивный общий ресурс представляет собой набор из трех папок:
• $OEM Folders
Папка содержит в себе файлы, которые будут скопированы в ту или иную папку системы, в зависимости от имени папки, при установке операционной системы
• Out-Of-Box Drivers
Папка содержит в себе файлы драйверов для установки
• Packages
Папка содержит в себе файлы языковых пакетов и обновлений

Заключение

В данной статье было рассказано об архитектуре технологий, которые использует Windows SIM для выполнения развёртывания. Подробные инструкции для каждого сценария ищите в соответствующих статьях.