Провереноот Adam B.·проверено FE Editorial·обновлено Jul 6, 20263.0(15 голосов)Спасибо за оценку!
БЫСТРЫЙ ОТВЕТ
Файл VMDK - это виртуальный жесткий диск VMware; он хранит целую операционную систему и все её файлы в виде одного или нескольких хост-файлов. Его следует подключать к виртуальной машине, а не открывать как обычный документ. Используйте VMware Workstation Pro или VirtualBox (оба бесплатны) для запуска, или 7-Zip для просмотра файлов внутри без загрузки ОС.
Разработчик: VMware (now part of Broadcom)Категория: Файлы образов дисковОткрыть стандартноеMIME: application/x-vmdk
Файл .vmdk - это файл диска виртуальной машины VMware. Он содержит файлы и данные, составляющие виртуальный диск, созданный с помощью программного обеспечения VMware (ныне часть Broadcom). Один файл .vmdk может содержать информацию для одного или нескольких виртуальных дисков или выступать в роли текстового дескриптора, указывающего на отдельные бинарные файлы экстентов (extents).
Файлы .vmdk в основном используются как средство хранения данных и создания резервных копий важного контента, являясь, по сути, программным эквивалентом физического дискового накопителя. Они также позволяют пользователям запускать несколько операционных систем или виртуальных серверов на одной машине.
Каждый виртуальный диск представляет собой отдельный файл .vmdk (или набор файлов), который может содержать один или несколько экстентов в зависимости от содержимого и размера диска. Файлы .vmdk могут быть настроены на фиксированный (thick-provisioned, предварительно распределенный) или переменный (thin-provisioned, динамический) размер образа.
Стандартные наборы .vmdk обычно именуются начиная с vmname.vmdk (также распространены альтернативные схемы именования):
vmname-s###.vmdk - разреженные экстенты (split-sparse), настроенные для поддержки расширения размера файла по мере записи данных
vmname-f###.vmdk - плоские экстенты (split-flat) с полностью распределенным дисковым пространством в процессе создания файла
vmname-flat.vmdk - монолитный плоский экстент, содержащий необработанный образ секторов; используется в развертываниях типа ESXi
Разреженные хост-экстенты начинаются с 4-байтовой ASCII-сигнатуры KDMV со смещением 0, в то время как плоские экстенты представляют собой «сырые» образы секторов без заголовка. Образы .vmdk можно конвертировать в другие форматы, такие как VHD или VDI, используя qemu-img. Для обеспечения переносимости файлы .vmdk часто упаковываются в пакет OVA или сопровождаются дескриптором OVF.
Безопасность и защита
РИСК: MEDIUM
Файл .vmdk - это образ диска, он не является исполняемым непосредственно на хосте, но обычно содержит полноценную загрузочную ОС, поэтому скачанный VMDK может содержать вредоносное ПО внутри гостевой системы. Запускайте недоверенные виртуальные машины изолированно (NAT/host-only сеть, без общих папок и буфера обмена). Монтирование VMDK (через 7-Zip или как диск хоста) открывает его файловую систему для хоста - сканируйте неизвестные образы перед открытием файлов. VMDK также содержат любые конфиденциальные данные гостевой ОС (пароли, личные файлы), поэтому относитесь к ним как к конфиденциальным и не забывайте держать дескриптор и его экстенты «-flat»/«-s00N» вместе, иначе диск будет неработоспособен.
Детали формата
в двух словах
ПОЛНОЕ НАЗВАНИЕVMware Virtual Machine Disk
РАЗРАБОТЧИКVMware (now part of Broadcom)с 2003 (VMware Workstation / GSX); VMDK spec published by VMware for the OVF effort
ТИПКонтейнер виртуального жесткого диска - содержит весь гостевой диск (таблицу разделов, файловую систему, ОС, файлы); может быть монолитным или разделенным, динамическим или фиксированным
Разреженные/хост-экстенты VMDK начинаются с 4-байтовой сигнатуры «KDMV» (0x4B 0x44 0x4D 0x56) со смещением 0. Однако VMDK часто представляет собой небольшой ТЕКСТОВЫЙ файл-дескриптор (начинается с ASCII-строки «# Disk DescriptorFile»), который лишь указывает на один или несколько отдельных экстентов данных «.....-flat.vmdk» или «...-s001.vmdk». Монолитные плоские экстенты или экстенты ESXi «-flat» являются «сырыми» образами секторов БЕЗ магической сигнатуры со смещением 0 (дескриптор встроен или находится снаружи). Таким образом, наличие сигнатуры зависит от подтипа.
Программы, открывающие файлы VMDK
Windows4 apps
7-ZipОткрытый кодПравой кнопкой мыши > 7-Zip > Открыть архив для просмотра и извлечения файлов из VMDK в режиме «только чтение» без монтирования или загрузки ОС.
VMware Workstation ProБесплатноРодной формат диска VMware. Создайте/откройте виртуальную машину, использующую .vmdk, и запустите её; или перейдите в VM Settings > Add disk, чтобы подключить его. Бесплатно для личного использования с 2024 года (загрузка через бесплатный аккаунт Broadcom).
Oracle VirtualBoxОткрытый кодСоздайте виртуальную машину и подключите существующий .vmdk в качестве жесткого диска (Storage > Add disk), затем загрузите её. VirtualBox поддерживает чтение и запись VMDK нативно.
qemu-imgОткрытый кодКомандная строка: «qemu-img info disk.vmdk» для проверки или конвертации в VHD/VDI/raw/qcow2 для других гипервизоров.
macOS3 apps
Parallels DesktopПлатноИмпорт или подключение VMware .vmdk (Parallels может конвертировать его в собственный формат при импорте). Платный продукт.
VMware Fusion ProБесплатноОткройте или создайте виртуальную машину, использующую .vmdk, и запустите её. Бесплатно для личного использования с 2024 года.
Oracle VirtualBoxОткрытый кодСоздайте виртуальную машину и подключите существующий .vmdk в качестве жесткого диска (Storage > Add disk), затем загрузите её. VirtualBox поддерживает чтение и запись VMDK нативно.
Linux3 apps
Oracle VirtualBoxОткрытый кодСоздайте виртуальную машину и подключите существующий .vmdk в качестве жесткого диска (Storage > Add disk), затем загрузите её. VirtualBox поддерживает чтение и запись VMDK нативно.
qemu-img / libguestfs (guestmount)Открытый кодКонвертируйте с помощью qemu-img или смонтируйте гостевую файловую систему для копирования файлов: «guestmount -a disk.vmdk -i --ro /mnt».
VMware Workstation ProБесплатноРодной формат диска VMware. Создайте/откройте виртуальную машину, использующую .vmdk, и запустите её; или перейдите в VM Settings > Add disk, чтобы подключить его. Бесплатно для личного использования с 2024 года (загрузка через бесплатный аккаунт Broadcom).
Технические подробности
глубокая спецификация
Тип формата
Контейнер виртуального жесткого диска, содержащий весь гостевой диск - таблицу разделов, файловую систему, ОС и файлы
Варианты компоновки
Монолитный (один файл) или разделенный (несколько экстентов по 2 ГБ); выбирается при создании
Режимы выделения ресурсов
Разреженный/динамический (растет по требованию) или предварительно распределенный/фиксированный (полное пространство резервируется при создании)
Файл дескриптора
Текстовый файл, начинающийся со строки «# Disk DescriptorFile»; содержит геометрию диска, тип и пути к экстентам
Магические байты (разреженные экстенты)
0x4B 0x44 0x4D 0x56 (ASCII «KDMV») со смещением 0 в разреженных хост-экстентах
Заголовок плоского экстента
Необработанные образы секторов без магической сигнатуры со смещением 0; дескриптор является внешним или встроен отдельно
Максимальный размер виртуального диска
До 62 ТБ на один виртуальный диск (VMware vSphere 6.x и новее)
Размер сектора
512-байтовые секторы по умолчанию; поддержка нативных секторов 4 КБ добавлена в ESXi 6.5+
MIME-тип
application/x-vmdk
Размер гранулы (sparse grain size)
По умолчанию 128 секторов (64 КБ) на гранулу; настраивается в файле дескриптора
Разработчик
VMware, Inc.; приобретена Broadcom в 2023 году
Совместимость с гипервизорами
Нативная для продуктов VMware; также поддерживается Oracle VirtualBox, QEMU/KVM и Parallels Desktop
Конвертация
qemu-img convert переводит .vmdk в/из QCOW2, VHD, RAW и другие форматы образов дисков
Интеграция OVF/OVA
.vmdk является стандартным форматом диска внутри пакетов виртуальных модулей OVA/OVF согласно стандарту DMTF OVF
Файлы дельты снимков
Инкрементальные изменения отслеживаются в отдельных файлах redo-log (дельта) вида vmname-######.vmdk рядом с базовым диском
Независимость от файловой системы
Контейнер .vmdk не зависит от файловой системы; гостевая ОС форматирует виртуальный диск независимо от хоста
Выпущен
2003 (VMware Workstation / GSX); VMDK spec published by VMware for the OVF effort
Вопросов пока нет - станьте первым, кто спросит о файлах VMDK.
Часто задаваемые вопросы
Как открыть файл VMDK?
Вы не открываете его как документ - вы подключаете его к виртуальной машине. Используйте VMware Workstation Pro (бесплатно для личного использования) или VirtualBox (бесплатно): создайте или откройте виртуальную машину, использующую .vmdk, и включите её. Чтобы просто прочитать файлы внутри, смонтируйте его или просмотрите в режиме «только чтение» с помощью 7-Zip.
Является ли VMware бесплатной для открытия файлов VMDK?
Да. VMware Workstation Pro (Windows/Linux) и Fusion Pro (Mac) стали бесплатными для личного использования в 2024 году после приобретения компанией Broadcom - их можно скачать через бесплатную учетную запись Broadcom. VirtualBox также является бесплатным ПО с открытым исходным кодом и поддерживает чтение VMDK.
Почему мой файл VMDK весит всего несколько КБ, и что такое файл «-flat»?
Этот маленький .vmdk - всего лишь текстовый дескриптор; реальные данные диска находятся в соответствующем файле «disk-flat.vmdk» (ESXi) или в разделенных файлах «disk-s001.vmdk … -s00N.vmdk» рядом с ним. Всегда держите их вместе и указывайте виртуальной машине на файл-дескриптор.
Как извлечь файлы из VMDK без виртуальной машины?
В Windows откройте .vmdk с помощью 7-Zip для просмотра в режиме «только чтение» или смонтируйте его с помощью утилиты vmware-mount от VMware или средств VirtualBox. В Linux используйте guestmount (libguestfs), чтобы смонтировать гостевую файловую систему и скопировать файлы.
Как конвертировать VMDK в VHD или VDI?
Для Hyper-V (VHD/VHDX): «qemu-img convert -O vhdx in.vmdk out.vhdx» или StarWind V2V Converter. Для VirtualBox (VDI): «VBoxManage clonemedium in.vmdk out.vdi --format VDI» - хотя VirtualBox может использовать VMDK напрямую без конвертации.
Можно ли конвертировать VMDK в ISO?
Нет - VMDK является образом жесткого диска, а ISO - образом оптического диска; они не взаимозаменяемы. Смонтируйте VMDK для копирования файлов, экспортируйте всю виртуальную машину в OVA для передачи или соберите установочный ISO из ОС отдельно.
Ссылки
1Oracle VirtualBox - Virtual storage / supported disk image formatsdocs.oracle.com
2Broadcom - VMware Workstation Pro / Fusion now free for personal useblogs.vmware.com