Как редактировать файлы в образе vdi. Конвертация виртуальных образов ОС - VDI в VMDK и наоборот

К этому вопросу приходит любой исследователь или администратор. И хорошо когда есть выбор для решения. Как я уже писал ранее нам понадобилось срочно развернуть полигон CentOS на Oracle VirtualBox. Также имеем десяток других тестовых ОС как в VirtualBox так и в VMware. Некоторые из них напичканы софтом так что нет возможности ее клонировать из одной виртуальной среды в другую, а хочется просто скопировать, т.е. преобразовать. Благо возможность такая есть.

Для начала маленькая справка.

VDI (Virtual Disk Image) — формат файла, разработанный Oracle для использования в качестве образа диска в своих виртуальных машинах VirtualBox.

VMDK (Virtual Machine Disk) — формат файла, разработанный VMware для использования в качестве образа диска в своих виртуальных машинах.

VHD (Virtual Hard Disk) – это формат файла от Microsoft , у которого полная структура и содержимое аналогичны с жестким диском. Он используется для хранения виртуальных операционных систем, программ и других файлов в одном файле-образе, который можно открыть разными программами виртуализации или виртуальными машинами.

То как же мне конвертировать образ VMDK в VDI?

Для того чтобы конвертировать образ виртуальной машины из одного формата в другой можно воспользоваться одним из способов:

1. Используя утилиту qemu-img из пакета эмулятора QEMU. Данная команда конвертирует образ виртуальной машины, созданной в VirtualBox, в VMware-образ:

qemu-img convert -f vdi -O vmdk VirtualBoxImage.vdi VmWareImage.wmdk
-f – определяет формат образа виртуальной машины для преобразования
-O – определяет формат образа виртуальной машины в который будет преобразован текущий образ.

Список поддерживаемых форматов можно посмотреть так:

Общий формат команды:

qemu-img convert [-c] [-f fmt] [-O output_fmt] [-o options] filename ] output_filename

2. Для преобразования виртуальной машины из одного формата в другой также можно воспользоваться встроенными средствами Virtual Box VBoxManage clonehd:

Преобразовать vmdk в vdi:
VBoxManage clonehd VmWare_Image.vmdk VirtualBox_Image.vdi –format VDI

И наоборот, виртуальную машину формата vdi в vdmk:
VBoxManage clonehd VirtualBox_Image.vdi VmWare_Image.vmdk –format VMDK

Общий формат команды:

VBoxManage clonehd | | [–format VDI|VMDK|VHD|RAW|] [–variant Standard,Fixed,Split2G,Stream,ESX] [–existing]

3. Можно конвертировать *.vdi образы через графический интерфейс VirtualBox:

Файл->Управление виртуальными образами->Копировать
Выбираем какую *.vdi машину преобразовывать и желаемый формат (vdmk/vdi/vhd и т.п.) нового образа.

Сегодня мы расскажем вам, что собой представляет формат VDI, чем открыть его и как с ним работать. Чаще всего такие материалы имеют отношение к виртуальным компакт-дискам Virtuo CD.

Формат VDI: чем открыть - Windows-приложения

Если вы столкнулись с подобным файлом на персональном компьютере, скорее всего, в нем хранятся образы диска. Это один из вариантов использования расширения VDI. Чем открыть такие данные, помогут разобраться следующие программы: WinMount (многофункциональное ПО, которое позволяет создавать виртуальные диски из архива, отдельной директории или образа, также здесь реализованы возможности виртуализаци, которые позволяют существенно сэкономить пространство), MagicISO, UltraISO. Можно использовать и другие приложения для работы с образами.

VirtualBox

Теперь обсудим более редкие варианты использования расширения VDI, чем открыть такой файл, если он не имеет отношения к виртуальным дискам, мы также рассмотрим ниже. К примеру, такие данные могут быть связаны с VirtualBox для платформ x86-64. Разработчиком такого решения выступила компания Oracle, и оно способно работать на различных операционных системах. VDI-файлы хранятся в VirtualBox и при этом имеют собственный формат. Используются такие материалы для сохранения виртуализованных ОС и других данных в едином физическом диске. VirtualBox обладает инструментом командной строки под названием VBoxManage. Благодаря этому появляется возможность изменять различные параметры и конвертировать файлы VDI. Описанное программное обеспечение используется встраиваемыми и настольными ПК, а также серверами для виртуализации на профессиональном уровне. VirtualBox позволяет запустить операционную систему, используя оконный режим другой ОС. В данном случае файлы VDI рассматриваются как отдельные жесткие диски. Открыть такие материалы поможет приложение VM VirtualBox.

