Гид по технологиям

Как конвертировать VMDK между growable и preallocated в VMware

6 min read Виртуализация Обновлено 14 Dec 2025
Конвертация VMDK: growable ↔ preallocated в VMware
Конвертация VMDK: growable ↔ preallocated в VMware

Иллюстрация логотипа VMware и виртуальной машины

Короткое объяснение

  • Growable (растущий) диск: файл VMDK сначала маленький и увеличивается по мере записи данных. Экономит место на хосте, но в некоторых сценариях медленнее.
  • Preallocated (предвыделённый) диск: сразу занимает весь объявленный объём на хосте. Обеспечивает стабильную производительность и предсказуемое распределение пространства.

Важно: VMware Player не включает инструменты для преобразования типов дисков — для этого нужен VMware Fusion или VMware Workstation.

Когда стоит менять тип диска

  • Перейти на preallocated, если нужна максимальная производительность и вы готовы выделить место заранее.
  • Перейти на growable, если место на хосте ограничено и вы хотите экономить дисковый объём.
  • Нельзя менять диск, если виртуальная машина включена или находится в состоянии приостановки (suspended).

Внимание: если у виртуальной машины есть snapshot’ы, преобразование не будет работать — сначала удалите снимки или сделайте полную резервную копию.

VMware Fusion (macOS)

В VMware Fusion процесс самый простой — всё доступно в графическом интерфейсе.

  1. Полностью выключите виртуальную машину. Нельзя вносить изменения при включённом или приостановленном состоянии.
  2. В основном окне VMware Fusion выберите виртуальную машину и откройте Virtual Machine → Settings.

Выбор виртуальной машины и настройки в VMware Fusion

  1. В окне Settings выберите раздел «Hard Disk» в группе Removable Devices.

Настройки диска в VMware Fusion: выбор раздела

  1. Если появится сообщение о наличии snapshot’ов (снимков), удалите их через Virtual Machine → Snapshots → Snapshots перед продолжением.

Окно предупреждения о снимках — удалите snapshot'ы перед изменением

  1. В окне Snapshots выберите каждый снимок и нажмите Delete в панели инструментов.

Удаление snapshot'ов в VMware Fusion

  1. В разделе Hard Disk раскройте Advanced options и поставьте или снимите флажок Pre-allocate disk space, чтобы конвертировать диск в preallocated или обратно в growable. Нажмите Apply для сохранения изменений.

Опция

Советы по Fusion:

  • После преобразования запустите виртуальную машину и проверьте корректность загрузки и целостность данных.
  • Если вы удалили snapshot’ы, вы утратите возможность откатиться к этим точкам восстановления.

VMware Workstation (Windows / Linux)

В VMware Workstation нет GUI-опции для конвертации типа диска — используйте утилиту vmware-vdiskmanager. На Windows она поставляется как vmware-vdiskmanager.exe.

Шаг 1 — Отключите виртуальную машину и удалите снимки

Полностью выключите виртуальную машину. В меню VM → Snapshot (или VM → Snapshot → Snapshot) правой кнопкой мыши по каждому снимку выберите Delete. После удаления снимков вы потеряете возможность отката.

Удаление snapshot'ов в VMware Workstation

Шаг 2 — Найдите утилиту vmware-vdiskmanager.exe

На Windows утилита обычно находится в одной из папок установки VMware Workstation:

C:\Program Files (x86)\VMware\VMware Workstation

или

C:\Program Files\VMware\VMware Workstation

Папка установки VMware Workstation с утилитой vmware-vdiskmanager.exe

Откройте Командную строку (Command Prompt) и перейдите в каталог с vmware-vdiskmanager.exe, например:

cd "C:\Program Files (x86)\VMware\VMware Workstation"

На Linux откройте терминал и выполните vmware-vdiskmanager как обычную команду.

Окно командной строки Windows, переход в каталог VMware

Шаг 3 — Найдите основной .vmdk файл виртуальной машины

Откройте папку виртуальной машины. По умолчанию это:

C:\Users\ИМЯ\Documents\Virtual Machines\

Найдите главный .vmdk (обычно он имеет имя виртуальной машины, например “Windows 7.vmdk”). Игнорируйте вторичные файлы, которые содержат в имени -s001, -s002 и т. п.

Папка виртуальной машины с основным файлом .vmdk

Если не уверены, путь к папке виртуальной машины показывается внизу окна VMware Workstation.

Путь к папке виртуальной машины отображается внизу окна VMware Workstation

Шаг 4 — Создаём новый VMDK нужного типа

Утилита vmware-vdiskmanager создаёт новый VMDK на основе исходного. Команда для конвертации исходного файла в растущий (growable) диск, разбитый на 2 ГБ файлы, выглядит так:

vmware-vdiskmanager.exe -r "c:\path\to\source.vmdk" -t 1 "c:\path\to\target.vmdk"

Пример:

vmware-vdiskmanager.exe -r "C:\Users\chris\Documents\Virtual Machines\Windows 7\Windows 7.vmdk" -t 1 "C:\Users\chris\Documents\Virtual Machines\Windows 7\Windows 7-growable.vmdk"

Чтобы конвертировать в preallocated диск (предвыделённый) с разбивкой по 2 ГБ, используйте тип 3:

vmware-vdiskmanager.exe -r "c:\path\to\source.vmdk" -t 3 "c:\path\to\target.vmdk"

Пример:

vmware-vdiskmanager.exe -r "C:\Users\chris\Documents\Virtual Machines\Windows 7\Windows 7.vmdk" -t 3 "C:\Users\chris\Documents\Virtual Machines\Windows 7\Windows 7-preallocated.vmdk"

