Converting between image formats
Converting images from one format to another is generally straightforward.
qemu-img convert: raw, qcow2, QED, VDI, VMDK, VHD
The qemu-img convert command can do conversion between multiple
formats, including qcow2, QED, raw, VDI (VirtualBox), VHD (Hyper-V), and VMDK (VMware).
qemu-img format strings
Image format |
Argument to qemu-img |
qcow2 (KVM, Xen) |
qcow2 |
QED (KVM) |
qed |
raw |
raw |
VDI (VirtualBox) |
vdi |
VHD (Hyper-V) |
vpc |
VMDK (VMware) |
vmdk |
This example will convert a raw image file named centos7.img to a qcow2 image file.
$ qemu-img convert -f raw -O qcow2 centos7.img centos7.qcow2
Run the following command to convert a VMDK image file to a raw image file.
$ qemu-img convert -f vmdk -O raw centos7.vmdk centos7.img
Run the following command to convert a VMDK image file to a qcow2 image file.
$ qemu-img convert -f vmdk -O qcow2 centos7.vmdk centos7.qcow2
The -f format flag is optional.
If omitted, qemu-img will try to infer the image format.
VBoxManage: VDI (VirtualBox) to raw
If you've created a VDI image using VirtualBox, you can convert it to raw format using
the VBoxManage command-line tool that ships with VirtualBox. On Mac
OS X, and Linux, VirtualBox stores images by default in the ~/VirtualBox VMs/
directory. The following example creates a raw image in the current directory from a
VirtualBox VDI image.
$ VBoxManage clonehd ~/VirtualBox\ VMs/fedora21.vdi fedora21.img --format raw