什么是 QCOW2 和 OVA,以及为什么要转换

KVM 和 VMware 使用不兼容的磁盘镜像格式。QCOW2(QEMU 写时复制)是 KVM 虚拟化平台的本地格式,而 VMware 需要 OVA — 一个包含虚拟磁盘(VMDK)、机器配置(OVF 描述符)和清单文件的单一文件包。

大多数团队在将虚拟机从 KVM 环境迁移到 VMware 时会遇到这个问题,要么是为了利用 VMware 的管理工具,要么是为了将基础设施整合到一个单一平台上。

但是,没有单个命令可以直接处理这种转换。该过程包括两个阶段:首先转换磁盘格式,然后将结果打包成符合 OVF 规范的归档文件。

本指南涵盖了 Linux 和 Windows 上的这两个阶段,以及导致迁移失败的最常见错误。

使用 qemu img 和 ovf tool 将 qcow2 转换为 ova 的流程示意图

开始之前:转换前检查清单

跳过准备工作是虚拟机转换后无法启动的最常见原因。在将 QCOW2 转换为 OVA 之前,需要检查三件事:主机上的工具、客户机操作系统内的驱动程序以及源虚拟机的启动模式。

主机要求

在运行任何命令之前,请确保满足以下条件:

  • qemu-img 安装在用于磁盘转换的机器上
  • 已下载并安装 VMware OVF Tool 用于打包最终归档文件
  • 对目标 ESXi 或 vCenter 环境的管理员访问权限
  • 有足够的磁盘空间容纳三个文件:原始 QCOW2、中间 VMDK 和最终 OVA

客户机驱动程序

KVM 虚拟机对存储和网络使用 VirtIO 驱动程序。VMware 无法识别这些驱动程序,因此客户机操作系统需要在转换前安装正确的驱动程序。

  • Linux 客户机:在拍摄最终快照之前,通过包管理器安装 open-vm-tools
  • Windows 客户机:首先安装 virtio-win 驱动程序,然后在导入完成后添加 VMware Tools。

启动模式

检查源虚拟机使用的是 UEFI 还是传统 BIOS。VMware 中的目标虚拟机需要配置为与之匹配。此处的不匹配将导致导入后操作系统无法启动。

如何在 Linux 上将 QCOW2 转换为 OVA

Linux 为本过程所需的所有工具提供了原生支持。转换分两个阶段运行:使用 qemu-img 转换磁盘格式,然后使用 VMware OVF Tool 将结果打包成 OVA。

步骤 1:使用 qemu-img 将 QCOW2 转换为 VMDK

通过发行版的包管理器安装 qemu-img。

对于 Ubuntu 或 Debian:

bash
sudo apt update && sudo apt install qemu-utils

对于 RHEL、CentOS 或 Fedora:

bash
sudo yum install qemu-img

安装后,运行转换:

bash
qemu-img convert -f qcow2 -O vmdk source_image.qcow2 destination_disk.vmdk
  • -f qcow2:指定源格式
  • -O vmdk:指定输出格式

结果是一个与 VMware 兼容的虚拟磁盘。这个文件本身并不是 OVA — 它仍然需要导入到 ESXi 中并在接下来的步骤中进行打包。

步骤 2:将 VMDK 导入 VMware ESXi

将转换后的 VMDK 上传到 ESXi 数据存储,然后围绕它构建一个虚拟机。

  1. 登录 ESXi 主机并转到 存储
  2. 打开 数据存储浏览器 并上传 VMDK 文件。
  3. 创建一个 新建虚拟机 并选择 自定义 配置。
  4. 使 CPU、内存和网络设置与原始 KVM 源匹配。
  5. 在磁盘选择步骤中,选择 使用现有虚拟磁盘 并选择上传的 VMDK。
  6. 启动选项 下,确认 BIOS 或 UEFI 设置与源虚拟机匹配。

启动虚拟机并在进入下一步之前验证它是否正常启动。

步骤 3:使用 OVF Tool 将虚拟机导出为 OVA

一旦确认虚拟机可以在 ESXi 中启动,使用 OVF Tool 对其进行打包。此步骤将 VMDK 和 OVF 描述符捆绑到一个便携式归档文件中,使镜像准备好进行克隆或分发。

针对您的 ESXi 主机或 vCenter 运行以下命令:

bash
ovftool vi://username:password@esxi_ip/vm_name output_appliance.ova

esxi_ip 替换为您主机的 IP 地址,将 vm_name 替换为虚拟机上在 ESXi 中显示的名称。

对于涉及多个虚拟机的大规模迁移,V2V 迁移工具 可以大大简化过程。

步骤 4:验证 OVA

