使用qemu-img转换镜像格式

服务器

浏览数:165

2019-11-2

AD:资源代下载服务

ECS只支持导入RAW、VHD和qcow2格式的镜像文件。其他镜像文件,需要转换格式后再导入。本文介绍如何利用qemu-img工具将其它格式的镜像文件转换成VHD或RAW格式。qemu-img能将RAW、qcow2、VMDK、VDI、VHD(vpc)、VHDX、qcow1或QED格式的镜像转换成VHD格式,也可以实现RAW和VHD格式的互相转换。

本地为Windows操作系统

按以下步骤安装qemu-img并转换镜像文件格式:

  1. 下载qemu-img并完成安装。本示例安装路径为C:\Program Files\qemu。

  2. 为qemu-img配置环境变量:

    1. 选择开始 开始 > 计算机,右键单击属性。

    2. 在左侧导航栏里,单击高级系统设置。

    3. 在系统属性对话框里,单击高级页签,并单击环境变量。

      image

    4. 在环境变量对话框里,在系统变量部分找到Path,并单击编辑。如果Path变量不存在,单击新建。

      image

    5. 添加系统变量值:

      • 如果是编辑系统变量,在变量值里,添加C:\Program Files\qemu,不同的变量值之间以半角分号(;)分隔。

        image

      • 如果是新建系统变量,在变量名处输入Path,在变量值处输入C:\Program Files\qemu。

        image

  3. 测试是否成功配置环境变量:打开Windows命令提示符,运行qemu-img --help,如果显示正常即表示已配置环境变量。

  4. 在命令提示符里,使用cd [源镜像文件所在的目录]切换文件目录,例如cd D:\ConvertImage

  5. 运行qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw命令转换镜像文件格式,其中:

    • -f的参数值为源镜像文件的格式。
    • -O(必须是大写)的参数值为目标镜像格式 、源镜像文件名称和目标文件名称。

转换完成后,目标文件会出现在源镜像文件所在的目录下。

本地为Linux操作系统

按以下步骤安装qemu-img并转换镜像文件格式:

  1. 安装qemu-img,示例如下:
    • 如果本地为Ubuntu操作系统,运行apt-get install qemu-utils
    • 如果本地为CentOS操作系统,运行yum install qemu-img
  2. 运行qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw命令转换镜像文件格式,其中:
    • -f 的参数值为源镜像文件的格式。
    • -O(必须是大写)的参数值为目标镜像格式 、源镜像文件名称和目标文件名称。转换完成后,目标文件会出现在源镜像文件所在的目录下。

常见问题

  • 安装qemu-img报错,且没有明确提示缺少哪些依赖库,怎么办?

    您可以根据cloud-init的requirements.txt文件里显示的库,并运行pip install -r requirements.txt安装所有依赖库。

  • Ubuntu上安装qemu-utils时,出现Unable to locate package qemu-utils错误,怎么办?

    运行以下命令安装qemu-img工具:

    apt-get update #更新包列表
    apt-get install qemu-utils #安装qemu-img工具
    

修改Windows环境变量不重启就生效的方法

在“我的电脑”->“属性”->“高级”->“环境变量”中增加或修改环境变量后,需重启系统才能使之生效。有没有什么方法可让它即时生效呢?下面介绍一种方法:
修改完成后,进入cmd命令提示符,输入:set PATH=C: ,关闭cmd窗口。再次打开cmd窗口,输入:echo %PATH%,可以发现“我的电脑”->“属性”->“高级”->“环境变量”中设置的 PATH 值已经生效。
总结:”输入:set PATH=C: ,关闭cmd窗口。再次打开cmd窗口,输入:echo %PATH% “估计在这个过程系统会重新读取path的配置文件,所以会起效。

作者:一只刚刚开始吃猫粮的运维狗