XVA 是 XenServer 的原生虚拟机导出格式。如果迁移到 VMware,ESXi 无法识别它 — 你需要先将其转换为 VMDK。本指南介绍了四种转换方法,以及迁移后经常出现的启动和驱动程序问题的修复方法。

什么是 XVA,为什么要将其转换为 VMDK

XVA 文件是 Citrix XenServer 和 XCP-ng 的标准导出格式。它将虚拟机的 VHD 磁盘和 XML 配置文件打包成一个 tar 归档文件。

VMDK 是 VMware 的虚拟磁盘格式。ESXi 和 vSphere 需要它来运行虚拟机。VMX 文件与它配合使用,作为定义虚拟机硬件设置的配置文件。

由于 XVA 是一个打包的归档文件,而 VMDK 是一个扁平磁盘镜像,VMware 无法直接挂载或启动 XVA 文件。转换磁盘格式是将 XenServer 虚拟机运行在 ESXi 上的唯一方法。

这种转换最常出现在平台迁移、数据中心整合以及两个站点运行不同虚拟化平台的灾难恢复设置中。

 

将 xva 转换为 vmdk 的流程示意图

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

成功的迁移更多地取决于源虚拟机的准备方式,而不是转换工具本身。跳过这些步骤通常会导致系统无法启动或出现“不可访问的启动设备”错误。

  • 删除快照:在导出之前,删除或提交源虚拟机上的所有快照。如果不确定如何操作,请先参考在 VMware 中删除快照的步骤。
  • 卸载 XenServer Tools:这是最关键的一步。Citrix VM Tools 和 XenServer PV 驱动程序专为 Xen 虚拟化平台设计。如果保留它们,当虚拟机首次在 VMware 上启动时,很可能会导致蓝屏或内核崩溃。
  • 验证目标磁盘空间:XVA 文件是压缩的,因此提取后生成的 VMDK 会更大。最终大小取决于导入时选择的置备类型 — 精简置备按需分配空间,而厚置备则预先保留全部磁盘空间。
  • 检查操作系统兼容性:确认你的客户机操作系统在目标 ESXi 主机上得到支持。较旧版本的 Windows 或 Linux 可能需要在 vSphere 中创建虚拟机时选择较低的虚拟机硬件兼容性版本。

在 Linux 上使用 xva-img + qemu-img 将 XVA 转换为 VMDK

Linux 用户的手动方法涉及拆解 XVA 归档文件并从其组成部分重建磁盘镜像。这种方法提供了最大的控制权,并且适用于 XCP-ng 或独立的 XenServer 主机。

导出并转换

从 XenServer 主机开始,在接触 VMware 端的任何内容之前,先处理到原始磁盘镜像。

步骤 1:从 XenServer 导出虚拟机:直接在 XenServer 或 XCP-ng 主机上运行以下命令,将虚拟机导出为 .xva 文件。

bash
sudo yum install qemu-img

步骤 2:提取 XVA 归档文件:XVA 文件是包含 1MB 磁盘块的 tar 归档文件。将内容提取到工作目录中。

bash
mkdir xva_out && tar -xf vm.xva -C xva_out

步骤 3:重建原始磁盘:使用 xva-img 将提取的块重新组合成单个原始磁盘镜像。这些块存储在以磁盘引用命名的子目录中,例如 Ref:1。

bash
xva-img -p disk-export xva_out/Ref\:1/ vm.raw

步骤 4:验证原始镜像:在继续之前,确认输出文件已正确创建。

bash
qemu-img info vm.raw

步骤 5:将原始磁盘转换为 VMDK:使用 qemu-img 从原始镜像生成 VMDK 文件。

bash
qemu-img convert -f raw -O vmdk vm.raw output.vmdk

导入到 VMware

VMDK 准备好后,剩余步骤将转移到 VMware 环境。

步骤 6:上传到 VMware:使用 vSphere Client 或 SCP 将 .vmdk 文件传输到 ESXi 数据存储。然后创建新的虚拟机并选择 使用现有虚拟磁盘 进行挂载。

