在日常的虚拟化运维工作中,虚拟机模板导出和备份是一项基础却至关重要的操作。VMware 官方提供的 OVF Tool 是一款功能强大的命令行工具,能够帮助用户将虚拟机导出为开放虚拟化格式(OVF/OVA)包,实现跨平台迁移、模板分发和快速备份。本文将详细介绍 OVF Tool 的安装与使用方法,并重点分享实际操作中容易遇到的“坑”及其解决方案。
一、OVF Tool 简介
开放虚拟化格式(OVF)是一种行业标准,用于以 XML 格式描述虚拟机镜像的元数据。VMware OVF Tool 是一款命令行工具,帮助用户将 OVF 软件包导入和导出到各种 VMware 产品之间。
OVF Tool 提供了以下核心功能:
- 支持 OVA 包的导入和生成(OVA 是 OVF 标准的一部分,将虚拟机的所有文件打包为单个文件)
- 在 vSphere、vCloud Director、VMX 和 OVF 等格式之间直接转换
- 支持从本地文件、HTTP、HTTPS 或 FTP 源访问 OVF
- 部署前可关闭虚拟机电源,部署后可自动开机
- 支持 OVF 包的数字签名与验证
- 提供上下文相关的错误提示,帮助快速定位问题
二、安装 OVF Tool
2.1 下载地址
最新官方下载地址:https://developer.broadcom.com/tools/open-virtualization-format-ovf-tool/latest/
OVF Tool 支持 Windows、Linux 和 macOS 三大平台。
私有地址下载 Windows :https://hfyunyi.lanzoum.com/isU9Q3nedzva
2.2 Windows 安装
- 下载 Windows 安装包(
.msi文件,约 7.3 MB) - 双击安装包,按照默认选项完成安装(一路点击“下一步”)
- 默认安装路径为:
C:\Program Files\VMware\VMware OVF Tool
建议:为了方便使用,可以将该目录添加到系统环境变量 PATH 中,这样无需每次切换目录即可直接执行 ovftool 命令。
2.3 Linux 安装
Linux 版本下载后解压即可使用。需要注意,新版 Linux 系统可能缺少 libnsl.so.1 库,需要手动安装:
dnf install -y libnsl # CentOS/RHEL 系
# 或
apt install libnsl1 # Debian/Ubuntu 系2.4 macOS 安装
macOS 用户需要注意,解压后 ovftool 可能被系统识别为不可信软件,需要先提权并移除隔离标记:
chmod +x ovftool
sudo xattr -r -d com.apple.quarantine "ovftool目录"
# 建议创建软链接到 /usr/local/bin
sudo ln -s ovftool绝对路径 /usr/local/bin/ovftool2.5 验证安装
安装完成后,运行以下命令验证是否成功:
ovftool --version三、核心命令格式与参数详解
3.1 基本命令格式
ovftool <源位置> <目标位置>- 源位置:可以是 ESXi/vCenter 上的虚拟机(使用
vi://协议)、本地 VMX 文件,或已有的 OVF/OVA 文件 - 目标位置:本地文件路径(OVA/OVF),或目标 ESXi/vCenter 主机
3.2 导出虚拟机的核心命令
ovftool vi://用户名:密码@ESXi_IP/虚拟机名称 本地存放路径/文件名.ova示例(在 OVF Tool 安装目录下执行):
.\ovftool.exe vi://root@192.168.5.5/debian C:\Users\admin\Desktop\ova\debian.ova导出为 OVF 格式(多文件)的示例:
.\ovftool.exe vi://root@192.168.222.8/CentOS7.4 D:\OVF\CentOS7.4-out.ovf3.3 常用参数说明
| 参数 | 说明 |
|---|---|
--noSSLVerify | 跳过 SSL 证书验证(内网环境推荐) |
--powerOffSource | 导出前自动关闭虚拟机电源,确保数据一致性 |
-o / --overwrite | 目标文件已存在时自动覆盖 |
--compress=9 | 对导出的 OVA 文件进行压缩(1~9,值越大压缩率越高但速度越慢) |
--acceptAllEulas | 自动接受所有最终用户许可协议 |
--name=<新名称> | 导入时指定虚拟机的新名称 |
--datastore=<存储名> | 导入时指定目标数据存储 |
--powerOn | 导入完成后自动开机 |
3.4 密码中的特殊字符处理
当密码包含 @ 或 \ 等特殊字符时,需要 URL 编码:
@→%40\→%5c
示例(密码为 Admin@123,用户名为 administrator@vsphere.local):
ovftool "vi://administrator%40vsphere.local:Admin%40123@192.168.25.100/Datacenter/vm/workspace/Rocky9.6" 本地路径.ova如果不希望在命令行中明文显示密码,可以省略密码部分,系统会交互式地提示输入。
四、实战:导出虚拟机为 OVA 模板
4.1 操作前准备
- 确认虚拟机状态:导出前建议关闭虚拟机电源,或使用
--powerOffSource参数确保数据一致性 - 检查并卸载系统镜像:⚠️ 关键步骤!如果虚拟机的光驱中还挂着 ISO 镜像文件,导出的模板会尝试一并导出该镜像;在导入时若找不到该镜像文件,会导致导入失败
- 确保磁盘空间充足:建议预留虚拟机实际占用空间的 1.5 倍
- 确认访问权限:确保对 ESXi 主机具有虚拟机导出权限(至少只读)
4.2 完整导出步骤
步骤一:打开命令提示符(CMD),切换到 OVF Tool 安装目录:
cd C:\"Program Files"\VMware\"VMware OVF Tool"步骤二:执行导出命令:
.\ovftool.exe --noSSLVerify --powerOffSource -o vi://root@192.168.5.5/Ubuntu22.04 D:\backup\Ubuntu22.04.ova命令解析:
--noSSLVerify:跳过 SSL 证书验证,避免证书问题中断导出--powerOffSource:自动关闭虚拟机电源后再导出,确保数据完整性-o:如果目标文件已存在,自动覆盖vi://root@192.168.5.5/Ubuntu22.04:源 ESXi 主机上的虚拟机D:\backup\Ubuntu22.04.ova:本地导出路径和文件名
4.3 OVF 与 OVA 格式的选择
- OVA(Open Virtual Appliance) :单文件包,将 .ovf、.vmdk 等文件打包为一个
.ova文件,便于分发和传输 - OVF:多文件形式,包含 .ovf(描述文件)、.vmdk(磁盘文件)等,适合需要单独管理磁盘文件的场景
选择建议:日常备份和迁移推荐使用 OVA 格式,管理方便;需要单独处理磁盘文件时再选择 OVF 格式。
4.4 查看导出的模板信息
导出完成后,可以使用以下命令查看 OVA/OVF 文件的详细信息:
ovftool D:\backup\Ubuntu22.04.ova输出内容包括:虚拟机名称、操作系统类型、CPU/内存配置、磁盘容量、网络配置等。
4.5 压缩导出文件
如果导出的 OVA 文件体积较大,可以通过 --compress 参数进行压缩:
ovftool --compress=9 "Ubuntu22.04.ova" "Ubuntu22.04_compressed.ova"--compress=9 表示最高压缩比,文件体积最小但处理速度较慢,可根据实际需求调整压缩等级(1~9)。
五、常见错误与解决方案
5.1 ❌ Error: Failed to open file stream: xxx.iso
原因:虚拟机的光驱中还挂着 ISO 镜像文件,导出时工具尝试一并导出该镜像,但在目标位置找不到该文件。
解决方案:
- 登录 vSphere Client
- 编辑虚拟机设置,找到 CD/DVD 驱动器
- 将设备状态设置为“已断开连接”或将介质从 ISO 镜像改为“客户端设备”
- 重新执行导出命令
预防措施:在导出任何虚拟机模板之前,养成检查并卸载光驱镜像的好习惯。
5.2 ❌ 导出过程中 vmdk 文件下载失败,提示网络错误
原因:常见于 ESXi 6.7.0 版本,可能是网络传输不稳定或 API 兼容性问题。
解决方案:
- 确保使用
--noSSLVerify参数跳过 SSL 验证 - 尝试在本地网络环境较好的时间段执行导出
- 确保 OVF Tool 版本不低于 4.3.0
5.3 ❌ ovftool: command not found
原因:系统环境变量未配置,或未在 OVF Tool 安装目录下执行。
解决方案:
方法一:切换到安装目录执行
cd "C:\Program Files\VMware\VMware OVF Tool" .\ovftool.exe <参数>- 方法二:将安装目录添加到系统 PATH 环境变量中
5.4 ❌ 创建目录失败 / 权限不足
原因:输出目录不存在,或当前用户对目标文件夹没有写入权限。
解决方案:
- 预先创建输出目录
- 以管理员身份运行命令提示符
- 检查目标文件夹的写入权限
5.5 ❌ 密码包含特殊字符导致认证失败
原因:密码中的 @、\ 等字符未被正确转义。
解决方案:
- 将
@替换为%40,\替换为%5c - 或省略密码部分,让系统交互式提示输入
六、小结
OVF Tool 是 VMware 官方提供的一款轻量级但功能强大的虚拟机导出/导入工具。相比 vSphere Web Client 的图形化导出功能,OVF Tool 具有以下优势:
- 自动化友好:可通过脚本批量导出,适合定期备份任务
- 跨平台:支持 Windows、Linux 和 macOS
- 灵活的输出格式:支持 OVF 和 OVA,满足不同场景需求
- 版本兼容性好:不严格依赖 ESXi 版本,可在不同版本间迁移
核心要点回顾:
- ✅ 导出前务必卸载 ISO 镜像,否则导入时必然报错

- ✅ 使用
--noSSLVerify避免证书问题 - ✅ 使用
--powerOffSource或手动关机后再导出 - ✅ 密码中的特殊字符需要 URL 编码
- ✅ OVA 格式便于分发,OVF 格式便于管理磁盘文件