在部署之前运行探测检查以确认归档文件有效:

bash
ovftool --probe output_appliance.ova

如果该命令没有返回错误,则 OVA 已准备好使用。这可以在文件截断或 OVF 描述符格式错误等问题在生产环境中造成问题之前发现它们。

如何在 Windows 上将 QCOW2 转换为 OVA

运行转换

转换命令与 Linux 上的相同。在 Windows 上,对包含空格的任何路径使用双引号:

powershell
qemu-img.exe convert -f qcow2 -O vmdk "C:\Source VMs\image.qcow2" "C:\Target VMs\disk1.vmdk"
  • -f qcow2:指定源格式
  • -O vmdk:指定输出格式

转换完成后,将 VMDK 上传到您的 ESXi 数据存储并将其配置为虚拟机,按照上面 Linux 部分中介绍的相同步骤操作。

在 Windows 上安装并运行 OVF Tool

从 VMware 网站下载 OVF Tool Windows MSI 安装程序并按照安装提示操作。

一旦虚拟机在 ESXi 中运行,使用 OVF Tool 将其打包为 OVA:

powershell
& "C:\Program Files\VMware\VMware OVF Tool\ovftool.exe" vi://root@192.168.1.10/MyMigratedVM "C:\Exports\MyVM.ova"

& 运算符告诉 PowerShell 执行一个路径中包含空格的程序。没有它,PowerShell 会将该路径视为字符串,命令将失败。

QCOW2 转 OVA 常见转换错误及修复方法

大多数转换失败发生在两个点之一:磁盘转换期间,或者虚拟机首次在 VMware 中启动时。以下修复方法涵盖了最常见的原因。

导入后虚拟机无法启动

黑屏或“无启动设备”错误通常意味着 VMware 中的固件设置与源 KVM 虚拟机不匹配。转到 虚拟机选项 > 启动选项,确认 固件 设置为与源匹配(UEFI 或传统 BIOS)。如果操作系统仍然无法加载,请检查 VMware 中的 SCSI 控制器类型是否与客户机中安装的驱动程序兼容。

streamOptimized VMDK 导致 qemu-img 失败

qemu-img 不完全支持某些 VMware 设备使用的 streamOptimized 子格式。添加 -o subformat=monolithicSparse 标志以转换为标准的 monolithic sparse VMDK。如果特别需要 streamOptimized 输出,请在最终导出步骤中使用 OVF Tool 处理该格式。

Linux 上的权限错误

“Permission denied”错误通常意味着当前用户缺乏对 QCOW2 文件的读取权限或对目标目录的写入权限。运行 ls -l 检查所有权,如果需要,对源文件应用 chmod 644,并确认目标目录对当前用户是可写的。

导入后无法识别 LVM 或 GPT 分区

转换期间的磁盘大小舍入可能导致分区对齐问题,尤其是在 GPT 分区表的情况下。将 VMware 中的目标磁盘大小设置为与源镜像的确切字节数匹配。如果分区仍然无法识别,请从 Live ISO 启动并使用 gdisk 修复 GPT 头。

Windows 路径中的空格导致转换错误

文件夹名称中的空格被命令行视为参数分隔符,这会导致“意外的参数”错误。将所有文件路径用双引号括起来,例如 "C:\VM Storage\image.qcow2"

迁移后保护您的 VMware 环境:i2Backup

将虚拟机导入 VMware 只是工作的一半。转换后的机器运行后,需要持续的保护,防止意外删除、损坏和硬件故障。您在迁移过程中创建的 OVA 文件是一个时间点快照,而不是备份策略。

i2Backup 通过为 VMware 和其他主流虚拟化平台提供无代理的虚拟机备份来填补这一空白。客户机操作系统内部无需安装代理,备份运行不会对生产工作负载产生任何影响。

与 VMware 环境相关的关键功能:

  • 无代理虚拟机备份: 通过原生平台 API 直接连接到 VMware,保护跨 ESXi 和 vCenter 的虚拟机,无需接触客户机操作系统。
  • 即时虚拟机恢复: 将虚拟机备份远程挂载到目标平台,实现近乎即时的恢复,将停机时间降至最低。
  • 文件级恢复: 从备份中恢复单个文件或文件夹,无需恢复整个虚拟机。
  • 时间点恢复: 使用连续备份日志和多个恢复点,在任何时间点从意外删除或数据损坏中恢复。
  • 集中管理: 基于 Web 的控制台负责处理所有受保护环境中的备份调度、实时状态监控和告警。