注意:qemu-img 生成的 VMDK 是一个 monolithic 扁平文件 — 一个单一的预分配磁盘镜像,ESXi 可能无法像处理其原生格式那样高效地处理它。如果遇到性能问题,请在 ESXi 主机上使用 vmkfstools 将其转换为精简或厚置备格式。

在 Windows 上使用 XenConvert 将 XVA 转换为 VMDK

XenConvert 是一款传统的 Citrix 工具,用于在不同格式之间迁移虚拟设备。虽然它不再积极更新,但对于偏好图形界面而非命令行的 Windows 管理员来说,它仍然是一个选择。

此工作流程需要 XenConvert 2.3.1 或 2.3.2 版本。2.4 及更高版本移除了 XVA 到 OVF 转换的支持,因此不适用于此迁移路径。

xenconvert 转换工具界面截图

导出并转换

首先从 XenServer 导出虚拟机,并通过 XenConvert 运行以生成可用的磁盘文件。

  1. XenCenter 中,右键单击要导出的虚拟机并选择 导出。选择 XVA 作为导出格式,指定目标路径,然后点击 导出 开始。或者,在 XenServer 主机上运行以下命令:
    bash
    xe vm-export vm=<VM_NAME> filename=vm.xva
  2. 打开 XenConvert。在 下,将类型设置为 Xen 虚拟设备 并浏览到导出的 .xva 文件。在 目标 下,选择 OVF 作为输出格式并选择目标文件夹。
  3. 点击 转换 开始该过程。XenConvert 将生成一个包含 OVF 文件和 .vhd 磁盘镜像的文件夹。

xenconvert 导出文件列表

修复磁盘适配器类型

在导入磁盘之前,描述文件需要一次手动编辑,以防止 VMware 启动失败。

  1. WinImage 中打开 .vhd 文件,选择 文件 > 另存为,并将输出格式更改为 VMDK
    注意:WinImage 生成的 VMDK 可能不完全兼容 ESXi。如果磁盘无法挂载或启动,请使用 qemu-img 直接重新转换 .vhd 文件:qemu-img convert -f vpc -O vmdk input.vhd output.vmdk
  2. 下载 .vmdk 描述文件 — 两个 .vmdk 文件中较小的那个 — 在文本编辑器中打开,并将适配器类型设置为:
    ddb.adapterType = "lsilogic"
  3. 将修改后的描述文件上传回数据存储并覆盖原文件。

导入到 VMware

描述文件修正后,磁盘即可上传并挂载到新的虚拟机上。

  1. 使用 vSphere Client 数据存储浏览器、WinSCP 或 SCP 将 .vmdk 文件复制到 ESXi 数据存储。
  2. 在 vCenter 中创建新的虚拟机,移除默认虚拟磁盘,并将上传的 .vmdk 作为现有磁盘挂载。

通过 OVA 将 XenServer 虚拟机迁移到 VMware

使用 OVA(开放虚拟化设备)格式通常是在虚拟化平台之间迁移虚拟机的最有效方式。由于 Citrix 和 VMware 都支持 OVF 标准,此方法不需要单独的 V2V 转换工具。

从 XenServer 导出

第一步是从现有的 XenServer 或 XCP-ng 环境生成 OVA 文件。

  1. 从 XenCenter 导出:XenCenterXen Orchestra 中,右键单击你的虚拟机并选择 导出。将输出格式从默认的 XVA 更改为 OVA

导入到 VMware

一旦 OVA 文件准备好,剩余过程完全在 vSphere 内处理。

  1. 访问 vSphere:登录你的 VMware vSphere ClientvCenter Server

    vsphere 主机客户端界面

  2. 启动导入:右键单击目标集群或主机并选择 部署 OVF 模板

    部署新的 ovf 模板选项

  3. 上传文件:选择从 XenServer 导出的 OVA 文件。vSphere 导入向导会自动提取打包的 VMDK 并将其部署到目标数据存储。

    选择并上传 ova 文件

  4. 完成硬件设置:导入完成后,检查虚拟机设置。VMware 可能会分配一个通用网络适配器,因此确认它已映射到正确的端口组。
  5. 首次启动:启动虚拟机并立即安装 VMware Tools。这将替换任何剩余的 Xen 驱动程序,并确保客户机操作系统具有 VMware 虚拟硬件的正确驱动程序。