Другие варианты

Иногда файлы, имеющие расширение VDI, могут применяться программой VirtualDub, которая обеспечивает все для обработки и захвата цифрового видео. В заключение рассмотрим последний вариант использования указанного формата. Расширение VDI применяет StepMania. В данном случае речь идет о ритмической танцевальной программе. Это особое решение. Оно обеспечивает поддержку всевозможных танцевальных площадок. В файле содержится отладочная информация, которая используется, чтобы отследить сбои программы в ОС Windows. Все данные хранятся в особом двоичном формате, а также, как правило, имеют название StepMania.vdi. Вот мы и разобрались, что такое расширение VDI, чем открыть его и какие приложения помогут с ним взаимодействовать.

У вас есть проблема с открытием.VDI-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы VDI. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.

Для чего нужен файловый формат.VDI?

Главная ассоциация расширения .vdi принадлежит типу/формату файлов "Образ виртуального диска Oracle VirtualBox" (Oracle VirtualBox Virtual Disk Image, VDI). VirtualBox — это общее название надежного универсального решения по виртуализации с открытым исходным кодом от Oracle, Inc. VirtualBox выпускается для целого ряда платформ и позволяет создавать виртуальные машины (ВМ) для запуска гостевых операционных систем (ОС) в "песочнице" первичной ОС.

VDI выступает в качестве двоичного контейнерного формата, используемого VirtualBox для хранения образов дисковых устройств гостевых ОС. Файл .vdi представляет собой объемный двоичный файл, содержащий образ диска, а также некоторые метаданные конкретной ВМ. Все жесткие диски, используемые ВМ VirtualBox, — это соответствующие им файлы .vdi .



VDI-образ может содержать любую файловую систему и может динамически расширяться (в зависимости от установок VirtualBox). Для использования с другими решениями по виртуализации (напр., VMware) файлы .vdi могут конвертироваться в другие форматы образов дисков (.iso , .vmd k) — и наоборот.

