5/03/2010

Конвертировать img-образ QEMU в VirtualBox без vditool

Для запуска приложений Windows, аналогов которым в Linux пока не видно, а особенно программ, работающих с сетью или требующих сетевого подключения, в последнее время я всё чаще использую VirtualBox. В отличие от QEMU, VirtualBox изначально сильно заточен именно под Windows (Guest addons, разные варианты ACPI, seamless-перехват мыши). Но у меня есть уже установленные варианты Windows в QEMU и их хотелось бы использовать в VirtualBox. Ниже небольшой пост о конвертации QEMU-образов в образы VirtualBox.


Конвертирование образов QEMU в VirtualBox, и, может быть, обратно Собственно, это не сложно, но задачу в первый раз при поиске осложняет масса устаревшего мусора в Сети, который рекомендует пользоваться vditool, однако насколько мне известно эту утилиту больше не скачать. А на самом деле, всё, что нужно для преобразования, уже находится в комплекте VirtualBox.

Итак, чтобы преобразовать образ диска QEMU под названием test.img в образ диска VirtualBox а-ля test.vdi, делаем вот что:
qemu-img convert -O raw test.img test.raw

VBoxManage convertdd test.raw test.vdi
как вариант: VBoxManage convertfromraw -format VDI test.raw test.vdi

VBoxManage modifyvdi /full/path/to/test.vdi compact


Здесь есть один момент, который важной упомянуть: обратная конвертация из VirtualBox в QEMU затруднена. Это означает, что если вы не найдёте vditool для Linux, обратно преобразовать данные не выйдет. Но если вам всё-таки улыбнётся удача, то последовательность действий такова:

vditool COPYDD vbox-image.vdi raw-image.img

qemu-img convert -f raw raw-image.img -O qcow2 qemu-image.qcow

То есть сначала перегоняем данные из vdi-формата в img, при этом размер файла будет 8Гб независимо от того, насколько заполнен диск. Далее уже стандартной утилитой в QEMU сжимаем образ и получаем на выходе QEMUшный диск, готовый для запуска.

Благодаря комментаторам, выяснилась возможность конвертировать образ Virtualbox в образ QEMU

VBoxManage internalcommands converttoraw src.vdi dst.raw

И ещё. В отличие от образов QEMU, примонтировать которые не составляет проблемы, образы VirtualBox примонтировать вовсе не так просто. Так что если вы хотите иметь постоянный (и простой) доступ к файлам гостевой ОС, имеет смысл использовать QEMU. Если же вам нужно запустить Windows в Linux без особых сложностей, VirtualBox всё-таки лучше.


Примечание
В последних версиях QEMU (по крайней мере, 0.12.3) имеется поддержка vdi формата VirtualBox 1.1. Для более ранних версий патч можно найти на сайте QEMU Forum в разделе Patches Repository.
Спасибо анонимному комментатору за ценные сведения!

Ссылки
Краткое изложение можно почерпнуть на опеннете, а очень ценный пост по обратной конвертации из Virtualbox в QEMU можно найти здесь.

