我尝试使用 qemu-img 命令将 VMDK 映像(Windows 安装)转换为 RAW 格式。但是,它失败并出现以下错误:
$ qemu-img convert -f vmdk -O raw image.vmdk /tmp/image.img
qemu-img: Could not open 'image.vmdk': invalid VMDK image descriptor
qemu-img: Could not open 'image.vmdk'
据我所知,映像本身看起来不错,至少我可以使用 VMWare Player 从中正确启动。我使用的是 qemu-img 版本 2.0.0。
答案1
不要使用 .vmdk 映像本身,而是使用引用该映像的较小的 .vmdk 文件。
答案2
VMDK 文件可能使用了 QEMU 不支持的图像格式。有关此问题的详细信息,请参阅http://brezular.com/2014/07/22/how-to-run-juniper-firefly-perimeter-vsrx-on-gns3/其中,附带的 Juniper 映像所使用的 VMDK 文件格式是 streamOptimized vmdk,需要通过 VMDK 工具将其转换为 QEMU 支持的格式。
答案3
我倾向于使用VBoxManage
VirtualBox 附带的工具将虚拟磁盘映像从一种格式转换为另一种格式。它功能多样,速度很快。
VBoxManage clonehd /path/to/image.vdmk /path/to/newimage.raw --format RAW
答案4
我也遇到过这个问题,根本原因是即使文件扩展名是 VMDK,源文件格式也可能是 raw。因此“-f raw”可以解决这个问题。可以发出以下命令“qemu-img info [source filename]”来检查源文件格式。