使用 VMware vCenter Converter Standalone 进行实时迁移

此方法与手动导出不同,因为它直接通过网络转换正在运行的虚拟机,无需 XVA 导出或磁盘文件处理。它遵循类似于 VMware P2V 迁移 的方法,其中 Converter 自动管理传输和格式转换。

vmware vcenter converter standalone 界面

前提条件

在开始转换任务之前,确认以下两个条件都已满足。

此方法需要 XenServer 主机与目标 ESXi 主机或 vCenter 之间稳定的网络连接。VMware vCenter Converter Standalone 还需要安装在能够访问两个环境的 Windows 机器上。

运行转换

前提条件满足后,打开 Converter 并按照以下步骤开始迁移。

  1. 下载并安装 VMware vCenter Converter Standalone
  2. 在主屏幕上点击 转换机器
  3. 将源类型设置为 远程机器 并选择 Citrix XenServer 作为平台。
  4. 输入 XenServer 主机的登录凭据以查看可用的虚拟机。
  5. 指定目标 ESXi 主机vCenter 并配置虚拟机设置,包括磁盘置备类型和网络映射。
  6. 启动转换任务。Converter 在传输过程中内部处理磁盘格式到 VMDK 的转换。

迁移后步骤

迁移完成后,在客户机操作系统上安装 VMware Tools。如果之前未移除 XenServer Tools,请先卸载它们,然后再安装 VMware Tools。

如何修复 XVA 转 VMDK 后的常见问题

即使转换顺利完成,迁移后的虚拟机也可能无法启动或性能不佳。大多数问题源于 XenServer 和 VMware 在处理存储控制器和设备驱动程序方面的差异。

虚拟机无法启动或显示蓝屏

这通常由 SCSI 控制器不匹配引起。首先检查 .vmdk 描述文件 — 在文本编辑器中打开两个 .vmdk 文件中较小的那个,确认适配器类型设置正确:

text
ddb.adapterType = "lsilogic"

如果描述文件正确但虚拟机仍然无法启动,请将虚拟机设置中的磁盘控制器类型更改为 LSI Logic SASLSI Logic Parallel 并重试。

缺少网络适配器

客户机操作系统可能在首次启动后无法检测到网络适配器,因为 VMware 使用与 XenServer 不同的虚拟网卡(VMXNET3)。安装 VMware Tools 以提供正确的网络驱动程序。

性能不佳或 CPU 使用率过高

如果虚拟机启动但运行缓慢,请检查是否仍安装了 XenServer PV 驱动程序或 Citrix 组件。这些驱动程序尝试与 Xen 虚拟化平台通信,而该平台在新环境中不再存在,导致不必要的系统开销。卸载所有 Xen 和 Citrix 组件并重新启动。

跳过手动步骤:使用 i2Move 将 XenServer 虚拟机迁移到 VMware

本指南中介绍的方法适用于一次性迁移,但它们需要大量的手动工作 — 导出 XVA 文件、处理磁盘块、编辑描述文件以及排除启动故障。对于迁移多台虚拟机或在生产环境中进行迁移(停机不可接受)的团队来说,专用的迁移平台是更实用的方法。

i2Move 是一个统一的迁移平台,专为跨物理、虚拟和云环境的跨平台工作负载传输而构建。它处理本文中介绍的那种 异构虚拟化 迁移 — 包括不同虚拟化平台之间的 V2V 场景 — 而无需手动磁盘转换或文件处理。

