我尝试使用qemu-img命令将在OVA文件中找到的VMDK映像转换为QCOW2格式,但在读取扇区131072时失败并显示错误消息qemu-img:error:无效的参数
- user@ubuntu:/tmp$wget ftp://ftp.sanger.ac.uk/pub/databases/Pfam/vm/PfamWeb_20120124.ova
- user@ubuntu:/tmp$tar xfv PfamWeb_20120124.ova
- PfamWeb_20120124_2.ovf
- PfamWeb_20120124_2.mf
- PfamWeb_20120124_2-disk1.vmdk
- user@ubuntu:/tmp$qemu-img convert -O qcow2 PfamWeb_20120124_2-disk1.vmdk PfamWeb_20120124_2.qcow2
- qemu-img: error while reading sector 131072: Invalid argument
- user@ubuntu:/tmp$qemu-img --version | grep "qemu-img version"
- qemu-img version 1.0,Copyright (c) 2004-2008 Fabrice Bellard
- user@ubuntu:/tmp$dpkg-query -f='${Version}\n' --show qemu-utils
- 1.0+noroms-0ubuntu14.1
- user@ubuntu:/tmp$cat /etc/issue
- Ubuntu 12.04.1 LTS \n \l
我该如何避免错误?
解决方法
与此相关的
bug在qemu版本1.2.0中得到修复. Ubuntu 12.04有一个较旧的qemu版本,但如果你从源代码安装qemu-img
- user@ubuntu:/tmp$sudo apt-get install libglib2.0-dev
- user@ubuntu:/tmp$wget http://wiki.qemu.org/download/qemu-1.2.0.tar.bz2
- user@ubuntu:/tmp$tar xfj qemu-1.2.0.tar.bz2
- user@ubuntu:/tmp$cd qemu-1.2.0
- user@ubuntu:/tmp/qemu-1.2.0$./configure && make qemu-img
转换运行没有错误
- user@ubuntu:/tmp/qemu-1.2.0$cd /tmp
- user@ubuntu:/tmp$/tmp/qemu-1.2.0/qemu-img convert -O qcow2 PfamWeb_20120124_2-disk1.vmdk PfamWeb_20120124_2.qcow2
- user@ubuntu:/tmp$