Пример выполнения vmware-vdiskmanager в командной строке

Примечания:

  • Ключ -r указывает создать новый диск на основе исходного.
  • Параметр -t задаёт тип таргета: 1 — growable с разбивкой на 2 ГБ, 3 — preallocated с разбивкой на 2 ГБ.

Шаг 5 — Удалите или переместите оригинальные файлы .vmdk

Утилита создаёт новую копию диска, она не перезаписывает оригинал. В папке виртуальной машины вы увидите и старые, и новые файлы. Удалите старые файлы .vmdk (включая основной Windows 7.vmdk), либо переместите их в другую папку как резервную копию. Не удаляйте другие служебные файлы виртуальной машины.

Папка с оригинальными и новыми vmdk файлами — удалите старые .vmdk или сохраните их как резервную копию

Шаг 6 — Переименуйте новый главный .vmdk в имя оригинала

Переименуйте созданный основной .vmdk (например, Windows 7-growable.vmdk) в имя оригинального файла (Windows 7.vmdk). Оставшиеся -s00x файлы не обязательно переименовывать — главный .vmdk указывает на них.

Переименование нового vmdk в имя оригинального файла

После этого запустите виртуальную машину — она будет использовать новый диск автоматически.

Проверка и отладка

  • При загрузке проверяйте логи VMware и целостность данных ОС гостя.
  • Если виртуальная машина не загружается, восстановите оригинальные .vmdk из резервной копии и повторите процесс.

Решение типичных проблем

  • Ошибка: “Cannot perform operation while snapshot exists” — удалите все snapshot’ы.
  • Ошибка доступа/прав: запустите командную строку или терминал от администратора/с sudo.
  • Мало места на хосте при конвертации в preallocated — убедитесь, что на диске хоста достаточно свободного пространства для всего объёма.

Решения и альтернативы

  • Если не хотите возиться с vmware-vdiskmanager, можно создать новую виртуальную машину нужного типа диска и перенести данные через образ/клонирование внутри гостевой ОС.
  • Для массовой автоматизации используйте скрипты PowerShell/Bash, вызывающие vmware-vdiskmanager для набора VM.

Шаблон проверки (Role-based checklist)

Администратор перед началом:

  • Убедился в наличии резервной копии папки виртуальной машины.
  • Выключил виртуальную машину (не suspend).
  • Удалил все snapshot’ы или экспортировал их отдельно.
  • Проверил свободное место на хосте (для preallocated достаточно места).
  • Запустил конвертацию и сохранил лог выполнения.

Пользователь после конвертации:

  • Запустил гостевую ОС и проверил служебные приложения.
  • Проверил доступность данных и запуска приложений.
  • Убедился в отсутствии ошибок в логах VMware.

Минимальная методология безопасности и отката

  1. Сделать полную копию папки виртуальной машины (быстрый бэкап).
  2. Удалить snapshot’ы и зафиксировать изменения в журнале.
  3. Выполнить конвертацию в тестовой среде при возможности.
  4. Переименовать и запустить VM, проверить загрузку.
  5. При ошибках вернуть исходные файлы из бэкапа.

Риск-матрица и меры смягчения

  • Риск: Потеря снимков → Мера: Сделать резервную копию перед удалением.
  • Риск: Нехватка места при создании preallocated → Мера: Проверить диск хоста и освободить/увеличить пространство.
  • Риск: Неправильный выбор файла .vmdk → Мера: Всегда работайте с основным (.vmdk без -s00x) и сохраняйте резервные копии.

Краткий словарь терминов

  • VMDK: формат виртуального диска VMware.
  • Snapshot (снимок): состояние виртуальной машины в конкретный момент времени.
  • Preallocated: диск, которому заранее выделено всё пространство.
  • Growable: диск, который увеличивает свой размер по мере записи данных.

Когда этот способ не подойдёт

  • Вы используете VMware Player — там нет vmware-vdiskmanager для конвертации.
  • У вас ограничены права на хосте и нет доступа для запуска команд от администратора.
  • У вас критичные snapshot’ы, которые нельзя удалять — тогда нужно клонировать VM вместо конвертации.

Итог

Преобразование VMDK между growable и preallocated в VMware безопасно и обычно предсказуемо, если следовать инструкции: выключить VM, удалить снимки, создать новый диск через GUI (Fusion) или vmware-vdiskmanager (Workstation), затем заменить старые файлы и проверить загрузку. Всегда имейте резервную копию перед операцией.

Важно: выбирайте preallocated, если нужна стабильная производительность, и growable, если важна экономия места на хосте.

Сводка действий:

  • Остановите VM → Удалите snapshot’ы → Сделайте бэкап → Конвертируйте через GUI или vmware-vdiskmanager → Удалите/переместите старые .vmdk → Переименуйте новый файл в имя оригинала → Запустите VM и проверьте.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Подключение Spotify к Discord — пошагово
Руководство

Подключение Spotify к Discord — пошагово

Как изменить или сбросить пароль Spotify
Безопасность

Как изменить или сбросить пароль Spotify

Управление умным домом через Quick Settings на Samsung
Руководство

Управление умным домом через Quick Settings на Samsung

Исправить Event ID 10010: ошибка DCOM
Windows ошибки

Исправить Event ID 10010: ошибка DCOM

Отключить автопроигрывание в Spotify
Руководство

Отключить автопроигрывание в Spotify

Увеличить значки панели задач Windows 10
Windows

Увеличить значки панели задач Windows 10