Установка Windows Vista в unattended (автоматическом) режиме Нововведения в Windows Vista для unattended (автоматической) установки Компания Microsoft предложила новую операционную систему Windows Vista. Несомненно, нововведения коснулись не только саму операционную систему, но и процесс установки. В этой статье я попытаюсь рассмотреть процесс unattended (автоматической установки) Windows Vista Сначала хочу кратко рассмотреть, новое в автоматической установке Windows Vista И так, исчезли программы winnt.exe и winnt32.exe. В предыдущих версиях операционных систем эти программы использовались для установки из DOS и Windows соответственно. Их заменила программа setup.exe. Также исчез и текстовый режим (text mode). Вся установка идет в графическом режиме. Файл ответов winnt.sif, который использовался в предыдущих версиях для unattended (автоматической) установки Windows, переименован в autounattend.xml, а также изменения коснулись и формата. Теперь это XML. Setup Manager, программа для создания файлов ответов, заменена Windows System Image Manager (Windows SIM). Создание файла ответов Для работы с файлами ответов предназначена программа 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\*.clg). Для этого выбираю File -> Select Windows Image…. Я собираюсь устанавливать Windows Vista Ultimate поэтому указываю файл install_windows vista ultimate.clg. В результате этих действий в панели Windows Image появится список доступных компонентов. В панели Answer file отображаются этапы установки операционной системы Windows Vista. Приступаю к их настройке. Этап – windowsPE Для этого перетаскиваю компонент Microsoft-Windows-International-Core-WinPE с панели Windows Image в панель Answer file. Теперь его необходимо настроить. Свойство InputLocale SystemLocale UILanguage, UILanguageFallback UserLocale SetupUILanguage UILanguage Значение Описание 0409:00000409;0419:00000419 Во время установки Windows Vista использовать английскую и русскую клавиатуру. ru-RU Указывает что использовать русские шрифты и кодовые страницы en-US Использовать английский язык в интерфейсе операционной системы ru-RU Использовать российский формат для отображения даты и времени, денежных единиц и чисел. en-US Во время установки использовать английский язык. Теперь настраиваю компонент Microsoft-Windows-Setup, также перетаскиваю его с панели Windows Image в панель Answer file. Свойство Значение DiskConfiguration WillShowUI Always. UserData UserData - ProductKey Key 12345-12345-1234512345-12345 WillShowUI OnError AcceptEula true Описание Всегда отображать меню выбора жесткого диска Ключ При возникновении ошибки показывать диалоговое окно для ввода ключа Автоматически соглашаться с лицензионным соглашением Этап – specialize Перетаскиваю компонент Microsoft-Windows-Shell-Setup с панели Windows Image в панель Answer file. Теперь его необходимо настроить. Свойство Значение Описание ComputerName * Автоматически генерировать имя компьютера Этап – oobeSystem Для этих целей нам понадобится компонент Microsoft-Windows-Shell-Setup. Свойство OOBE ProtectYourPC Значение Описание 1 Установить рекомендуемый уровень защиты компьютера Отключить определение располжение сети Временная зона NetworkLocation Other TimeZone Russian Standard Time UserAccounts UserAccounts - LocalAccounts Description unattended user created Name user Group Administrators Описание пользователя Имя пользователя Пользователь входит в группу Administrators UserAccounts - LocalAccounts - Password Value UABhAHMAcwB3AG8AcgBkAA== Пароль в зашифрованном виде PlainText false Этот параметр указывает, что пароль в зашифрованном виде Завершение создание файла Перед сохранением файла необходимо сначала удалить неиспользуемые параметры. Теперь необходимо проверить его корректность. Сделать это необходимо через Tools -> Validate Answer File. Если замечаний в панели Messages нет, то файл можно сохранять, иначе сначала необходимо устранить все замечания. Проверенный файл сохраняю под именем autounattend.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;0419:00000419</InputLocale> <LayeredDriver>1</LayeredDriver> <SystemLocale>ru-RU</SystemLocale> <UILanguage>en-US</UILanguage> <UILanguageFallback>en-US</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> <UserData> <ProductKey> <Key>12345-12345-12345-12345-12345</Key> <WillShowUI>OnError</WillShowUI> </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>1</ProtectYourPC> <NetworkLocation>Other</NetworkLocation> </OOBE> <TimeZone>Russian Standard Time</TimeZone> <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> <Name>user</Name> <Group>Administrators</Group> <Password> <Value>UABhAHMAcwB3AG8AcgBkAA==</Value> <PlainText>false</PlainText> </Password> </LocalAccount> </LocalAccounts> </UserAccounts> </component> </settings> <cpi:offlineImage cpi:source="catalog://192.168.200.1/work/install_windows vista ultimate.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend> Устанавливаем систему Для того чтобы установка Windows Vista проходила в unattended (автоматическом) режиме файл autounattend.xml нужно записать или в корень дискеты, или в корень установочного диска с Windows Vista. Во время инсталляции программа setup предложит выбрать раздел жесткого диска на который необходимо установить операционную систему, а также, что устанавливать: Windows Vista Business Windows Vista HomeBasic Windows Vista HomePremium Windows Vista Ultimate Windows Vista HomeBasicN Windows Vista BusinessN Windows Vista Starter Дальше инсталляция пойдет автоматически без всяких вопросов. Установка обновлений (updates) Несомненно, установка обновлений это важный этап в развертывании любой операционной системы. Здесь я буду производить установку следующих обновлений Обновление Название Имя файла KB929761 When you run Wusa.exe together with the /quiet option to try Windows6.0to install certain software packages on a Windows Vista-based KB929761computer, the installation fails x86.msu KB929615 You may not receive audio in the desired language when you Windows6.0use Windows Media Center to view television in Windows KB929615Vista x86.msu KB929762 You receive a Stop 0x9F error when you wake a Windows Vista-based computer that is connected to an IEEE 1394based device Windows6.0KB929762x86.msu KB929763 Version 5.00 of the Mongolian Baiti font may be displayed incorrectly in Windows Vista Windows6.0KB929763x86.msu KB930163 In Windows Vista, you cannot access any resources on a Windows6.0remote VPN server after you switch a network connection KB930163from one network adapter to another network adapter and then x86.msu dial a VPN connection KB928089 Windows6.0The computer may respond very slowly as the Phishing Filter KB928089evaluates Web page contents in Internet Explorer 7 x86.msu KB929427 The Windows Vista Application Compatibility Update Windows6.0KB929427x86.msu KB925528 Reliability update for the USB stack in Windows Vista Windows6.0KB925528x86.msu KB929685 A high definition audio device may no longer work after you resume Windows Vista from sleep or from hibernation and then restart the computer Windows6.0KB929685x86.msu KB931573 You may be prompted to activate Windows Vista on a computer on which Windows Vista activation was not previously required Windows6.0KB931573x86.msu KB929735 You may not find the file that you want when you use Advanced Search to search by date and you use a nonGregorian calendar format in Windows Vista Windows6.0KB929735x86.msu KB929777 Error message when you try to install Windows Vista on a computer that uses more than 3 GB of RAM: "STOP 0x0000000A" Windows6.0KB929777-v2x86.msu KB930857 An update is available for Windows Error Reporting in Windows Vista to make sure that problem reports are sent only after you have granted permission Windows6.0KB930857x86.msu KB930955 Moveuser.exe is incompatible with Windows Vista and is replaced by the new Win32_UserProfile WMI functionality Windows6.0KB930955x86.msu RB929451 Windows6.0A client computer that is running Windows Vista registers an KB929451old IP address when the GUID of a network adapter changes x86.msu Запускаю Windows System Image Manager (Windows SIM). Теперь необходимо создать дистрибутивный общий ресурс (Distribution Share) для этого в меню Tools выбираю Create Distribution Share. В появившемся окне указываю расположение дистрибутивного общего ресурса (Distribution Share), в моем случаи это C:\DISTRIBS . Теперь настало время подготовить пакеты обновлений. Для этого их сначала необходимо разархивировать. Сделать это можно командой expand /F:* <имя файла MSU> <директория назначения>. Но их много и поэтому я создал командный файл extupd.cmd для упрощения этой задачи. set src=%1 set dest=%2 mkdir %dest% for %%i in (%src%\*.msu) do ( expand /F:* %%i %dest% del /Q %dest%\*.txt del /Q %dest%\WSUSSCAN.cab ) Если запустить этот файл командой extupd.cmd d:\downloads c:\updates, то он извлечет файлы *.msu из каталога d:\downloads в каталог c:\updates при этом удалив ненужные файлы *.txt и wsusscan.cab. Извлеченные обновления теперь необходимо поместить в дистрибутивный общий ресурс (Distribution Share). Для этого в Windows System Image Manager (Windows SIM) нажимаю Tools выбираю Import Packages. Далее выбираю директорию c:\updates, выделяю все обновления и нажимаю кнопку Open. В результате экран программы Windows System Image Manager (Windows SIM) примет вид: Для того чтобы программа установки Windows Vista узнала, что необходимо установить пакеты обновлений необходимо в панели Distribution Share нажать правую кнопку мыши на Packages и выбрать Add to Answer File. После выполнения этой операции информация о всех обновления станет доступна во время установки Windows Vista Теперь осталось сформировать набор конфигурации (configuration set), нажимаю Tools и выбираю Create Configuration Set. В появившемся окне в поле Select the target folder for the configuration set указываю C:\2DVD. После всех вышеперечисленных действий в каталоге 2DVD будет содержать файлы и каталоги необходимые для автоматической установки Windows Vista вместе с обновлениями в том числе и файл ответов autounattend.xml. <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <servicing> <package action="install"> <assemblyIdentity name="Package_1_for_KB930955" version="6.0.1.0" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\HotFix\x86_Pac kage_1_for_KB930955_6.0.1.0_neutral_31bf3856ad364e35_\Windows6.0-KB930955x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB925528" version="6.0.1.2" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB925528_6.0.1.2_neutral_31bf3856ad364e35_\Windows6.0-KB925528x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB929615" version="6.0.1.1" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB929615_6.0.1.1_neutral_31bf3856ad364e35_\Windows6.0-KB929615x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB929685" version="6.0.1.1" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB929685_6.0.1.1_neutral_31bf3856ad364e35_\Windows6.0-KB929685x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB929735" version="6.0.1.0" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB929735_6.0.1.0_neutral_31bf3856ad364e35_\Windows6.0-KB929735x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB929761" version="6.0.1.1" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB929761_6.0.1.1_neutral_31bf3856ad364e35_\Windows6.0-KB929761x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB929762" version="6.0.1.0" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB929762_6.0.1.0_neutral_31bf3856ad364e35_\Windows6.0-KB929762x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB929763" version="6.0.1.1" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB929763_6.0.1.1_neutral_31bf3856ad364e35_\Windows6.0-KB929763x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB929777" version="6.0.2.0" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB929777_6.0.2.0_neutral_31bf3856ad364e35_\Windows6.0-KB929777-v2x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB930163" version="6.0.1.1" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB930163_6.0.1.1_neutral_31bf3856ad364e35_\Windows6.0-KB930163x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB930857" version="6.0.1.0" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB930857_6.0.1.0_neutral_31bf3856ad364e35_\Windows6.0-KB930857x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB931573" version="6.0.1.0" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_1_for_KB931573_6.0.1.0_neutral_31bf3856ad364e35_\Windows6.0-KB931573x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_for_KB928089" version="6.0.1.1" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_for_KB928089_6.0.1.1_neutral_31bf3856ad364e35_\Windows6.0-KB928089x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_for_KB929427" version="6.0.1.10" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\Update\x86_Pac kage_for_KB929427_6.0.1.10_neutral_31bf3856ad364e35_\Windows6.0-KB929427x86.cab" /> </package> <package action="install"> <assemblyIdentity name="Package_1_for_KB929451" version="6.0.1.0" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" /> <source location="%configsetroot%\AutoUnattend_Files\distribs\Packages\HotFix\x86_Pac kage_1_for_KB929451_6.0.1.0_neutral_31bf3856ad364e35_\Windows6.0-KB929451x86.cab" /> </package> </servicing> <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;0419:00000419</InputLocale> <LayeredDriver>1</LayeredDriver> <SystemLocale>ru-RU</SystemLocale> <UILanguage>en-US</UILanguage> <UILanguageFallback>en-US</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> <UserData> <ProductKey> <Key>12345-12345-12345-12345-12345</Key> <WillShowUI>OnError</WillShowUI> </ProductKey> <AcceptEula>true</AcceptEula> </UserData> <UseConfigurationSet>true</UseConfigurationSet> </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>1</ProtectYourPC> </OOBE> <TimeZone>Russian Standard Time</TimeZone> <UserAccounts> <LocalAccounts> <LocalAccount wcm:action="add"> <Name>user</Name> <Group>Administrators</Group> <Password> <Value>UABhAHMAcwB3AG8AcgBkAA==</Value> <PlainText>false</PlainText> </Password> </LocalAccount> </LocalAccounts> </UserAccounts> </component> </settings> <cpi:offlineImage cpi:source="catalog://192.168.200.1/work/vista/install_windows vista ultimate.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> </unattend> Для установки необходимо записать содержимое каталога 2DVD в корень инсталляционного диска Windows Vista.