SOME BACKGROUND
VirtualBox 很棒且易于使用,但在低功耗机器上的性能并不是那么好。当然,您在另一个操作系统(尤其是 GUI 操作系统)之上运行一个操作系统是资源密集型的。
大约 6 个月前,我转而使用 qemu/KVM,首先使用 Gnome-Boxes,然后使用 Virt-Manager。虽然 Gnome-Boxes 具有非常漂亮的界面,但 Virt-Manager 允许对虚拟机进行更详细的配置。所以有一段时间我坚持使用 Virt-Manager。
一直以来,我所做的几乎所有事情都更喜欢使用命令行工具而不是 GUI 工具。我也讨厌另一个 GUI 工具产生的开销,特别是因为无论如何运行虚拟机都非常繁重。
我真的不会每天管理虚拟机,所以我从来没有真正记住要做什么的每一步。这篇文章不仅是为了帮助您学习如何将 VMDK 转换为 qcow2,也是为了给我回顾时提供一个参考。
GETTING STARTED
我个人运行的是 Arch Linux,但 qemu/KVM 可以安装在任何现代 Linux 发行版上。我喜欢 Arch 的原因之一是 Arch wiki。在我(以及许多其他人)看来,没有比这更好的资源来获取有关 Linux 和 Linux 操作系统的信息了。
要在 Arch Linux 上安装 qemu/KVM,请访问 qemu in the wiki。在那里您将看到有关您需要安装的内容的说明。
开始安装:
# pacman -S qemu
我想指出的是,当我引用 shell 命令时,就像上面的命令一样。我将在开头使用“#”来引用“root”命令。这意味着您需要成为 root 用户,或者如果您有“sudo”,则可以在命令前面加上 sudo。另外,您可能会看到我使用“$”,这意味着您可以以您的用户身份运行该命令。
安装 qemu 后,将我的用户添加到“libvirt”和“kvm”组
# gpasswd -a libvirt# gpasswd -a kvm
替换为您的实际用户名。
您需要注销并重新登录。或者您可以运行以下命令
$ newgrp libvirt$ newgrp kvm
注意:这仅适用于您用户的当前实例。这意味着如果您切换用户或关闭终端,它将恢复原状。要彻底更改您所在的组,您需要注销并重新登录
GETTING THE VIRTUALBOX IMAGES
在构建网站时,您始终希望确认网站的所有方面都可以在所有主要浏览器上运行。这包括 Google Chrome、FireFox 和 Internet Explorer/Edge。虽然前 2 个可以轻松安装在 Linux 上,但 IE/Edge 只能在 Windows 上使用。但微软已经提供了 VirtualBox 镜像,可以在 Linux 上测试多个版本的 IE 和 Edge。是的,我说的是微软,现在把你的下巴从地板上抬起来。
现在打开您最喜欢的浏览器并转到 MS developer site,然后下载您选择的 IE/Edge 版本。为了本教程的目的,我在 Win81 上下载了 IE11。
这些下载量很大,这个下载量为 5.3GiB。下载大约需要30分钟。
下载后,转到您下载的目录(很可能是 ~/Downloads)。现在它们以 .zip 格式下载,因此运行:
$ unzip IE11.Win8.1.For.Windows.VirtualBox.zip
解压后,您将在目录中看到一个新文件:IE11 — Win8.1.ova。 .ova 文件只是用于捆绑 vmdk 文件和 ovf 文件的 achive 文件。
ovf 文件是 VirtualBox 用于轻松传输虚拟机设置的 XML 模板文件
要解压 ova 文件,请运行:
$ tar xvf IE11\ -\ Win8.1.ova
现在您将在目录中看到 2 个新文件:IE11 — Win8.1-disk1.vmdk 和 IE11 — Win8.1.ovf。最后我们找到了我们的vmdk文件
CONVERTING VMDK TO QCOW2
由于我不知道在 qemu 上运行 vmdk 文件的方法,我们需要对其进行转换。好消息是有一个内置的转换工具。
$ qemu-img convert -f vmdk -O qcow2 IE11\ -\ Win8.1-disk1.vmdk IE11-Win8.1.qcow2
Let’s break that down:
- qemu-img — 是内置的 qemu 图像处理工具
- convert — 告诉 qemu-image 您想要转换一个图像文件,例如 .img,或者在本例中为 .vmdk 文件
- -f vmdk (optional) —这是一个可选命令(您可以省略它)qemu 可以自动检测。这告诉 qemu 您要转换的文件类型。
- -O qcow2 (Uppercase letter O) — 这告诉 qemu 您将转换成什么类型的文件。
- IE11\ -\ Win8.1.vmdk — 是您要转换的文件。
- IE11-Win8.1.qcow2 (Can be any name you want it) —是您要转换成的输出文件。
就是这样!您应该在文件夹中看到新的 IE11-Win8.1.qcow2 文件。很容易转换...
RUNNING YOUR NEW QCOW2 IMAGE
要运行新的 qcow2 映像,只需运行:
$ qemu-system-x86_64 -m 4G -smp 2 --enable-kvm IE11-Win8.1.qcow2
Let’s break that down:
- qemu-system-x86_64 — 此命令在 x64 位模式下启动 quemu(需要 x64 位处理器)。
- -m 4G — 为虚拟机分配 4 GB RAM。
- -smp 2 (optional) — 建议 qemu 使用虚拟机的 CPU 核心数。我说建议,因为你可以在 4 核机器上放置 8 个,qemu 将运行,但可能会锁定你的系统。它是可选的,省略它将使虚拟机在 1 个 CPU 核心下运行。
- –enable-kvm (optional) — 在虚拟机上启用 KVM 以帮助提高性能。
- IE-Win8.1.qcow2 — 是您要运行的镜像的路径。
格式转换 v2v
.\qemu-img.exe convert -p -f vmdk -O qcow2 ..\..\VM\7.9\7.9-disk1.vmdk ..\..\VM\7.9\7.9.qcow2
QEMU 是一种虚拟机软件,它可以在一台物理机上运行其他操作系统。QCOW2 是 QEMU 的一种虚拟磁盘文件格式,它可以用来存储虚拟机的磁盘映像。
要使用 QEMU 启动一个 QCOW2 格式的虚拟磁盘文件,你可以在命令行中使用以下命令:
qemu-system-x86_64 -enable-kvm -m 2048 -boot c -hda your-disk-image.qcow2
其中,qemu-system-x86_64
指定了要使用的 QEMU 版本,
-enable-kvm
启用了 KVM(Linux 内核虚拟化),
-m 2048
指定了虚拟机的内存大小为 2048MB,
-boot c
指定了从磁盘启动,
-hda your-disk-image.qcow2
指定了要使用的虚拟磁盘文件。
如果你想进一步了解 QEMU 和 QCOW2 的用法,可以参考 QEMU 官方文档或搜索相关资料。