Назад | Перейти на главную страницу

Перенести KVM .img в VirtualBox .vdi

Я пытаюсь перенести виртуальную машину с KVM на Virtualbox (win7 64bit). Мне удалось преобразовать образ диска с помощью следующих команд:

VBoxManage convertfromraw -format VDI XX.img XX.vdi

qemu-img convert -f qcow2 XX.img -O vdi XX.vdi

Я также пробовал сначала конвертировать в raw, а затем в vdi. Тем не менее, когда я монтирую новый диск в виртуальную коробку под контроллером IDE или SATA. Система вообще не загружается. Выдает (виндовс загрузка файлов ..) потом перезагружается.

Любой совет очень ценен, я могу упустить деталь.

Когда вы перемещаете образ диска, установленная ОС не знает об этом и пытается загрузиться с драйверами для контроллеров ранее используемой платформы виртуализации. Windows, когда не может найти драйвер для установленного в данный момент контроллера диска, BSOD и перезагружается.

Это почти то же самое, что переносить жесткий диск Windows между разными аппаратными платформами.

Может быть два решения: либо использовать конвертер v2v, который может конвертировать из KVM в VBox (я не знаю ни одного, но если вы это сделаете, поделитесь), либо вставьте драйверы в образ виртуальной машины, прежде чем запускать его в новая среда. Самый простой способ сделать это - сделать следующее:

  • Перед преобразованием в KVM запустите mergeide.reg (вы можете найти его на веб-сайте MS и почти во всем Интернете)
  • Переключите загрузочный диск под KVM на IDE и запустите виртуальную машину.
  • Если все работает, конвертируйте изображение с помощью qemu-img в формат vbox
  • Создайте виртуальную машину в VBox с первым загрузочным диском в качестве IDE (не SATA или SCSI)
  • Присоедините преобразованный диск - система должна загрузиться
  • Установите драйверы диска Vbox (возможно, придется подключить дополнительный
    маленький диск, чтобы они вступили в силу)
  • Переключите интерфейс загрузочного диска на нужный тип контроллера и снова запустите виртуальную машину.

Перед преобразованием у вас должна быть возможность запустить sysprep на виртуальной машине Windows. Это заставляет Windows проверять драйверы перед загрузкой, потому что они изменятся.