对于正常运行时间至关重要的环境,i2Availability 通过实时复制和自动故障转移进一步扩展了保护范围,即使在主机宕机时也能保持应用程序运行。如果您的迁移还涉及跨平台的持续数据库复制,i2Stream 可以处理实时数据库同步,支持 Oracle、MySQL、SQL Server 和其他主流系统。

免费试用 60 天
如果您想探索 i2Backup 如何在您的环境中处理虚拟机保护,可以提供 60 天免费试用。如果您对您的具体配置有疑问,也可以联系 英方软件 团队

常见问题解答

问题 1:我可以直接将 QCOW2 转换为 OVA 吗?

不能。OVA 是一种打包格式,而不是磁盘镜像格式,因此没有单个命令可以处理完整的转换。该过程需要先将虚拟磁盘转换为 VMDK,然后使用 OVF Tool 将其与必要的元数据捆绑在一起。

 

问题 2:qemu-img 支持 OVA 输出吗?

不支持。qemu-img 仅处理虚拟磁盘格式,例如 VMDK、RAW 和 VHDX。它无法生成定义虚拟设备的 OVF 描述符文件。OVF Tool 负责该步骤。

 

问题 3:如何在 Windows 上将 QCOW2 转换为 OVA?

使用 Windows 版本的 qemu-img 将 QCOW2 文件转换为 VMDK,将磁盘上传到 ESXi 主机,然后使用 Windows 版本的 OVF Tool 将虚拟机导出为 OVA 归档文件。命令与 Linux 相同;主要区别在于路径语法以及调用可执行文件的方式。

 

问题 4:OVA 和 OVF 有什么区别?

OVF(开放虚拟化格式)是一组独立的文件:一个描述符文件、虚拟磁盘和一个清单。OVA(开放虚拟化设备)将所有那些文件打包成一个单一的压缩归档文件,以便于分发和便携性。

 

问题 5:为什么我的虚拟机转换为 OVA 后无法启动?

最常见的原因是固件不匹配。检查 VMware 中的目标虚拟机是否配置为使用与源相同的启动模式,无论是传统 BIOS 还是 UEFI。缺少客户机驱动程序是另一个常见原因,这就是为什么建议在转换前安装 open-vm-tools 或 virtio-win。

结论

将 QCOW2 镜像转换为 OVA 是一个多步骤的过程,但每个阶段都有明确的目的。qemu-img 处理磁盘格式转换,ESXi 为虚拟机提供一个工作环境,而 OVF Tool 将所有内容打包成一个便携式归档文件。在开始之前正确设置启动模式和客户机驱动程序将防止大多数导致迁移失败的错误。

一旦虚拟机在 VMware 中运行,下一步就是确保它得到保护。您创建的 OVA 是一个起点,而不是一个安全网。使用英方软件的 i2Backup 设置定期的无代理备份可以确保您从第一天起就有干净的恢复点。

对于管理较大环境的团队,还需要评估如何备份 ESXi 配置以及您的虚拟机。在故障期间丢失主机级设置可能与丢失工作负载本身一样具有破坏性。

博客分类底部

准备好构建企业数据韧性了吗?

立即开启 60 天免费试用,或预约产品演示,了解英方软件如何为您的核心业务提供「零中断、零丢失」的数据保护。

请先完成图形验证

验  证  码:

英方官网验证码
第三方二维码 第三方二维码
请先完成图形验证

验  证  码:

英方用户注册验证码
隐私声明
当您在本网站进行合作伙伴注册登记,本网站将收集您的相关信息,并保存记录。本网站收集的个人信息包括但不限于:姓名、地址、公司、所在地区、电话号码以及电子邮件地址等。您主动提供的信息越多及越准确,我们就能够更好地为您提供有关服务。
英方公告铃铛图标
英方公告铃铛图标

公告

英方侧边栏向右箭头
英方高亮提示圆点
英方软件 2026 年端午节放假通知
尊敬的各位客户、合作伙伴:
根据国家法定节假日安排,我司2026 年端午节放假时间为 6 月 19 日(周五)—6 月 21 日(周日),共 3 天,6 月 22 日(周一)恢复正常办公。
假期期间,日常业务咨询、工单处理、技术支持等服务将相应顺延。如有紧急事务,可联系专属对接人员。
由此带来的不便,敬请谅解。祝愿大家端午安康,万事顺遂!
英方软件
2026 年 6 月 9 日
英方邮件咨询图标
英方邮件咨询图标

邮件

英方销售支持图标
英方销售支持图标

销售

英方侧边栏向右箭头
联系销售:400-0078-655 转 1
英方社交分享图标
英方社交分享图标

分享

英方侧边栏向右箭头
英方微信公众号图标
微信二维码1 微信二维码2
英方新浪微博图标 英方知乎官方账号图标 英方今日头条图标