VMware to QEMU【VMDK 转换为 QCOW2

2023年 8月 18日 49.3k 0

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 官方文档或搜索相关资料。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论