ECS仅支持导入RAW、QCOW2、VMDK以及VHD格式镜像,对于其他格式需先使用 qemu-img 工具进行转换后才可导入。
适用范围
支持RAW、QCOW2、QCOW1、VMDK、VDI、VHD、VHDX或QED格式的镜像相互转换。
操作步骤
本地为Windows环境
以Windows Server 2022操作系统为例。
安装转换工具。
下载qemu-img工具,并将其安装至
C:\Program Files\qemu。配置环境变量。
将
qemu可执行文件路径添加至PATH环境变量,实现命令行全局调用。右键单击
图标,选择系统。在左侧导航栏搜索并打开查看高级系统设置。
在系统属性的高级页签中,单击环境变量。
在系统变量区域查找Path变量。
若存在:需选中后,单击编辑,进入编辑环境变量页面后,再单击新建,添加
C:\Program Files\qemu。

若不存在:单击新建,在变量名处输入
Path,变量值处输入C:\Program Files\qemu。
测试环境变量是否配置成功。
右键单击
图标,选择运行,输入PowerShell。在
PowerShell界面,执行qemu-img --version,若输出工具版本信息,则表示环境变量配置成功。
转换镜像格式。
转换镜像文件格式。
qemu-img convert [选项] <源镜像完整路径名> <目标镜像完整文件路径名>[选项]说明:-f <源格式>:指定源镜像的格式,如vhdx、vdi、qed、qcow、vpc(VHD)。支持的源格式可通过
qemu-img --help输出中的Supported image formats字段查看。-O <目标格式>:(大写O)指定目标镜像格式,如raw、qcow2、vpc(VHD)、VMDK。-p:显示转换进度(百分比)。
命令示例:
#场景一:将 VHD 格式转换为 RAW 格式,源镜像完整路径名为D:\convertimage\source.vhd,目标镜像完整路径名为D:\convertimage\target.raw qemu-img convert -p -f vpc -O raw D:\convertimage\source.vhd D:\convertimage\target.raw #场景二:将 VHDX 格式转换为 QCOW2 格式,源镜像完整路径名为D:\convertimage\source.vhdx,目标镜像完整路径名为D:\convertimage\target.qcow2 qemu-img convert -p -f vhdx -O qcow2 D:\convertimage\source.vhdx D:\convertimage\target.qcow2验证转换结果。
qemu-img info <目标镜像完整路径>以目标镜像完整路径为
D:\convertimage\target.raw为例,需执行qemu-img info D:\convertimage\target.raw。输出的
file format为目标镜像格式,表示转换成功。
使用ossutil 2.0的cp命令将目标镜像文件上传至OSS,用于后续镜像导入。
通过OSS控制台上传的文件大小不能超过5 GB,因此需要借助ossutil工具导入。
本地为macOS环境
安装转换工具。
brew install qemu若提示
command not found,可执行brew/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"依照提示手动安装包管理器后再安装qemu工具。转换镜像格式。
转换镜像文件格式。
qemu-img convert [选项] <源镜像完整路径名> <目标镜像完整路径名>[选项]说明:-f <源格式>:指定源镜像的格式,如vhdx、vdi、qed、qcow、vpc(VHD)。支持的源格式可通过
qemu-img --help输出中的Supported image formats字段查看。-O <目标格式>:(大写O)指定目标镜像格式,如raw、qcow2、vpc(VHD)、VMDK。-p:显示转换进度(百分比)。
命令示例:
#场景一:将 VHD 格式转换为 RAW 格式,源镜像完整路径名为/ConvertImage/source.vhd,目标镜像完整路径名为/ConvertImage/target.raw qemu-img convert -p -f vpc -O raw /ConvertImage/source.vhd /ConvertImage/target.raw #场景二:将 VHDX 格式转换为 QCOW2 格式,源镜像完整路径名为/ConvertImage/source.vhdx,目标镜像完整路径名为/ConvertImage/target.qcow2 qemu-img convert -p -f vhdx -O qcow2 /ConvertImage/source.vhdx /ConvertImage/target.qcow2验证转换结果。
qemu-img info <目标镜像完整路径名>以目标镜像完整路径名为
/ConvertImage/target.raw为例,需执行qemu-img info /ConvertImage/target.raw。输出的
file format为目标镜像格式,表示转换成功。
使用ossutil 2.0的cp命令将目标镜像文件上传至OSS,用于后续镜像导入。
通过OSS控制台上传的文件大小不能超过5 GB,因此需要借助ossutil工具导入。
本地为Linux环境
安装转换工具。
Alibaba Cloud Linux及Centos 类型
sudo yum install -y qemu-imgUbuntu及Debian类型
sudo apt-get update sudo apt-get install -y qemu-utils
转换镜像格式。
转换镜像文件格式。
sudo qemu-img convert [选项] <源镜像完整路径名> <目标镜像完整路径名>[选项]说明:-f <源格式>:指定源镜像的格式,如vhdx、vdi、qed、qcow、vpc(VHD)。支持的源格式可通过
sudo qemu-img --help | grep "Supported formats"查看。-O <目标格式>:(大写O)指定目标镜像格式,如raw、qcow2、vpc(VHD)、VMDK。-p:显示转换进度(百分比)。
命令示例:
#场景一:将 VHD 格式转换为 RAW 格式,源镜像完整路径名为/ConvertImage/source.vhd,目标镜像完整路径名为/ConvertImage/target.raw sudo qemu-img convert -p -f vpc -O raw /ConvertImage/source.vhd /ConvertImage/target.raw #场景二:将 VHDX 格式转换为 QCOW2 格式,源镜像完整路径名为/ConvertImage/source.vhdx,目标镜像完整路径名为/ConvertImage/target.qcow2 sudo qemu-img convert -p -f vhdx -O qcow2 /ConvertImage/source.vhdx /ConvertImage/target.qcow2验证转换结果。
sudo qemu-img info <目标镜像完整路径名>以目标镜像完整路径名为
/ConvertImage/target.raw为例,需执行qemu-img info /ConvertImage/target.raw。输出的
file format为目标镜像格式,表示转换成功。
使用ossutil 2.0的cp命令将目标镜像文件上传至OSS,用于后续镜像导入。
通过OSS控制台上传的文件大小不能超过5 GB,因此需要借助ossutil工具导入。
常见问题
如何将ISO镜像转换为RAW、VHD、QCOW2和VMDK格式?
qemu-img工具不支持直接将ISO镜像转换为RAW、VHD、QCOW2和VMDK格式。需利用VirtualBox完成虚拟机和操作系统的创建,将其导出为支持的格式。具体操作,请参见创建虚拟机并安装操作系统(Linux)或创建虚拟机并安装操作系统(Windows)。
转换VHD格式,提示“Unknown driver ‘vhd’”怎么办?
在
qemu-img中,VHD 格式对应的格式标识为vpc,而非vhd。执行转换时应使用vpc作为格式标识。例如将
VHDX格式转换为VHD格式时,需执行qemu-img convert -f vhdx -O vpc source.vhdx target.vhd。