В другом контексте расширение .vdi также используется для обозначения типа/формата файлов "Сведения VirtualDub" (VirtualDub Information, VDI), используемого VirtualDub — универсальной бесплатной программой ( (как правило, с именем "VirtualDub.vdi ") представляет собой двоичный модуль дизассемблера, используемый в целях отладки для сбора сведений в случае аварийного завершения ("падения") программы.

В аналогичном значении расширение .vdi также применяется для обозначения файлов отладочных ресурсов (.vdi ) в рамках StepMania — бесплатной многоплатформенной интерактивной танцевальной игры. Такие VDI-файлы представляют собой двоичные модули, используемые для сбора информации при подготовке отчетов в случаях падений ПО игры.

Программы для открытия или конвертации VDI файлов

Вы можете открыть файлы VDI с помощью следующих программ: 

VDI — это формат образов дисков, используемых системой виртуализации VirtualBox. О том, как использовать реальный диск на виртуальной машине, я уже , теперь посмотрим, как можно реализовать обратный процесс — использование виртуального диска в реальной системе. Таким образом вы можете получить доступ к данным, находящимся на диске виртуальной машины без необходимости ее запускать. Использование образов дисков VDI в Linux сводится к установке пакета и двухэтапному монтированию, после чего содержимое можно использовать точно так же, как и содержимое любой другой файловой системы.

Для подключения виртуального диска в формате VDI используется программа vdfuse, входящая в состав пакета virtualbox-fuse.

Установка пакета

В Debian/Ubuntu пакет устанавливается командой

Apt-get install virtualbox-fuse

Если у вас установлена версия VirtualBox от Oracle, может потребоваться установить по зависимостям VirtualBox OpenSource Edition (virtualbox-ose).

Подключение диска

На первом этапе монтируется образ VDI. Это можно сделать следующей командой:

Sudo vdfuse -w -f ./webserver.vdi /mnt/vdi

Таким образом мы получим доступ к разделам, которые присутствуют на виртуальном диске. На втором этапе монтируется необходимый раздел:

Sudo mount -t auto /mnt/vdi/Partition1 /mnt/vdi-part1 -o loop

После этого можно работать с файловой системой на виртуальном разделе.

Параметры командной строки vdfuse

В общем виде формат выглядит так:

Vdfuse [опции] -f образ-диска.vdi точка-монтирования

Вот какие опции есть у vdfuse.

Так как часто приходится устанавливать ОСи на различные компьютеры решил сделать свою сборку для быстрой установки (так называемую "заливку") с помощью Acronis True Image с модулем Universal Restore. Сборку делал путем установки чистой ОС на виртуальную машину Virtual Box с последующей установкой необходимого софта.


Несколько замечаний по установке системы WinXP на виртуальную машину для последующего создания универсального образа:

  1. Установить драйвера (HAL) - "Компьютер с ACPI". Панель управления > Система > Оборудование > Диспетчер устройств > Компьютер > правой кнопкой по установленному драйверу HAL > Обновить драйвер > Нет, не в этот раз > Установка из указанного места > Не выполнять поиск. Я сам выберу нужный драйвер > Компьютер с ACPI > Далее > Готово!
  2. Установить драйвер - "Стандартный двухканальный контроллер PCI IDE". Панель управления > Система > Оборудование > Диспетчер устройств > IDE ATA/ATAPI контроллеры > правой кнопкой по установленному IDE-контроллеру > Обновить драйвер > Нет, не в этот раз > Установка из указанного места > Не выполнять поиск. Я сам выберу нужный драйвер > Стандартный двухканальный контроллер PCI IDE > Далее > Готово!
  3. Удалить в реестре ссылки на старые диски путем очистки раздела реестра HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices.
  4. Удалить в реестре ссылки на драйвер процессора Интел. Пуск > Выполнить > Regedit > HKLM > SYSTEM > ControlSet001 > Services > удаляем раздел Intelppm. Повторить то же для ControlSet002.
  5. Отключить все лишние устройства.
  6. В Virtual Box ни в коем случае не устанавливайть Guest addons.
  7. Не устанавливать драйвера. Не устанавливать Alcohol и DaemonTools. Не подключать виртуальные CD-ROM"ы.
  8. Выполните очистку следующих каталогов:
    C:\WINDOWS\SYSTEM32\dllcache\
    C:\WINDOWS\Prefetch\
    C:\WINDOWS\Temp\
    C:\Documents and Settings\ \Local Settings\Temp\
    C:\Documents and Settings\ \Local Settings\Temporary Internet Files\
    C:\Documents and Settings\ \Local Settings\History\
    C:\Documents and Settings\ \Cookies\
    C:\Documents and Settings\ \NetHood\
    C:\Documents and Settings\ \Recent\
    C:\RECYCLER\
    C:\System Volume Information\
  9. Выполнить дефрагментацию раздела с установленной ОС.
В виртуальной машине создал новый жесткий диск на который сделал Acronis"ом резервную копию установленной системы.
Затем создал загрузочную флешку с Acronis True Image Echo Enterprise Server 9.7.8398 c Acronis Universal Restore Rus. На флешке есть папка DRP в которой находится подборка драйверов контроллеров жестких дисков. Эта подборка называется Driver Pack «Mass Storage». Скачать ее новейшую версию можно с сайта http://driverpacks.net/ .
Однако перенести подготовленный образ сразу на флешку из виртуальной машины не удалось т.к. была установлена Virtual Box OSE, а она не поддерживает работу с USB =((. Конечно можно было бы записать из виртуальной машины образ на DVD но этот путь не для меня =)).
Образ виртуального жесткого диска в формате *.vdi есть - значит из него можно вытащить нужный мне файл!
После поисков программы, которая бы позволяла сделать такую операцию, или способа примонтировать *.vdi файл решение все-таки было найдено.
Во-первых, если при создании жесткого диска в Virtual Box был выбран динамически расширяющийся образ - его необходимо преобразовать в статический. Динамический образ означает, что блоки файловой системы располагаются в хронологическом порядке, а не в том, который ожидает драйвер файловой системы. Преобразовать в статический нужно командой:

vboxmanage clonehd --variant static WinXP.vdi temp.vdi

Преобразованный статический образ (если перед temp.vdi не указать путь) будет находиться в /home/ /.VirtualBox/.
Затем этот образ можно подключить как обычный носитель командами:

modprobe nbd max_part=8 nbds_max=1
qemu-nbd --connect=/dev/nbd0 temp.vdi
fdisk -l /dev/nbd0
mount -t ntfs-3g /dev/nbd0p1 /media/CD

Вот и все =))) - теперь у меня есть доступ к "жесткому диску" виртуальной машины.
Для пользователей Win - работать с файлами *.vdi можно при помощи замечательной программы - UltraISO.