Categories
Linux/Unix

将 VirtualBox 硬盘镜像 vdi 转换为 KVM 的 qcow2

KVM (Kernel-based Virtual Machine)目前发展的如火如荼,Kernel 也加入了支持还有硬件虚拟,蛮有前途的家伙。其实我们可以使用很简单的几个步骤,就能将原来 VirtualBox 的虚拟机转换到 KVM 平台下边。主要也就是将原始硬盘镜像 (VirtualBox 使用 “vdi”)转换为 KVM 所兼容的格式(qcow2)。然后你就可以使用命令行或者 virt-manager 来启动 qcow2 的镜像的 KVM 虚拟机了。

虽然说步骤很简单,但是转换中需要占用大量硬盘空间,真的很大(需要先将 VirtualBox 的 .vdi 转换为原始硬盘镜像 raw)。

vdi 和 qcow2 都是经过压缩的,所以一个 10 GB 的 .vdi 或者 .qcow2 会使用比较少的空间。
不过,经过第一步转换,原始硬盘镜像 raw 将占用 10 GB(容量等同与你的虚拟机硬盘大小),
所以请准备同等大小的空间。

转换步骤(假设你有一个 VirtualBox 镜像,”ubuntu.vdi”):

Step 1. 将 VirtualBox 的 vdi 转换为 raw 原始硬盘镜像

VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img

Step 2. 转换 raw 原始硬盘镜像为 qcow2 镜像

qemu-img convert -f raw ubuntu.img -O qcow2 ubuntu.qcow2

好了一切完成了,简单吧。现在你就可以用 ubuntu.qcow2 来启动你的 KVM 虚拟机了。

测试下新的硬盘镜像(ubuntu.qcow2):

kvm -m 512 -usbdevice tablet -hda ubuntu.qcow

测试成功的话,你可以删除 raw 原始硬盘镜像了。至于 ubuntu.vdi 可以删了,也可以作为存档。

欢迎来到 KVM 的世界:)

 

Additional:

转换 vdi 到 vmdk 的方法:

VBoxManage.exe clonehd ubuntu.vdi ubuntu.vmdk  --format vmdk --variant standard