i2Move 的主要功能

  • 零停机迁移:i2Move 使用混合块级和文件级复制来迁移正在运行的系统,无需关闭生产工作负载。无需导出静态 XVA 快照并希望在传输过程中没有任何变化。
  • 跨环境覆盖:支持 P2V、V2V、物理到云和虚拟到云迁移,涵盖了 XenServer 虚拟机通常需要落地的所有场景。
  • 硬件无关的操作系统迁移:自动处理 BIOS/UEFI 转换和驱动程序注入,直接解决了手动 XVA 转 VMDK 转换中常见的启动失败和适配器类型问题。
  • 内置验证:执行端到端数据集验证并自动修正,因此你无需手动验证迁移的磁盘是否完整。
  • 安全传输:结合 AES/SM4 加密、带宽控制和断点续传,确保迁移在长距离或不稳定网络上保持稳定和安全。

对于迁移后还需要持续数据保护的团队,i2Availability 提供环境之间的实时复制和自动故障转移,一旦你的虚拟机在 VMware 上运行,它就是一个自然的补充。

免费试用 60 天

常见问题解答

问题 1:可以在没有 Linux 的情况下将 XVA 转换为 VMDK 吗?

可以。基于 Windows 的 XenConvert 工具(2.3.1 或 2.3.2 版本)可以在无需任何命令行操作的情况下处理转换。或者,从 XenCenter 将虚拟机导出为 OVA 文件通常是更简单的选项 — 它可以直接导入 vSphere,无需任何磁盘操作。

 

问题 2:XVA 包含多个磁盘吗?如何处理?

XVA 文件可以包含多个虚拟磁盘。使用 tar 提取归档文件时,每个磁盘存储在自己的子目录中 — Ref:1Ref:2 等。对每个目录分别运行 xva-img 以生成单独的原始镜像,然后将每个镜像转换为 VMDK,再将它们挂载到 vSphere 中的新虚拟机上。

 

问题 3:我可以从 VMDK 转换回 XVA 吗?

可以,虽然该过程不是一步反向操作。将 VMware 虚拟机导出为 OVFOVA,然后使用 XenCenter 中的 导入 向导将其导回 XenServer。导入过程处理磁盘格式转换,但计划在之后移除 VMware Tools 并在客户机操作系统上重新安装 XenServer Tools。

 

问题 4:我可以直接使用 OVA 而不是手动转换 XVA 吗?

可以,对于大多数环境来说,这是推荐的方法。OVA 是一种行业标准格式,XenServer 和 VMware 都支持,因此无需手动重建磁盘或编辑描述文件。主要限制是较旧版本的 XenServer 可能不支持 OVA 导出 — 在这些情况下,手动 xva-img 方法是备选方案。

结论

将 XVA 转换为 VMDK 很少是一个一步到位的过程。根据你的环境和可用工具,合适的方法各不相同 — Linux 命令行方法给你最大的控制权,XenConvert 和 OVA 方法适用于基于 Windows 的工作流程,而 vCenter Converter 是在无需停机的情况下迁移正在运行的虚拟机时的最佳选择。

无论使用哪种方法,准备步骤与转换本身同样重要。在导出前移除 XenServer Tools 和在之后修正磁盘适配器类型是最有可能决定虚拟机首次启动是否顺利的两个步骤。

对于处理大规模或生产迁移的团 英方软件 i2Move 消除了大部分手动工作 — 自动处理跨平台 V2V 传输、驱动程序注入和验证,这样你就可以专注于迁移结果而不是工具本身。

博客分类底部

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

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

请先完成图形验证

验  证  码:

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

验  证  码:

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

公告

英方侧边栏向右箭头
英方高亮提示圆点
英方软件公告
各位求职者、合作伙伴:
近期有第三方冒用英方名义发布虚假招聘、不实业务信息。我司正规招聘全程零收费,非官网渠道信息均不作数。
信息核验热线:400-0078-655
遇诈骗请保留证据,及时联系我们并报警
英方软件
2026 年 6 月 23 日
英方邮件咨询图标
英方邮件咨询图标

邮件

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

销售

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

分享

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