Диски для виртуальной машины: типы, форматы и правильная настройка

Ошибка «диск заполнен» внутри виртуальной машины при том, что на физическом накопителе свободны сотни гигабайт — классический симптом неправильно выбранного типа виртуального диска: был создан динамический образ малого объёма, и гостевая система уперлась в его лимит. Прежде чем менять что-либо, проверьте в настройках виртуальной машины, какой тип диска используется — динамически расширяемый или фиксированный — и какой максимальный размер ему задан при создании.

Виртуальный диск — это файл (или набор файлов) на физическом накопителе, который гипервизор подаёт гостевой операционной системе как обычный жёсткий диск. От его формата, типа размещения и контроллера зависят производительность, возможность снапшотов и переносимость машины между платформами. В этой статье разберём основные форматы, различия между динамическими и фиксированными дисками, а также типичные ошибки при их создании и расширении.

Основные форматы виртуальных дисков

Каждая платформа виртуализации исторически продвигает собственный формат, хотя многие гипервизоры умеют читать чужие. VMDK — формат VMware, используется в Workstation, Player и ESXi. VDI — родной формат VirtualBox. VHD и VHDX — форматы Microsoft для Hyper-V, причём VHDX поддерживает большие объёмы и более устойчив к повреждениям при внезапном отключении питания. qcow2 — формат гипервизора QEMU/KVM, популярный в Linux-средах и умеющий снапшоты и сжатие на уровне формата.

Выбор формата обычно определяется платформой: создавайте диск в «родном» формате гипервизора, если нет задачи переноса машины. Для миграции между платформами существуют конвертеры — например, qemu-img умеет преобразовывать образы между большинством форматов:

qemu-img convert -f vmdk -O qcow2 disk.vmdk disk.qcow2
  • 💽 VMDK — VMware Workstation, ESXi; может быть разбит на файлы по 2 ГБ для старых файловых систем
  • 📦 VDI — VirtualBox; поддерживает динамическое и фиксированное размещение
  • 🗄️ VHDX — Hyper-V; предпочтителен перед устаревшим VHD для новых машин
  • 🐧 qcow2 — QEMU/KVM; встроенные снапшоты и thin provisioning
  • 🧱 raw — посекторная копия без метаданных; максимально прост, но лишён снапшотов

Динамический или фиксированный диск

Это ключевая развилка при создании машины. Динамический (thin) диск занимает на физическом накопителе ровно столько места, сколько данных реально записано внутри гостевой системы, и растёт по мере заполнения до заданного лимита. Фиксированный (thick) диск сразу резервирует весь объём целиком.

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

⚠️ Внимание: динамический диск может «перепродать» пространство — сумма лимитов всех образов способна превышать реальный объём физического накопителя. Если физический раздел заполнится, виртуальные машины получат ошибки записи и могут аварийно остановиться с повреждением гостевой файловой системы.

Контроллеры: SATA, NVMe, SCSI и VirtIO

Тип виртуального контроллера, к которому подключён диск, влияет на скорость и совместимость. SATA (AHCI) — универсальный вариант: его понимает практически любая современная ОС без дополнительных драйверов. NVMe в виртуальной среде эмулирует поведение современных SSD и может дать выигрыш при параллельных нагрузках. VirtIO в KVM — паравиртуализированный контроллер, ориентированный на производительность, но Windows потребует установки драйверов VirtIO во время или после инсталляции.

Практическое правило: если установщик гостевой системы «не видит» диск, наиболее вероятная причина — отсутствие драйвера под выбранный контроллер. Переключите диск на SATA либо подгрузите драйвер с ISO-образа, если ваша платформа это предусматривает. Точные пункты меню зависят от версии гипервизора, поэтому сверяйтесь с документацией конкретной программы.

КонтроллерСовместимостьКогда выбирать
SATA / AHCIИз коробки почти вездеУниверсальный вариант по умолчанию
NVMeСовременные ОСЭмуляция SSD, параллельные нагрузки
SCSI (эмулируемый)ШирокаяСовместимость со старыми системами
VirtIOНужны драйверы в WindowsМаксимум производительности в KVM
📊 Какой тип виртуального диска вы используете чаще всего?
Динамический VDI/VMDK
Фиксированный диск
VHDX в Hyper-V
qcow2 в KVM

Как выбрать размер диска при создании

Размер виртуального диска задаётся один раз при создании машины, и занижение — самая частая ошибка новичков. Ориентируйтесь на требования гостевой ОС плюс запас под программы, обновления и временные файлы. Для современной Windows разумный минимум заметно выше «официальных» требований установщика: обновления системы со временем съедают десятки гигабайт. Для лёгких Linux-дистрибутивов достаточно меньшего объёма, но запас под логи и кэш пакетов всё равно нужен.

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

Расширение виртуального диска: пошаговый принцип

