我有一个图像文件(基于 Linux 的图像),想将其转换为 VHD,以便可以使用它来创建 Hyper-V VM。
我使用“qemu-img convert”将 raw 转换为 vpc 格式,但 vpc 不适用于 hyper-V,并且“qemu-img convert”不支持 vhd。
正确的做法是什么?
该映像仅有一个分区:
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.8kB 4295MB 4295MB primary ext3 boot
答案1
虚拟硬盘工具应该能够进行转换。
vhdtool.exe /convert myimage.raw
答案2
我不确定这种情况持续了多久,但因为这是这个问题的 #1 搜索结果,所以我现在就回答它。VHD 目前由 qemu-img 支持。VHD 的参数是 vpc。这是在这里找到的http://docs.openstack.org/image-guide/content/ch_converting.html
如果链接中断,请复制/粘贴
将图像从一种格式转换为另一种格式通常很简单。qemu-img 转换:raw、qcow2、VDI、VMDK
qemu-img convert 命令可以进行多种格式之间的转换,包括 raw、qcow2、VDI (VirtualBox)、VMDK (VMWare) 和 VHD (Hyper-V)。表 7.1. qemu-img 格式字符串
**Image format** **Argument to qemu-img**
raw raw
qcow2 qcow2
VDI (VirtualBox) vdi
VMDK (VMWare) vmdk
VHD (Hyper-V) vpc
本示例将把名为 centos63.dsk 的原始映像文件转换为 qcow2 映像文件。
$ qemu-img convert -f raw -O qcow2 centos64.dsk centos64.qcow2
要将 vmdk 转换为 raw,您可以执行以下操作:
$ qemu-img convert -f vmdk -O raw centos64.vmdk centos64.img
笔记
-f 格式标志是可选的。如果省略,qemu-img 将尝试推断图像格式。
VBoxManage:VDI(VirtualBox)到原始
如果您使用 VirtualBox 创建了 VDI 映像,则可以使用 VirtualBox 附带的 VBoxManage 命令行工具将其转换为原始格式。在 Mac OS X 上,VirtualBox 默认将映像存储在 ~/VirtualBox VMs/ 目录中。以下示例从 VirtualBox VDI 映像在当前目录中创建原始映像。
$ VBoxManage clonehd ~/VirtualBox\ VMs/fedora18.vdi fedora18.img --format raw
答案3
答案4
如果仍有人对将原始磁盘映像转换为 vhd 感兴趣,请使用以下命令:
qemu>qemu-img.exe convert e:\src.img -O vpc -o subformat=dynamic f:\dst.vhd
不要忘记将显示的文件名更改为您自己的文件名。