Windows Setup Automation. Учим Windows 10 ставиться на автопилоте и не задавать вопросов

Windows Setup Automation. Учим Windows 10 ставиться на автопилоте и не задавать вопросов

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение

Если ты думаешь, что установка Windows 10 — крайне простой и тривиальный процесс, то ты ошибаешься. Потому что он может стать еще проще и тривиальнее, если приложить к этому немного усилий. Существует способ установить систему, не отвлекаясь на вопросы программы-инсталлятора: это очень удобно, а при обслуживании парка машин — попросту необходимо. Давай разберемся, как работает этот механизм.

Режим автоматической установки ОС, или Windows Setup Automation (WSA), хорошо известен пользователям еще со времен Windows XP. Правда, с тех пор он претерпел ряд существенных изменений. С использованием WSA можно запустить процедуру инсталляции и спокойно уйти по своим делам на часик-другой, а вернувшись, обнаружить, что система уже работает на компьютере. Магия! К счастью, никаких сложных заклинаний для этого не потребуется. Основные методы автоматизации установки, а также некоторые связанные с нею хитрости мы и рассмотрим в сегодняшней статье.

Только без рук!

Если ты желаешь запустить установку Windows и идти пить кофе, избавившись от необходимости сидеть в ближайшие сорок минут перед монитором, такая возможность есть. Причем эта возможность существует уже давно: механизмы автоматизированного развертывания ОС с прицелом на корпоративный рынок, где сисадминам приходится обслуживать парк из десятков и сотен компьютеров, в Microsoft придумали уже более двадцати лет назад.

Во времена Windows XP все было проще. Доллар стоил 28 рублей, пиво — меньше доллара, а для автоматизированной установки винды требовалось всего лишь создать специальный текстовый файл unattend.txt и бросить его в корень дистрибутива. Сейчас все кардинально изменилось: похоже, в Microsoft решили максимально заморочить пользователей с тем, чтобы они бросили заниматься подобными глупостями. Но мы люди настырные и потому постараемся разобраться, что там напридумывали эти ребята из Редмонда и как с этим следует бороться.

Начнем с того, что теперь для файла с ответами используется не простой текстовый формат, как в старые добрые времена, а XML. И если раньше такой файл можно было создать с помощью утилиты, которая входила в состав дистрибутива Windows, то сейчас для этого потребуется отдельная тулза. Но и это еще не все.

В определенный исторический момент Microsoft начала упаковывать файлы дистрибутива Windows в специальный сжатый образ формата Windows Imaging Format (WIM). Где-то на этапе появления Windows 7 в Редмонде решили: а почему бы не поставлять в одном дистрибутиве сразу несколько версий операционной системы, например «Домашнюю», «Домашнюю расширенную» и «Профессиональную», или релизы разной разрядности — x86 и x64? Сказано — сделано: несколько образов WIM с различными версиями винды стали паковать в один файловый архив install.esd, который поддерживает еще большую степень сжатия. В Windows 10 от WIM окончательно отказались в пользу ESD, поскольку этот формат позволяет сжимать файлы сильнее и тем самым экономить больше дискового пространства. Проблема в том, что саму винду и инструменты для ее развертывания, видимо, писали в разных отделах корпорации: утилиты от Microsoft не умеют работать с форматом ESD, им нужен старый добрый WIM. Поэтому алгоритм подготовки дистрибутива к автоматической установке в общем виде выглядит следующим образом:

  1. Скачивание дистрибутива Windows 10.
  2. Извлечение из него файла ESD и преобразование его в WIM.
  3. Установка утилиты для настройки автоматической инсталляции.
  4. Создание файла с ответами.
  5. Подготовка дистрибутива к установке системы.

Еще не слишком страшно? Тогда разберем каждый пункт по порядку.

Скачиваем дистрибутив

Для того чтобы приготовить яичницу, нужны как минимум яйца, а чтобы настроить автоматическую установку системы, нам понадобится дистрибутив Windows 10. Если у тебя его нет, дистрибутив можно легально скачать с сайта Microsoft (правда, потом к нему придется прикупить серийник).

