图像格式转换

在不同图像格式之间转换通常很简单。

qemu-img convert: raw, qcow2, qed, vdi, vmdk, vhd

qemu-img convert 命令可以在多种格式之间进行转换,包括 qcow2qedrawvdivhdvmdk

qemu-img 格式字符串

图像格式

qemu-img 的参数

QCOW2 (KVM, Xen)

qcow2

QED (KVM)

qed

raw

raw

VDI (VirtualBox)

vdi

VHD (Hyper-V)

vpc

VMDK (VMware)

vmdk

这个例子会将名为 image.img 的 raw 镜像文件转换为 qcow2 镜像文件。

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

运行以下命令将 vmdk 镜像文件转换为 raw 镜像文件。

$ qemu-img convert -f vmdk -O raw image.vmdk image.img

运行以下命令将 vmdk 镜像文件转换为 qcow2 镜像文件。

$ qemu-img convert -f vmdk -O qcow2 image.vmdk image.qcow2

注意

-f format 标志是可选的。如果省略,qemu-img 将尝试推断镜像格式。

在 Windows 上转换镜像文件时,请确保已安装 virtio 驱动程序。否则,由于缺少 virtio 驱动程序,启动镜像时会出现蓝屏。另一种选择是在 Image 服务中更新镜像时设置以下镜像属性,以避免此问题,但这会显著降低虚拟机性能。

$ openstack image set --property hw_disk_bus='ide' image_name_or_id

VBoxManage: VDI (VirtualBox) to raw

如果您使用 VirtualBox 创建了 VDI 镜像,可以使用随 VirtualBox 提供的 VBoxManage 命令行工具将其转换为 raw 格式。在 Mac OS X 和 Linux 上,VirtualBox 默认将镜像存储在 ~/VirtualBox VMs/ 目录中。以下示例从 VirtualBox VDI 镜像创建当前目录中的 raw 镜像。

$ VBoxManage clonehd ~/VirtualBox\ VMs/image.vdi image.img --format raw