Как подготовить Windows-ВМ к превращению в образ
Когда использовать
Перед тем как превратить Windows-ВМ в образ. Каждая машина, созданная из образа, должна получить собственную идентичность Windows (идентификатор безопасности SID, имя компьютера) и пройти первичную настройку: имя хоста, пароль администратора, сеть.
Первичную настройку Windows-машины в vStack Center выполняет Cloudbase-Init. При создании ВМ кластер готовит для неё диск с параметрами в формате OpenStack ConfigDrive, и Cloudbase-Init читает его при первой загрузке. Чтобы это сработало на копии, исходную машину обобщают утилитой sysprep: она стирает идентичность Windows, а при следующей загрузке Windows заново проходит настройку и запускает Cloudbase-Init.
Превращение в образ необратимо, а после sysprep исходную машину нельзя запускать. Поэтому порядок шагов ниже важен.
Предусловия
- ВМ создана из Windows-образа каталога с Cloudbase-Init — тип гостевой настройки образа «Cloud-base». Образ, превращённый из ВМ, наследует этот тип от её профиля.
- Внутри гостя установлено и настроено всё, что должно попасть в образ.
- Есть доступ к ВМ с правами администратора Windows — через консоль или RDP.
- ВМ удовлетворяет требованиям превращения: только загрузочный диск, нет клонов, сама не тонкий клон, — см. предусловия.
Шаги
-
Уберите из гостя секреты. Удалите сохранённые пароли, ключи, токены, историю и файлы пользователей, которые не должны попасть в копии. Всё, что останется на диске, получит каждая машина из образа, а у образа, общего для кластера, — каждый ВЦОД.
-
Сделайте снимок ВМ. Остановите машину, сделайте снимок и снова её запустите. Снимок — точка отката, если sysprep не удастся или ВМ случайно загрузится после него. Превращение в образ всё равно удалит все снимки ВМ. Снимок с работающей машины тоже подойдёт, но после отката к нему Windows покажет окно «Shutdown Event Tracker»: закройте его кнопкой «Cancel», прежде чем продолжать.
-
Переведите службу Cloudbase-Init на ручной запуск. В Server Manager откройте меню «Tools» и выберите «Services».

В списке служб найдите
cloudbase-initи откройте её свойства двойным щелчком. В поле «Startup type» выберите «Manual» и нажмите «OK». В списке служб у неё появится «Manual».
Зачем: если служба останется в автозапуске, на копии она стартует раньше, чем Windows закончит настройку, и перезагрузит машину. Копия уйдёт в ошибку «The computer restarted unexpectedly or encountered an unexpected error» и не загрузится.
-
Проверьте, что на копии служба включится обратно. Это делает сценарий
SetupComplete.cmd: Windows выполняет его в конце настройки копии. В Проводнике откройте папкуC:\Windows\Setup\Scripts, щёлкните по файлуSetupCompleteправой кнопкой и выберите «Edit». Файл откроется в Блокноте, в нём должна быть строкаsc config cloudbase-init start= auto && net start cloudbase-init.
Если файла нет, создайте его в Блокноте с этой строкой и сохраните как
C:\Windows\Setup\Scripts\SetupComplete.cmd. -
Скопируйте файл ответов Cloudbase-Init в корень диска C. В Проводнике откройте папку
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf, выделите файлUnattendи нажмите «Copy» на ленте. Проводник скрывает расширение: это файлUnattend.xml.
Откройте
C:\и нажмите «Paste». В корне диска появитсяUnattend.
-
Запустите sysprep. Нажмите Win+R, вставьте в окно «Run» строку целиком и нажмите «OK»:
C:\Windows\System32\Sysprep\sysprep.exe /generalize /oobe /quit /unattend:C:\Unattend.xml
Окно самой утилиты sysprep не подходит: в нём нельзя указать файл ответов, а без него копии останавливаются на экранах мастера первого запуска.
Ключ
/quitтоже важен. С ключом/shutdownWindows выключится сама, но vStack Center считает такую ВМ запущенной и может включить её снова. Тогда Windows начнёт настройку прямо на исходной машине, и обобщение пропадёт.Появится окно «Sysprep is working…». Дождитесь, пока оно закроется, — обычно это несколько минут.

Проверьте результат: в папке
C:\Windows\System32\Sysprepдолжен появиться файлSysprep_succeeded.tagс текущим временем.
-
Остановите ВМ из vStack Center: на карточке ВМ «Actions» → «Stop». Не выключайте и не перезагружайте машину изнутри гостя. Дождитесь статуса «Offline».
-
Не запускайте ВМ до превращения в образ. Любая загрузка запустит настройку на исходной машине. Если это случилось, остановите ВМ, откатите её к снимку из шага 2, запустите и повторите шаги 3–7.
-
Превратите ВМ в образ — по инструкции «Как превратить ВМ в образ».
Проверка результата
Создайте из образа новую ВМ и откройте её консоль.
| Что смотреть | Ожидаемое |
|---|---|
| Первая загрузка | Windows проходит настройку и перезагружается сама — обычно дважды |
| Итог загрузки | экран входа в систему без ошибок и без мастера первого запуска |
Если не получилось
| Что видно | Причина | Что сделать |
|---|---|---|
| копия циклически перезагружается с ошибкой «The computer restarted unexpectedly…» | служба Cloudbase-Init была в автозапуске во время sysprep | образ непригоден: не создавайте из него ВМ и подготовьте новую исходную ВМ, проверив шаги 3 и 4. Удаление образа — см. «Образ нельзя удалить» |
| копия останавливается на экранах мастера первого запуска | sysprep запущен без файла ответов Cloudbase-Init | образ непригоден: подготовьте новую исходную ВМ и запустите sysprep строкой из шага 6 |
| исходная ВМ загрузилась после sysprep | выключение изнутри гостя или ручной запуск | остановить ВМ, откатить к снимку, запустить и повторить шаги 3–7 |
| sysprep завершился ошибкой | причина записана в C:\Windows\System32\Sysprep\Panther\setuperr.log | устранить причину, откатиться к снимку, запустить ВМ и повторить |
См. также
- Как превратить ВМ в образ.
- Как подготовить Linux-ВМ к превращению в образ.
- Как делать снимки ВМ и откатываться к ним.
- Библиотека образов ОС.
Методы API
Операции этой страницы в API: vms-snapshot, vms-rollback, vms-stop,
os-image-from-vm, vms-create — см.
Справочник API.