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

Возможно ли преобразовать файл .vdi в .iso, который можно записать на компакт-диск или dvd и сделать его как установщик. Или возможно ли преобразовать виртуальные машины в физические среды?

Да и нет.

Вы можете конвертировать VDI в образ диска с помощью инструмента VBoxManage . Эта команда клонирует зарегистрированный образ виртуального диска в другой файл изображения. Если вы хотите преобразовать свой виртуальный диск в другой формат, это официальный инструмент VirtualBox для использования [*].

VBoxManage clonehd file.vdi output.img --format RAW 
  • Если вы используете динамический VDI, и у вас установлена ​​более старая версия VirtualBox, clonehd может работать неправильно. Инструмент встроенных команд VBoxManage включает в себя конвертер , который может конвертировать динамический VDI в исходный образ диска ( источник ) [+].
 VBoxManage internalcommands converttoraw file.vdi output.img 

Но … этот вывод IMG-файла не является образ ISO, а установленная ОС не будет настроена для запуска с загрузочного CD / DVD. Вы можете «записать» (записать) IMG на жесткий диск, и он может загружаться на голом оборудовании (например, не на виртуальной машине). Но это может быть не так, потому что ОС, установленная на этом IMG, ожидает увидеть виртуальное оборудование, которое VirtualBox предоставляет, и вы загружаете его на реальном оборудовании, чего он не ожидает.

Некоторые версии Windows плохо справляются с этой ситуацией; Некоторые дистрибутивы Linux. Иногда можно настроить ОС (предварительно или после), чтобы перенести ее из одной среды в другую, как это, но определенные шаги полностью зависят от миграции ОС.


В Windows вам может потребоваться указать полный путь к программе:

 "C:\Program Files\Sun\VirtualBox\VBoxManage.exe" [...] 

Добавьте C: \ Program Files \ Sun \ VirtualBox в свою PATH, чтобы использовать короткую версию.


[*] Я предполагаю, что опция «–format RAW» преобразуется в стандартный образ диска, как если бы вы использовали команду dd на физическом жестком диске. Но, честно говоря, я не нашел документов, подтверждающих это, поэтому имейте в виду, что это может быть неверно.

[+] Я только что проверил обе команды в VirtualBox 3.1.2. Оба выходных файла идентичны в соответствии с md5sum , но я не полностью тестировал выходные файлы.

См. Также учебник «Все о VDI» на форумах VirtualBox.

Если ваш файл vdi содержит разделы и вы хотите извлечь только один из них, используйте следующее:

Во-первых, как сказал ранее quack quixote, преобразуйте файл vdi в файл необработанного изображения:

 # VBoxManage clonehd file.vdi file.raw --format RAW 

Затем настройте устройство цикла для изображения:

 # loopdev=$(losetup --show -r -f file.raw) 

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

 # apt-get install kpartx # kpartx -a $loopdev 

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

 # ls /dev/mapper/loop* /dev/mapper/loop0p1 

Теперь смонтируйте его, чтобы убедиться, что все работает правильно:

 # mkdir /mnt/part1 # mount /dev/mapper/loop0p1 /mnt/part1 # ls /mnt/part1 # umount /mnt/part1 

Используйте dd для копирования содержимого раздела в другой целевой раздел:

 # dd if=/dev/mapper/loop0p1 of=/dev/sda2 bs=1M 

После того, как вы закончите, снова удалите сопоставления устройств:

 # kpartx -d file.raw 

Ответ – это определенное да, если ваша хост-система и гостевая система – это Linux. Это делается с пакетами qemu и TKLPatch . Вы можете использовать файлы VDI или VMDK.

Прочитайте больше:

  • Преобразование образа виртуального диска в ISO, который вы можете распространять

Я попробовал VBoxManage clonehd file.vdi output.img --format RAW из принятого ответа, но без особого успеха.

Что для меня работало с виртуальной машиной Windows 8.1 на хосте Windows 7:

  1. Сделайте машину Windows 8.1 в VirtualBox, установите и используйте, как обычно, с виртуальной машиной.
  2. Преобразование виртуального жесткого диска .vdi в Windows VHD с VBoxManage clonehd source.vdi target.vhd --format vhd
  3. Смонтируйте VHD на главной машине Windows в качестве диска (вы можете смонтировать VHD в Дисковом Менеджере в Управлении компьютером.
  4. Клонируйте VHD (смонтированный как диск) на другой новый жесткий диск (USB-ноутбук с ноутбуком HD в моем случае) DriveImage XML или аналогичный инструмент клонирования диска. Теперь вы в основном клонировали виртуальный жесткий диск .vdi, чтобы обнажить металл.
  5. Установите новый жесткий диск в машину. (В моем случае замените жесткий диск для ноутбука)
  6. Вставьте установочный USB-диск Windows 8.1, загрузитесь с него, выберите «Дополнительные параметры» и «Автоматический ремонт». Автоматический ремонт сделает новый жесткий диск загрузочным.
  7. Загрузитесь с нового жесткого диска с клонированной Windows 8.1 и запустите Центр обновления Windows. Это загрузит драйверы для оборудования вашего компьютера, которые не были известны при запуске Windows в VirtualBox. Вам придется устанавливать отсутствующие драйверы вручную, если они есть.
  8. Удалите дополнения VirtualBox. При желании установите VirtualBox так, чтобы ваш голый металл Windows 8.1 мог быть хостом VirtualBox.

Я делаю этот процесс очень быстро, с двумя командами в Linux:

# VBoxManage internalcommands converttoraw your_disk_virtual.vmdk your_disk_virtual.img

ИЛИ

# VBoxManage internalcommands converttoraw your_disk_virtual.vdi your_disk_virtual.img

# Mv your_disk_virtual.img your_disk_virtual.iso

Моя полная статья: http://www.previsioni.com.br/jailsonjan/?p=389

Используйте следующую команду для преобразования:

 VBoxManage clonehd CactiEZ-disk1.vmdk output.iso --format VMDK 

Вот результат:

 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% Clone hard disk created in format 'VMDK'. UUID: 7f297ac6-95eb-4814-9237-1acfd6be976c 
Давайте будем гением компьютера.