Для загрузки образа Windows 10 используется следующая хитрая процедура. Открой в браузере страничку Download Windows 10, скачай оттуда тулзу под названием «Средство создания носителя Windows 10» и запусти его. В появившемся окне нужно принять условия лицензионного соглашения, а затем установить переключатель в положение «Создать установочный носитель (USB-устройство флеш-памяти, DVD-диск или ISO-файл)», и нажать «Далее».

Теперь следует выбрать язык системы и ее разрядность. Выбирать нужно осторожно — указанная тобой версия винды должна подходить к тому серийному номеру, который у тебя имеется (или который ты планируешь приобрести). Нажав «Далее», устанавливаем переключатель в положение «ISO-файл» (или «Загрузочный USB», что, в общем, без разницы: в этом случае к компьютеру нужно присоединить флешку объемом не менее 8 Гбайт, вся информация с которой будет стерта). Снова жмем «Далее», показываем, куда нужно сохранить образ диска, и дожидаемся окончания загрузки дистрибутива.

Извлекаем WIM

Как я уже упоминал, для работы с образом Windows необходимо использовать файлы в формате WIM, в то время как современные дистрибутивы хранят образы ОС в архиве с высокой степенью сжатия install.esd, который лежит в папке sources. Если в дистрибутиве содержатся версии Windows для разных архитектур, эта папка будет вложена в папку x86 или x64. В Windows за работу с образами WIM и ESD отвечает консольная утилита dism, которой можно воспользоваться из командной строки. Полный список параметров утилиты выводится на экран по команде dism /?.

Перейди в папку, в которую ты сохранил ISO-образ Windows 10. Если ты используешь утилиты вроде DaemonTools, можно смонтировать этот образ на виртуальный диск, но для наших целей достаточно установить бесплатный архиватор 7-Zip и открыть ISO-файл в нем как обычный архив. Если ты записал образ на флешку, можно просто просмотреть ее содержимое в проводнике. Скопируй все папки и файлы из дистрибутива Windows в какую-нибудь директорию на локальном диске, например DVD.

Поскольку в файле install.esd может храниться сразу несколько образов Windows, для начала мы должны узнать, какие версии системы там содержатся. Для этого нужно вспомнить, как обращаться с командной строкой.

Запусти от имени администратора командную строку или PowerShell и набери там следующую строчку:

dism /Get-WimInfo /WimFile:[path]\install.esd

где [path] — полный путь к папке с файлом install.esd, например D:\DVD\sources. В ответ утилита dism выдаст информацию обо всех версиях Windows в архиве.

Выбери ту версию Windows, с которой будешь дальше работать, то есть версию, для которой у тебя есть серийный номер. Теперь набери в командной строке или PowerShell следующую команду:

dism /Export-Image /SourceImageFile:[path1]install.esd /SourceIndex:[number] /DestinationImageFile:[path2]install.wim /Compress:Max /CheckIntegrity

где [path1] — полный путь к папке с файлом install.esd, например D:\DVD\sources[number] — номер версии Windows, образ которой мы будем извлекать; [path2] — полный путь, по которому будет сохранен извлеченный образ. В моем случае команда выглядит так:

dism /Export-Image /SourceImageFile:D:\DVD\sources\install.esd /SourceIndex:1 /DestinationImageFile:D:\DVD\sources\install.wim /Compress:Max /CheckIntegrity

Теперь дождись, пока утилита вытащит выбранный тобой образ из ESD-файла и экспортирует его в WIM. Это займет некоторое время. Утилитка заботливо положит сконвертированный образ install.wim в указанную тобой папку.

Ставим ADK

Файл с ответами программы установки можно создать с помощью специальной утилиты, которая называется Windows System Image Manager (Windows SIM). Эта тулза входит в состав Windows Assessment and Deployment Kit (Windows ADK), который доступен для загрузки на сайте Microsoft.

