Converting KVM virtual machines to VirtualBox
Recently the requirement came up to take a KVM based virtual machine and move it over to a VirtualBox image. Which turned out to be a fairly simple endeavour, and was fairly painless. The longest part was transferring over the 40 GB image from one machine to the other where the conversion could take place. The machine the image was coming from was only on a 100 Mbit/sec connection so that took a good hour.
Converting from KVM to VirtualBox for a FreeBSD image was pretty
simple, the VBoxManage
command has a convertdd
command that allows you to
convert from raw disk .img
format to .vdi
format.
VBoxManage convertdd KVM-image.img VB-image.vdi
After this, unfortunately, there is no way to to automatically convert over the
settings that the virtual machine had, such as the network cards, the memory
allocations and hard drive settings. You will have to go to VirtualBox and
create a new virtual machine and replicate all of the settings. Once that is
done make sure to select the same type of disk controller (SATA or IDE) so that
the drive will hopefully be assigned the same name in the device tree so that
you don't need to alter your /etc/fstab
.
Hopefully everything boots without any issues. If not try creating a new
virtual machine, attach the converted image as a secondary drive and see if you
can mount the converted image within your new install. If so maybe transferring
the data using rsync
or dump
/restore
would be an option.