8 комментариев:

  1. предпочитаю vmdk образы, так как поддерживаются всем, а если нужно примонтировать -- то преобразовать легко в raw

    ОтветитьУдалить
  2. Сконвертировать из vdi в raw можно с помощью
    VBoxManage internalcommands converttoraw src.vdi dst.raw

    Ну а потом с помощью qemu-img из raw в qcow

    ОтветитьУдалить
  3. @ kpp
    предпочитаю vmdk образы
    Здесь идёт речь не о предпочтениях, а о факте: есть эти поганые виртуалбоксные образы и их надо чем-то прочитать.

    @ lexa_, 03.05.2010 18:24:00
    Сконвертировать из vdi в raw можно с помощью
    Спасибо, lexa!

    ОтветитьУдалить
  4. >> изначально сильно заточен именно под Windows (Guest addons, разные варианты ACPI, seamless-перехват мыши)

    спорное утверждение, т.к. это инсталлируется замечательно и для linux-гостевых систем...

    ОтветитьУдалить
  5. В последних версиях QEMU (по крайней мере, 0.12.3) уже включена заплатка для поддержки формата vdi (см. документацию на офф.сайте http://wiki.qemu.org/download/qemu-doc.html).
    Для более ранних версий ее можно найти на сайте QEMU Forum (http://qemu-forum.ipi.fi/) в разделе Patches Repository. Я лично успешно ее использовал (точно не помню, но вроде на ветке 0.11.x).

    ОтветитьУдалить
  6. Ну, понеслась!

    > Но еу меня есть
    Вот что-что, а опечатки у тебя встречаются раз в год. И это класно ;)

    > QEMU образов
    «Образов QEMU», но «QEMU-образов».

    > А на самом деле, всё что нужно
    Запятую надо ставить не перед, а после «всё».

    А ещё у тебя три области с кодом и во всех разные размер и цвет шрифтов :)

    Что касается собственно топика, то я с virtualbox/qemu повозился и бросил — не устраивает скорость. Да и вообще, вендекапец ещё не настал — при необходимости я найду виндовую машину и запущу приложение там.

    ОтветитьУдалить
  7. @AnViar пишет...

    >> изначально сильно заточен именно под Windows (Guest addons, разные варианты ACPI, seamless-перехват мыши)

    спорное утверждение

    Во всяком случае у меня в Дебиане оно не заработало, чем, собственно, и вызвало эту реплику.

    @Анонимный, 04.05.2010 10:31:00
    В последних версиях QEMU (по крайней мере, 0.12.3) уже включена заплатка для поддержки формата vdi
    О, круто! Спасибо, товарищЬ анонимус! Добавил в текст поста.

    А что там, кстати, с kqemu - у меня оно с дебиановским gcc не собирается никак.

    @Minoru
    Хайль Розенталь, штандартнграмммарнаци! :-)))

    Вот что-что, а опечатки у тебя встречаются раз в год.
    Хе-хе, чаще. И комментаторы глазастые, сразу соринку в чужом глазу заприметят :-)

    «Образов QEMU», но «QEMU-образов».
    Поправлено.

    Запятую надо ставить не перед, а после «всё».
    Так точно, Дитмар Эльяшевич!

    А ещё у тебя три области с кодом и во всех разные размер и цвет шрифтов :)

    ̶А ̶ ̶х ̶р ̶е ̶н ̶ ̶е ̶г ̶о ̶ ̶з ̶н ̶а ̶е ̶т ̶, ̶п ̶о ̶ч ̶е ̶м ̶у ̶ ̶т ̶а ̶к ̶ ̶п ̶о ̶л ̶у ̶ч ̶и ̶л ̶о ̶с ̶ь ̶
    Это такой тонкий стилистический штрих :-)

    ̶Н ̶а ̶с ̶т ̶у ̶п ̶и ̶л ̶ ̶н ̶а ̶ ̶г ̶о ̶р ̶л ̶о ̶ ̶с ̶о ̶б ̶ ̶с ̶т ̶в ̶е ̶н ̶н ̶о ̶й ̶ ̶п ̶е ̶ ̶с ̶н ̶е ̶
    Поправил.

    с virtualbox/qemu повозился и бросил — не устраивает скорость
    Нормальная скорость, терпимая. Раньше всё было гораздо печальнее.
    У меня вот на моей маленькой тошибе (нетбук NB100) виртуальный ящик винду гоняет. Ничего, вполне.

    Да и вообще, вендекапец ещё не настал — при необходимости я найду виндовую машину и запущу приложение там.
    Завидую. У нас тут всё виндовс-онли, не погуляешь.

    ОтветитьУдалить
  8. #образы VirtualBox примонтировать вовсе не так просто.

    Информация устарела. На linux можно использовать утилитку vdfuse.
    http://forums.virtualbox.org/viewtopic.php?f=26&t=33355

    ОтветитьУдалить