Скачав ADK, запусти adksetup.exe и укажи, в какую папку устанавливать пакет. Затем установщик поинтересуется, хочешь ли ты отправлять в Microsoft данные со своего компьютера о том, как ты используешь их программы: дело хозяйское, но лично я выбрал вариант «Нет».

Далее нужно принять условия лицензионного соглашения и выбрать подлежащие установке компоненты: самое простое — установить все флажки, хотя нас интересуют только пункты «Средства развертывания» и «Среда предустановки Windows PE». Затем жмем кнопку «Установить» и отдыхаем, пока инсталлятор не скопирует на диск все необходимые файлы (по всей видимости, он их откуда-то качает, судя по скорости этого процесса — с Марса).

После того как все скачалось и установилось, запусти Windows SIM от имени администратора, отыскав соответствующий значок в главном меню.

Создаем файл ответов

Открой меню «Файл», пункт «Выбрать образ Windows», и укажи программе место расположения файла install.wim. Скорее всего, программа ругнется, что невозможно загрузить файл каталога, — согласись с предложением создать новый файл. В результате этого действия будет сгенерирован файл .clg, который программа поместит в ту же папку, что и install.wim. В этом файле содержатся параметры состояния компонентов Windows, используемые в процессе установки.

Если появится соответствующий список, выбери в открывшемся списке редакцию Windows, которую мы будем настраивать. Теперь нужно дождаться, когда образ полностью загрузится в приложение.

Щелкни мышью на кнопке «Новый файл ответов» в левом верхнем углу окна программы. В поле «Файл ответов» появится древовидная структура будущего XML-файла. Нас интересует раздел Components, насчитывающий семь секций.

В общем случае порядок действий таков:

  • в секции «Образ Windows» разверни выпадающий список Components, затем разверни интересующий тебя дочерний компонент, щелкни на нем правой клавишей мыши и выбери в контекстном меню пункт «Добавление параметра для [название раздела]»;
  • выбранная тобой группа настроек будет добавлена в оснастку, расположенную справа от поля «Файл ответов» в колонке «Свойства»;
  • щелкая мышью на соответствующих полях, можно менять представленные там значения.

Приложение позволяет сконфигурировать под сотню разных настроек программы установки, но все они, в общем-то, не нужны. Для того чтобы инсталлятор требовал от тебя минимум участия в процессе развертывания системы, необходимо изменить только секции «1 windowsPE», «4 specialize», и «7 oobeSystem». Так, в разделе «1 windowsPE» можно задать дисковый раздел и папку для установки Windows, выбрать язык, раскладку клавиатуры и указать ключ продукта.

В секции «4 specialize» можно указать модель твоего устройства, его изготовителя, имя компьютера, владельца устройства, текущую временную зону. Наконец, в разделе «7 oobeSystem» ты можешь заранее согласиться с условиями лицензионного соглашения, выбрать дополнительные языковые параметры и настроить учетную запись пользователя системы. Поэкспериментировав с параметрами, ты сконфигурируешь программу установки так, как нужно именно тебе.

После того как все необходимые данные введены, нужно удалить разделы, в которые не вносил никаких изменений. Для этого щелкни на таком разделе в окне «Файл ответов» правой клавишей мыши и выбери в контекстном меню пункт «Удалить».

Теперь надо проверить, нет ли в файле ответов ошибок. Для этого выбери в меню «Сервис» пункт «Проверка файла ответов» или нажми на одноименную кнопку в панели инструментов. Если программа не нашла ошибок, значит, все хорошо. Теперь нажми на кнопку «Сохранить файл ответов» и введи для него имя autounattend.xml.

Если честно, разобраться в интерфейсе Windows SIM и структуре данных в образе Windows не так-то просто: такое ощущение, что программу разрабатывали инопланетяне, специально решившие запутать человечество. Но есть решение: можно использовать готовый файл autounattend.xml, созданный для русской 64-разрядной версии Windows 10 (для английской версии нужно в параметре <UILanguage> указать значение en_US).

