Автоматическая установка Windows Vista и Windows 7 Нововведения в автоматической установке Windows Vista и Windows 7 В 2007 году компания Microsoft представила новую операционную систему Windows Vista. Новые возможности не только увеличили потенциал операционной системы, но также изменили и процесс установки. А через 2 года компания Microsoft в очередной раз предложила миру свою новую операционную систему Windows 7. Перед тем как непосредственно перейти к вопросу давайте кратко рассмотрим, что нового появилось в автоматической установке операционных систем Windows Vista/Windows Server 2008/Windows 7. И так, основная часть дистрибутива Windows переехала в архив install.wim, который может содержать несколько редакций операционной системы. Исчезли программы winnt.exe и winnt32.exe. В предыдущих версиях операционных систем эти программы использовались для установки из DOS и Windows соответственно. Их заменила программа setup.exe. Также исчез и текстовый режим (text mode). Теперь вся установка идет в графическом режиме. Кроме того установка начинается с загрузки Windows PE. Файл ответов winnt.sif, который использовался в предыдущих версиях для автоматической (unattended) установки Windows теперь называется autounattend.xml. И формат этого файла уже XML. Одной из полезных возможностей, который появились, это возможность произвести разбивку диска на разделы, а также указать на какой раздел производить установку. Программа Setup Manager, которая использовалась для создания файлов ответов, заменена на Windows System Image Manager (Windows SIM). Изложенный ниже материал подходит для всех операционных систем начиная с Windows Vista, как для платформы x64, так и x86, несмотря на то, что примеры приводятся для Windows 7. Создание файла ответов Для автоматической установки Windows Vista/Windows 7 нужен файл ответов. Сразу хочу заметить, что рассматриваемые здесь параметры файла ответов предназначены лишь для того чтобы произвести автоматическую установку и не используют возможности по настройке операционной системы. Для создания файл ответов служит программа Windows System Image Manager (Windows SIM), входит в состав Windows Automated Installation Kit (AIK). Запускаем Windows SIM (Start (Пуск) -> All Programs (Все программы) -> Microsoft Windows AIK -> Windows System Image Manager). Первым делом необходимо открыть файл каталог (catalog) (размещается на DVD диске в директории sources). Для этого выбираем File -> Select Windows Image и указываем файл install_Windows 7 ULTIMATE.clg (для написание этой статьи использовался диск с Windows 7 Ultimate). После открытия в панели Windows Image появится список доступных пакетов и компонентов. Теперь нажимаем File -> New Answer File. В панели Answer File отобразиться список этапов установки операционной системы. Не смотря на то, что этапов установки всего семь, нам понадобиться всего три: windowsPE, specialize и oobeSystem. Этап – windowsPE Это самый первый этап установки операционной системы. Компоненты, которые используются на этом этапе, позволяют установить дополнительный язык, выбрать какую операционную систему разворачивать из файла install.wim и подготовить жесткий диск (создать и отформатировать разделы). Начнем с настройки языка. Для этого нажимаем правую клавишу мыши на компоненте Microsoft-Windows-International-Core-WinPE и выбираем Add Setting to Pass 1 windowsPE. Производим его настройку. Свойство InputLocale SystemLocale UILanguage, UILanguageFallback Значение Описание Во время установки Windows 0409:00000409;0419:00000419 использовать английскую и русскую клавиатуру. ru-RU Использовать русские шрифты и кодовые страницы для программ не использующих Unicode. ru-RU Использовать русский язык в интерфейсе операционной системы. В случае английской версии здесь должно быть en-US. UserLocale ru-RU SetupUILanguage\UILanguage ru-RU Использовать российский формат для отображения даты и времени, денежных единиц и чисел. Во время установки использовать русский язык. В случае установки английской версии здесь должно быть en-US. Теперь настраиваем компонент Microsoft-Windows-Setup, который перетаскиваем с панели Windows Image на панель Answer file в windowsPE . Свойство Значение Описание UserData\AcceptEula True Автоматически соглашаться с лицензионным соглашением. UserData\ProductKey\Key 12345-12345-1234512345-12345 Ключ продукта. Перед тем как начать инсталляцию, программа установки Windows должна знать, что же устанавливать. Идентификация дистрибутива осуществляется либо по индексу (index), имени (name) или описанию (description). Для того чтобы указать что устанавливать, необходимо выяснить как же наш дистрибутив обзывается в недрах файла install.wim. Можно это сделать несколькими вариантами. Первый, так сказать рекомендованный разработчиком, использовать программу dsim.exe (входит в состав Windows AIK). Набираем dsim.exe /get-wiminfo /wimfile:z:\sources\install.wim, где Z – буква назначенная DVD. Например, для Windows 7 Ultimate команда dsim.exe вывела следующие данные. Deployment Image Servicing and Management tool Version: 6.1.7600.16385 Details for image : z:\sources\install.wim Index : 1 Name : Windows 7 STARTER Description : Windows 7 STARTER Size : 7 738 117 472 bytes Index : 2 Name : Windows 7 HOMEBASIC Description : Windows 7 HOMEBASIC Size : 7 757 925 235 bytes Index : 3 Name : Windows 7 HOMEPREMIUM Description : Windows 7 HOMEPREMIUM Size : 8 200 331 182 bytes Index : 4 Name : Windows 7 PROFESSIONAL Description : Windows 7 PROFESSIONAL Size : 8 082 880 421 bytes Index : 5 Name : Windows 7 ULTIMATE Description : Windows 7 ULTIMATE Size : 8 241 451 274 bytes The operation completed successfully. Так как я устанавливаю Windows 7 Ultimate, то установщику я должен указать, либо индекс 5, либо имя Windows 7 Ultimate, либо такое же описание. Второй вариант с помощью команды imageX.exe /info z:\sources\install.wim. Так как вывод команды очень подробный, то попробуем из вывода исключить не нужное, изменив команду на imageX.exe /info z:\sources\install.wim | findstr “<IMAGE <NAME> <DESCRIPTION”. <IMAGE INDEX="1"> <NAME>Windows 7 STARTER</NAME> <DESCRIPTION>Windows 7 STARTER</DESCRIPTION> <IMAGE INDEX="2"> <NAME>Windows 7 HOMEBASIC</NAME> <DESCRIPTION>Windows 7 HOMEBASIC</DESCRIPTION> <IMAGE INDEX="3"> <NAME>Windows 7 HOMEPREMIUM</NAME> <DESCRIPTION>Windows 7 HOMEPREMIUM</DESCRIPTION> <IMAGE INDEX="4"> <NAME>Windows 7 PROFESSIONAL</NAME> <DESCRIPTION>Windows 7 PROFESSIONAL</DESCRIPTION> <IMAGE INDEX="5"> <NAME>Windows 7 ULTIMATE</NAME> <DESCRIPTION>Windows 7 ULTIMATE</DESCRIPTION> Или же еще один вариант. Определить имя устанавливаемой версии Windows можно по имени файла каталога. На дисках от Microsoft, данные файлы располагаются в каталоге sources и имеют расширение CLG. Для определения необходимо с имени файла убрать "install_” и расширение “.clg". Например, файл "install_Windows 7 ULTIMATE.clg" обозначает Windows 7 Ultimate. Теперь осталось внести данные о том, что устанавливать в наш файл ответов. Свойство Значение Описание ImageInstall\OSimage\InstallFrom Нажимаем правую клавишу мыши и выбираем пункт Insert New Metadata ImageInstall\OSimage\InstallFrom\MetaData\Key Значения Key может быть следующим /IMAGE/NA :/IMAGE/INDEX, ME /IMAGE/NAME, /IMAGE/DESCRIPT ION. ImageInstall\OSimage\InstallFrom\MetaData[key=”/image/ Windows 7 name”]\Value Ultimate В зависимости от значения Key указываем инсталлируемый дистрибутив либо по индексу, либо по имени, либо по описанию. Так как значение Key было указано выше, как /IMAGE/NAME, то Value принимает значение Windows 7 Ultimate. Как я уже говорил в начале этой статьи, что одним из нововведений стало поддержка разбития дисков на разделы, а также указание, куда устанавливать Windows. Сразу хочу заметить, что нумерация дисков начинается с нуля, а разделов с единицы. Нумеруются только основные (primary) и логические (logical) разделы. Дополнительному (extended) разделу номер не присваивается. Конфигурация дисковой подсистемы выполняется на этапе windowsPE с помощью компонента Microsoft-Windows-Setup и группы параметров DiskConfiguration. Приведенные ниже примеры можно адаптировать под свои нужды, но в целях практичности я считаю, что создавать разделы и указывать, куда устанавливать лучше вручную. Поэтому в файле ответов указал в DiskConfiguration только один параметр. Свойство Значение DiskConfiguration\WillShowUI Always Описание Всегда отображать меню настройки жесткого диска. А теперь примеры для лучшего понимания новых возможностей работы с жестким диском. Во время автоматической установки необходимо удалить все разделы и создать один основной раздел на весь диск на который и произвести инсталляцию Windows. Свойство DiskConfiguration Значен Описание ие Нажимаем правую клавишу мыши и выбираем пункт Insert New Disk DiskConfiguration\Disk\DiskID 0 Выбираем первый диск (нумерация начинается с нуля) DiskConfiguration\Disk[DiskID=”0”]\WillWipeDisk true Производи м полную очистку DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions Нажимаем правую клавишу мыши и выбираем пункт Insert New CreatePartition DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition\O 1 rder Значение 1, говорит, что данный раздел будет первым в очереди на создание. DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[O true rder=”1”]\Extend Создаваем ый раздел займет все свободное место. Создаваем DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[O ый раздела Primary rder=”1”]\Type будет основным. DiskConfiguration\WillShowUI Отображат ь меню выбора OnError жесткого диска в случае ошибки. ImageInstall\OSImage\InstallTo\DiskID ImageInstall\OSImage\InstallTo\PartitionID 0 Выбрать для установки первый диск 1 Установить операционн ую систему на первый раздел Кто устанавливал Windows XP/2003 сразу заметит, что и предыдущие версии с этой задачей хорошо справлялись. А теперь, для примера, усложним задачу. Необходимо очистить диск, создать основной раздел объемом 1000 Мб с файловой системой FAT32 и назначить ему букву C. и логический диск D размером 50000 Мб. Установку операционной системы Windows 7 произвести на D. Свойство DiskConfiguration Значе ние Описание Нажимаем правую клавишу мыши и выбираем пункт Insert New Disk DiskConfiguration\Disk\DiskID 0 Выбираем первый диск (нумерация начинается с нуля) DiskConfiguration\Disk[DiskID=”0”]\WillWipeDisk True Производим полную очистку DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions Нажимаем правую клавишу мыши и выбираем пункт Insert New CreatePartition DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition\ Order DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[ Order=”1”]\Extend 1 Значение 1, говорит, что данный раздел будет создан первым. False Размер создаваемого раздела будет указан ниже DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[ Order=”1”]\Type Создаваемый Primar раздела y будет основным DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[ Order=”1”]\Size Размер раздела 1000 Мб DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions 1000 Так как логические диски располагаются внутри дополнительного раздела, то его необходимо создать. Нажимаем правую клавишу мыши и выбираем пункт Insert New CreatePartition 2 Значение 2, говорит, что данный раздел будет вторым в очереди на создание. DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[ Order=”2”]\Extend True Дополнитель ный раздел займет все свободное место на диске. DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[ Order=”2”]\Type Создаваемый Extend раздел будет ed дополнитель ным. DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions Создаем логический диск. Нажимаем правую клавишу мыши и выбираем пункт Insert New CreatePartition DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition\ Order DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition\ Order 3 Значение 3, говорит, что данный раздел будет третьим в очереди на создание. Размер создаваемого раздела будет указан ниже DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[ Order=”3”]\Extend False DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[ Order=”3”]\Type Создаваемый раздела Logical будет логическим Размер раздела составляет 50000 Мб DiskConfiguration\Disk[DiskID=”0”]\CreatePartitions\CreatePartition[ Order=”3”]\Size 50000 DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions Нажимаем правую клавишу мыши и выбираем пункт Insert New ModifyPartition DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions\ModifyPartition 1 \Order Указываем, что данный раздел будет обработан первым. DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions\ModifyPartition C [Order=”1”]\Letter Присвоить разделу букву C. Отформатир овать раздел под файловую DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions\ModifyPartition FAT32 систему [Order=”1”]\Format FAT32. По умолчанию используется NTFS. DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions\ModifyPartition 1 [Order=”1”]\PartitionID DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions Выбрать для операций (форматиров ание и присвоение буквы) первый раздел на диске. Нажимаем правую клавишу мыши и выбираем пункт Insert New ModifyPartition DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions\ModifyPartition 2 \Order Значение 2, говорит, что данный раздел будет вторым в очереди на обработку. DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions\ModifyPartition D [Order=”2”]\Letter Присвоить разделу букву D. DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions\ModifyPartition NTFS [Order=”2”]\Format Отформатир овать раздел под файловую систему NTFS. DiskConfiguration\Disk[DiskID=”0”]\ModifyPartitions\ModifyPartition 2 [Order=”2”]\PartitionID Выбрать для операций (форматиров ание и присвоение буквы) второй раздел на диске. DiskConfiguration\WillShowUI Отображать меню выбора OnErro жесткого r диска в случае ошибки. ImageInstall\OSImage\InstallTo\DiskID 0 Выбрать для установки первый диск. 2 Установить операционну ю систему на второй раздел. ImageInstall\OSImage\InstallTo\PartitionID Пару слов о PartitionID. Данный параметр задает номер раздела, на который будет производиться установка (InstallTo\PartitionID) либо который будет изменен с помощью группы параметров ModifyPartition. PartitionID не следует путать с Order, который всего лишь задает порядок при обработке. Нумерация PartitionID начинается с единицы, и номер присваивается только основным (primary) и логическим (logical) разделам. Этап – specialize После того как install.wim распакуется и компьютер перезагрузиться. Начинается этап specialize, во время которого происходит настройка системы, установка сетевых параметров и имени компьютера. Выбираем из списка компонентов Microsoft-Windows-Shell-Setup и нажимаем на нем правую клавишу мыши. Выбираем Add Setting to Pass 4 specialize и приступаем к его настройке. Свойство Значение ComputerName * Описание Символ звездочка, указывает, что имя компьютера будет автоматически сгенерировано. Этап – oobeSystem Это заключительный этап установки операционной системы. Начинается он после завершения предыдущего и перезагрузки системы. Перетаскиваем компонент Microsoft-Windows-Shell-Setup с панели Windows Image на oobeSystem панели Answer file и производим его настройку. Свойство TimeZone OOBE\ProtectYourPC Значение Описание Russian Standard Time Данное значение соответствует временной зоне (UTC+03:00) Москва, СанктПетербург, Волгоград. Жители Республики Беларусь должны указывать E. Europe Standard Time, а Украины FLE Standard Time. 3 Автоматическ ая установка обновлений с помощью Windows Update отключена. Отключить определение устройств в сети . OOBE\NetworkLocation Other UserAccounts\LocalAccounts Нажимаем правую клавишу мыши и выбираем пункт Insert New LocalAccount UserAccounts\LocalAccounts\L User ocalAccount\Name Имя пользователя UserAccounts\LocalAccounts\L ocalAccount[Name=”user”]\Gro administrators up Пользователь входит в группу Administrators UserAccounts\LocalAccounts\L ocalAccount[Name=”user”]\Pass 12345 word\Value Пароль Завершение создание файла Перед тем как сохранить файл компанией Microsoft рекомендуется удалить неиспользуемые параметры, а затем с помощью Tools -> Validate Answer File проверить корректность файла ответов. Если замечаний в панели Messages нет, то тогда файл можно сохранять, иначе сначала необходимо устранить все замечания. На мой взгляд, это лишнее и можно сразу сохранять. В результате получился вот такой файл. Обратите внимание на свойство processorArchitecture в описании компонентов (component). Значение этого параметра указывает, на каких платформах (x86, amd86) использовать тот или иной компонент. Таким образом, для автоматической установки Windows 7 х64 этот файл не подойдет. <?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>ru-RU</UILanguage> </SetupUILanguage> <InputLocale>0409:00000409;0419:00000419</InputLocale> <SystemLocale>ru-RU</SystemLocale> <UILanguage>ru-RU</UILanguage> <UILanguageFallback>ru-RU</UILanguageFallback> <UserLocale>ru-RU</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"> <DiskConfiguration> <WillShowUI>Always</WillShowUI> </DiskConfiguration> <ImageInstall> <OSImage> <InstallFrom> <MetaData wcm:action="add"> <Key>/IMAGE/NAME</Key> <Value>Windows 7 Ultimate</Value> </MetaData> </InstallFrom> </OSImage> </ImageInstall> <UserData> <ProductKey> <Key>12345-12345-12345-12345-12345</Key> </ProductKey> <AcceptEula>true</AcceptEula> </UserData> </component> </settings> <settings pass="specialize"> <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"> <ComputerName>*</ComputerName> </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> <ProtectYourPC>3</ProtectYourPC> <NetworkLocation>Other</NetworkLocation> </OOBE> <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> <Password> <Value>12345</Value> <PlainText>true</PlainText> </Password> <Name>user</Name> <Group>administrators</Group> </LocalAccount> </LocalAccounts> </UserAccounts> <TimeZone>Russian Standard Time</TimeZone> </component> </settings> <cpi:offlineImage cpi:source="catalog:d:/sources/install_windows 7 ultimate.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend> Установка обновлений С выходом Windows Vista изменился и сам формат обновлений. Теперь это файлы с расширением MSU и установкой обновлений руководить программа wusa.exe. Но кроме этого, теперь двоичный код обновления отделен от языковой поддержки. Другими словами, если для Windows XP/2003 приходилось загружать обновление согласно языку операционной системы, то здесь для всех (Vista/Server 2008/7) языков одно и то же обновление. Установка обновлений во время инсталляции будет рассмотрено на примере операционной системы Windows 7 (платформа x86). Хотя описанный здесь способ работает, как и для предшественницы Windows Vista, так и для 64 битных операционных систем. Для установки нам понадобятся обновления, которые можно скачать с сайта Microsoft. Полученные обновления сохраняем в каталоге c:\updates. Для дальнейшей работы файлы обновлений необходимо разархивировать. Сделать это можно с помощью команды mkdir c:\updates\extract && expand /F:* c:\updates\*.msu c:\updates\extract. Данная команда извлечет файлы из пакета MSU и поместит их в каталог c:\updates\extract. Запускаем Windows System Image Manager (Windows SIM), открываем ранее подготовленный файл ответов, и создаем дистрибутивный общий ресурс (Distribution Share). Для этого в меню Tools выбираем Create Distribution Share и указываем расположение c:\distribs. Извлеченные файлы необходимо поместить в дистрибутивный общий ресурс (Distribution Share). Для этого в Windows SIM нажимаем Tools, выбираем Import Packages. В появившимся окне указываем каталог c:\updates\extract, выделяем обновление (файл wsusscan.cab не является обновлением и его нужно пропустить) и нажимаю кнопку Open. Каждое импортированный пакет будет отображаться в панели Distribution Share. Для того чтобы программа установки узнала, что необходимо еще установить пакеты обновлений необходимо в панели Distribution Share нажать правую кнопку мыши на Packages и выбрать Add to Answer File. После выполнения этой операции информация обо всех обновления, которые ранее были импортированы, будет занесена в файл ответов. В завершении осталось сформировать набор конфигурации (configuration set). Для этого нажимаем Tools и выбираем Create Configuration Set. В появившемся окне в поле Select the target folder for the configuration set указываем c:\2dvd. В результате будет создана папка 2dvd, которая будет содержать файлы и каталоги, необходимые для автоматической установки Windows вместе с обновлениями, в том числе и файл ответов autounattend.xml. Собираем все вместе Для того чтобы установка Windows Vista/Server 2008/Windows 7 проходила в автоматическом режиме необходимо файл autounattend.xml записать или в корень дискеты, флешки или в корень установочного диска с Windows вместе с содержимым каталога c:\2dvd. Во время инсталляции программа установки предложит подготовить жесткий диск и выбрать раздел, на который необходимо установить операционную систему. Дальше инсталляция пойдет автоматически без всяких вопросов.