最近尝试了 Linux 上的 QEMU/KVM 虚拟系统。与 VirtualBox 相比感觉有好有坏。也尝试过将之前的 VirtualBox 虚拟机磁盘转换成适合 QEMU/KVM 的格式来直接运行。麻烦的事情是为虚拟机中的 Windows 操作系统安装 VirtIO 磁盘控制器驱动。
openSUSE Tumbleweed 中提供 qemu-img
命令的软件包是 qemu-tools。默认情况下没有安装。
转成 raw 格式,
qemu-img convert -p -f vdi -O raw /data/"VirtualBox VMs"/Win7.vdi /data/kvm-images/Win7.img
转成 qcow2 格式(可以享受内部快照功能),
qemu-img convert -p -f vdi -O qcow2 /data/"VirtualBox VMs"/Win7.vdi /data/kvm-images/Win7.qcow2
如果希望使用 virtio 来驱动虚拟硬盘,刚开始的时候将硬盘配置为 virtio 接口的,安装驱动比较麻烦。增加一个光盘类型的存储介质并将 virtio-win 光盘挂载上。第一次启动会失败,然后出现蓝屏错误。重启,选择进入启动恢复模式。选择「加载驱动程序」,从 virtio 光盘来选择安装 VirtIO 的 SCSI 驱动 viostor(位于光盘中 \amd64\w7 目录中,名字为 viostor)。
现在可以看到提示界面中显示了 Windows 里面的磁盘了。记住盘符,如图所示是 E:
。然后选择上面的高级恢复工具,再单击打开「命令行工具」。参考这里,使用类似于下面的指令来安装光盘中的所有驱动到 Windows 中,
dism /Image:E:\ /Add-Driver /Driver:D:\ /Recurse
这里 D:
是光驱所在盘符,也就是 virtio-win 光盘的挂载位置,如图所示。当然也可以不用 /Recurse
选项而是在前面明确指定要安装的驱动,如 /Driver:D:\amd64\w7\viostor
。
驱动安装完成后在命令提示符那里输入 exit
退出,然后重新正常启动 Windows 即可。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/convert-virtualbox-vdi-for-qemu-kvm/>。转载请保留此信息及相应链接。
引用通告: 上手 Linux 原生的虚拟机工具 QEMU/KVM | 水景一页