<?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="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">
          <InputLocale>en-US; ru-RU</InputLocale>
          <SystemLocale>ru-RU</SystemLocale>
          <UILanguage> ru-RU</UILanguage>
          <UserLocale> ru-RU</UserLocale>
      </component>
      <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">
          <UserData>
              <ProductKey>
                  <Key></Key>
              </ProductKey>
              <AcceptEula>true</AcceptEula>
          </UserData>
      </component>
  </settings>
  <settings pass="oobeSystem">
      <component name="Microsoft-Windows-International-Core" 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">
          <InputLocale>en-US; ru-RU</InputLocale>
          <SystemLocale>ru-RU</SystemLocale>
          <UILanguage>ru-RU</UILanguage>
          <UserLocale>en-US</UserLocale>
      </component>
      <component name="Microsoft-Windows-Shell-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">
          <OOBE>
              <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
              <ProtectYourPC>3</ProtectYourPC>
          </OOBE>
          <UserAccounts>
              <LocalAccounts>
                  <LocalAccount wcm:action="add">
                      <Group>Administrators</Group>
                      <Name>Administrator</Name>
                      <!-- <Password>
                          <Value>password</Value>
                          <PlainText>true</PlainText>
                      </Password> -->
                  </LocalAccount>
              </LocalAccounts>
          </UserAccounts>
         <!-- <AutoLogon>
              <Password>
                  <Value>password</Value>
                  <PlainText>true</PlainText>
              </Password>
              <Username> Administrator</Username>
              <LogonCount>1</LogonCount>
              <Enabled>true</Enabled>
          </AutoLogon> -->
      </component>
  </settings>
</unattend>

В этом файле поле для ввода ключа продукта оставлено пустым: если используемый тобой образ Windows включает несколько редакций, программа установки предложит выбрать нужную. На компьютерах с UEFI ключ продукта установщик автоматически подхватит из энергонезависимой памяти (при его наличии). Также можно вбить ключ прямо в поле Key, тогда система активируется автоматически с этим ключом, как только машина соединится с интернетом.

При инсталляции создается локальная учетная запись с именем Administrator. Строки, обеспечивающие создание пароля для этой учетной записи, закомментированы, поэтому инсталлятор попросит его ввести (это поле можно будет оставить пустым). Ты можешь убрать теги комментария и задать пароль прямо в файле, а заодно можно раскомментировать секцию, отвечающую за автоматический вход в систему с локальной учетной записью. Этап создания учетной записи Microsoft пропускается — за это отвечает тег

<HideOnlineAccountScreens>true</HideOnlineAccountScreens>

С использованием этого файла ответов тебе придется указать дисковый раздел, в который планируется установить систему, и ответить на парочку дополнительных вопросов программы установки. Весь остальной процесс инсталляции пройдет без твоего участия.

Подготовка дистрибутива к установке системы

Файл autounattend.xml должен располагаться в корне носителя, с которого устанавливается Windows. Если ты устанавливаешь систему с флешки, скопируй autounattend.xml в ее корневую папку. Проследи за тем, чтобы в папке sources располагался файл install.wim, с использованием которого был создан файл ответов.

Если сохранить файл ответов в корневой папке не получилось (или ты решил дать ему другое имя), можно запустить инсталляцию Windows из командной строки, указав программе установки место расположения файла:

setup.exe /unattend:filename

где filename — полное имя файла с ответами с учетом пути. Если ты устанавливаешь систему с оптического или виртуального диска, для чего тебе потребуется ISO-образ, придется переупаковать его заново, поместив в корневую папку файл autounattend.xml и install.wim в папку sources. Для этого можно воспользоваться подходящей утилитой, например программой UltraISO.

Выводы

Автоматизация установки Windows 10 кажется сложной только на первый взгляд. Если один раз разобраться с Windows SIM, создание файлов ответов займет не так уж и много времени. Если же хочется решить эту задачу проще и быстрее, можно воспользоваться онлайновым генератором, только не забудь предварительно протестировать установку на виртуальной машине. Если во время инсталляции возникли ошибки, можно поправить файл autounattend.xml в любом текстовом редакторе.

Источник

Report Page