很多时候,我们使用虚拟化架构时,经常需要将微软Hyper-V的VHDX文件,和VMware的VDMK文件、RAW、IMG文件等互转,这时,可以使用一个很小的程序 Qemu-img来进行。
转完以后,如果需要导入ESXI中,请看 https://www.clouditidc.com/2025/01/1791.html
QEMU-IMG可以在这里下载到 qemu-img for WIndows – Cloudbase Solutions
将Qemu-img文件所在路径加入windows的环境变量-path中,就可以在cmd中,直接执行qemu-img命令
下面说说命令的用法:
qemu-img convert -f 源类型 -O 目标类型 源磁盘映像路径 输出磁盘映像路径
例如现在有一个磁盘文件为D:\Vhost.vhdx,需要转换为一个Vhost.vmdk文件,则执行命令:
qemu-img convert -f vhdx -O vmdk D:/Vhost.vhdx D:/Vhost.vmdk
当然也可以在cmd下,cd进入镜像所在文件夹路径,直接针对文件名进行,不带路径操作。
转换格式需要使用它的convert命令,为它指定输入输出磁盘格式等相关参数即可,它可以自动识别输入的磁盘映像的类型。
qemu-img convert 源磁盘映像路径 -O 目标类型 输出磁盘映像路径
也可以手动指定输入磁盘映像的类型
qemu-img convert -f 源类型 -O 目标类型 源磁盘映像路径 输出磁盘映像路径
命令选项 -O 为大写的字母O。
以将source.img转换为vmdk格式为例
qemu-img convert source.img -O vmdk dest1.vmdk
qemu-img转换格式使用手动指定的方式,转换为vdi格式
qemu-img convert -f raw -O vdi source.img dest2.vdi
手动指定格式将vmdk转换为vhdx格式
qemu-img convert dest1.vmdk -O vhdx dest3.vhdx
或
qemu-img convert -f vmdk -O vhdx dest1.vmdk dest4.vhdx
如果需要了解更多使用方式,可以运行命令qemu-img -help查看。
QEMU-img可用格式:
Image format | Argument for -f and -O options |
---|---|
VMDK (VMware) | vmdk |
QCOW2 (KVM, Xen) | qcow2 |
VHD (Hyper-V) | vpc |
VHDX (Hyper-V) | vhdx |
RAW | raw |
VDI (VirtualBox) | vdi |