Когда гостевая система сообщает о нехватке места, расширение проходит в два независимых этапа, и оба обязательны. Сначала увеличивается сам файл образа средствами гипервизора, затем — раздел и файловая система внутри гостевой ОС. Пропуск второго этапа — частая причина ситуации «диск увеличил, а свободного места не прибавилось».

  • 🔍 Сделайте резервную копию файла образа перед любыми операциями с размером
  • 📏 Увеличьте образ средствами гипервизора (например, VBoxManage modifymedium disk --resize в VirtualBox или «Расширить диск» в настройках Hyper-V)
  • 🖥️ Загрузите гостевую ОС и расширьте раздел: в Windows — через «Управление дисками» (diskmgmt.msc), в Linux — через growpart и resize2fs либо xfs_growfs в зависимости от файловой системы
  • ✅ Проверьте результат: свободное место должно отображаться уже внутри гостевой системы

☑️ Проверка перед расширением диска

Выполнено: 0 / 5
⚠️ Внимание: многие гипервизоры не позволяют расширять диск, у которого есть снапшоты, либо такая операция ведёт себя непредсказуемо. Перед изменением размера удалите или слейте снапшоты и убедитесь, что машина выключена, а не находится в сохранённом состоянии.
Почему расширение не сработало

Частые причины: наличие снапшотов у диска, машина в состоянии «paused/saved», недостаток места на физическом разделе, раздел внутри гостевой ОС не последний по порядку (между ним и свободной областью стоит раздел восстановления). В Windows раздел восстановления можно временно переместить или пересоздать, но делайте это только с резервной копией.

Снапшоты, дельта-диски и производительность

Снапшот — это не копия диска, а точка отсчёта: после её создания все новые записи идут в отдельный дочерний файл (дельта-диск, differencing disk), а базовый образ остаётся неизменным. Это удобно для экспериментов: откат занимает секунды. Однако длинные цепочки снапшотов замедляют операции чтения — гипервизору приходится собирать данные из нескольких слоёв.

Не держите снапшоты неделями на рабочей машине: дельта-файл растёт со временем и может занять объём, сопоставимый с базовым диском. После успешного эксперимента удаляйте снапшот — гипервизор сольёт изменения обратно в базовый образ. Для долгосрочного резервного копирования используйте полные копии образов, а не снапшоты.

Типичные проблемы и их диагностика

Если виртуальная машина не загружается с ошибкой вида «no bootable device», первым делом проверьте, подключён ли диск к машине и стоит ли он первым в порядке загрузки. Вторая вероятная причина — повреждение загрузчика гостевой ОС, что лечится средствами восстановления с установочного ISO. Сам файл образа при этом обычно цел.

Медленная работа дисковых операций чаще связана не с форматом, а с окружением: образ лежит на переполненном или фрагментированном HDD, включено антивирусное сканирование каталога с образами, либо накопилась цепочка снапшотов. Размещение образов на SSD и исключение их каталога из проверки антивируса — безопасные и обратимые меры, которые стоит попробовать в первую очередь.

⚠️ Внимание: не перемещайте и не переименовывайте файлы образов вручную через проводник, пока машина или её снапшоты ссылаются на них, — гипервизор потеряет диск. Перенос выполняйте штатными средствами программы (функция перемещения/клонирования машины) при выключенной ВМ.

Часто задаваемые вопросы

Можно ли конвертировать диск из VMDK в VDI или qcow2 без потери данных?

Да, конвертация форматов — штатная операция. Утилита qemu-img convert поддерживает большинство распространённых форматов, в VirtualBox есть VBoxManage clonemedium с указанием целевого формата. Перед конвертацией сделайте копию исходного файла и убедитесь, что машина выключена.

Чем отличается VHD от VHDX?

VHDX — более новый формат Hyper-V: он поддерживает большие максимальные объёмы и содержит механизмы защиты метаданных от повреждения при внезапном отключении питания. Для новых машин в Hyper-V рекомендуется VHDX; VHD оставлен в основном для совместимости со старыми системами.

Почему динамический диск занимает больше места, чем реально данных в гостевой системе?

Динамический образ растёт при записи, но не уменьшается автоматически при удалении файлов внутри гостевой ОС — гипервизор не знает, какие блоки стали свободными. Для сжатия образа нужно сначала обнулить свободное место внутри гостевой системы, а затем выполнить compact средствами гипервизора.

Можно ли подключить один виртуальный диск к двум машинам одновременно?

Обычные файловые системы не рассчитаны на одновременную запись с двух машин — это почти гарантированно приведёт к повреждению данных. Общий доступ к диску возможен только со специальными кластерными файловыми системами и соответствующими настройками гипервизора. Для обмена файлами между ВМ используйте сетевые общие папки.

Какой размер диска задать для тестовой Windows-машины?

Точная цифра зависит от версии ОС и набора программ, но практический ориентир — берите с запасом под обновления: установщик занимает часть объёма, а накопительные обновления и точки восстановления со временем добавляют десятки гигабайт. С динамическим диском завышенный лимит не страшен — реально будет занято лишь фактически записанное.