Если вы часто разворачиваете виртуальные машины с ОС Windows, тогда у вас, скорее всего, очень много времени занимает скачивание, установка обновлений, установка минимального набора софта. Ниже я покажу, как можно подготовить образ системы при помощи утилиты sysprep, благодаря чему у вас будет виртуальный диск, который достаточно будет скопировать, подключить его к новой виртуальной машине и вы получите полностью готовую к работе виртуалку.
Для начала нам нужно подготовить виртуальную машину, которая в будущем станет шаблоном. Ставим на нее систему. Устанавливаем обновления, необходимое ПО, можно сделать настройки брандмауэра, включить удаленный доступ, поставить необходимое п.о. и т.п.
После того как все будет готово нам нужно выполнить команду в командной строке с правами администратора:
C:WindowsSystem32Sysprepsysprep.exe
Появится окно как на скриншоте ниже:
В нем нужно выбрать OOBE, поставить галку Generalize, и в параметрах выключения выбрать Shutdown.
Жмем ОК, после подготовки виртуальная машина будет выключена.
Теперь можно скопировать образ диска этой виртуальной машины и подключить эту копию к новой виртуальной машине. При первом запуске машины нужно будет принять условия лицензии, выбрать регион:
И ввести пароль учетной записи администратора:
После этого компьютер будет полностью готов, на нем сохранятся те настройки, которые вы делали на шаблоне.
Что бы постоянно не проделывать три последних шага, утилите sysprep можно указать файл ответов — unattend.xml
Что бы автоматически принимались условия лицензионного соглашения, выбирался регион, раскладка и автоматически задавался пароль администратора. Этот файл должен иметь примерно следующее содержание:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="generalize">
</settings>
<settings pass="specialize">
<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">
<TimeZone>Russian Standard Time</TimeZone>
<!-- можно задать ключ продукта, что бы потом не вводить его -->
<!-- <ProductKey>ABCD1-ABCD1-ABCD1-ABCD1-ABCD1</ProductKey> -->
</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>ru-RU</InputLocale>
<SystemLocale>ru-RU</SystemLocale>
<UILanguage>ru-RU</UILanguage>
<UserLocale>ru-RU</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>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>1</ProtectYourPC>
<HideEULAPage>true</HideEULAPage>
</OOBE>
<UserAccounts>
<AdministratorPassword>
<Value>VerySecret1</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
</settings>
</unattend>
Сохраняем этот файл в папку c:/windows/system32/sysprep и выполняем команды в командной строке с правами администратора:
cd c:windowssystem32sysprep
sysprep.exe /generalize /oobe /unattend:unattend.xml /shutdown
После этого при копировании этого жесткого диска и добавлении его в новую виртуальную машину вам вообще ни чего вводить, и выбирать не нужно будет.
Вообще в файл unuttend.xml можно ввести огромное количество параметров, существует набор утилит – WAIK, соответственно скачать утилиты и почитать о файле ответов можно на сайте Microsoft.
Все вышесказанное, кстати, можно использовать не только на виртуальных машинах, но и на вполне себе физических, если копировать жесткий диск.
Видео по теме:




