虚拟机文件后缀有哪些?简单说:.vmdk、.vhd、.vhdx、.qcow2、.img、.ovf、.ova是最常见的几种,分别对应VMware、Hyper-V、KVM/QEMU和跨平台打包格式,不同后缀的文件用途不同,有的当硬盘用,有的当整机镜像用,搞清楚它们才不会在迁移或恢复时抓瞎。
虚拟机文件后缀有哪些?一张表看懂常见格式
很多朋友第一次接触虚拟化,打开文件目录一看,满屏的陌生后缀直接懵了,其实虚拟机文件大致分两类:磁盘文件和配置/打包文件,磁盘文件保存着系统和数据,vmdk、.vhdx;配置/打包文件描述虚拟机硬件参数或打包整个虚拟机,vmx、.ovf。
下表把常见后缀按平台归类,方便对比:
| 后缀 | 所属平台 | 类型 | 典型用途 |
|---|---|---|---|
| .vmdk | VMware | 磁盘文件 | 虚拟硬盘,VMware Workstation/ESXi 默认格式 |
| .vmdx | VMware | 磁盘文件 | 新版 ESXi 的扩展磁盘格式,配合 .vmdk 使用 |
| .vmx | VMware | 配置文件 | 记录 CPU、内存、网卡等硬件参数 |
| .vhd | Hyper-V | 磁盘文件 | 微软 Hyper-V 和 Virtual PC 的虚拟硬盘 |
| .vhdx | Hyper-V | 磁盘文件 | .vhd 的升级版,支持更大容量和断电恢复 |
| .qcow2 | KVM/QEMU | 磁盘文件 | Linux 虚拟机最常用的写时复制格式 |
| .img | KVM/QEMU | 磁盘文件 | 原始磁盘镜像,可被多种平台识别 |
| .ovf | 跨平台 | 打包格式 | 开放虚拟化格式,包含描述文件和磁盘 |
| .ova | 跨平台 | 打包格式 | .ovf 的 tar 压缩包,单个文件便于分发 |
行业共识认为,选择哪种后缀主要看你的宿主机系统,Windows 环境多用 Hyper-V 的 .vhd/.vhdx,企业级虚拟化环境则被 VMware 的 .vmdk 和 Linux 的 .qcow2 瓜分。
不同后缀文件怎么用?从识别到挂载实操
知道了后缀还不算会用,实际操作中,你得根据文件形态判断该“双击”还是“挂载”,再决定用工具直接打开还是需要转换。
虚拟机文件后缀怎么打开:先分清“磁盘”和“配置”
很多人下载了一个虚拟机模板,看到目录里有好几个文件,不知道点哪个,别急,按这个思路来:

- 只看到单个磁盘文件(.vmdk、.vhd、.qcow2、.img):这个文件本身只是一块硬盘,里面装着系统,但没有硬件配置,你需要新建一个空虚拟机,然后把这文件挂载为硬盘。
- 有配置文件(.vmx 或 .ovf):配置文件就是虚拟机的灵魂,双击 .vmx 可以直接用 VMware 打开,导入 .ovf 可以直接还原整机参数。
- 有一个 .ova 文件:这是最省事的情况,直接在 VMware Workstation 或 VirtualBox 里“导入”即可,会自带配置和磁盘。
实操中常见的场景是“我拿到一个 .vmdk 但打不开”,这通常是因为你把磁盘文件当成了可执行文件,正确做法是打开 VMware,新建虚拟机时选择“使用现有虚拟磁盘”,然后定位到 .vmdk。
vmdk 文件怎么用:直接在 VMware 中挂载现有磁盘
以 VMware Workstation 为例,挂载 .vmdk 的具体步骤:
- 打开 VMware Workstation,点击“创建新的虚拟机”。
- 选择“自定义”,直到出现“选择磁盘类型”页面。
- 选“使用现有虚拟磁盘”,点击下一步。
- 浏览并选中你的 .vmdk 文件,确认模式为“保持现有格式”或“创建链接克隆”。
- 完成后启动虚拟机,系统会从该磁盘引导。
如果你的 .vmdk 是从 ESXi 服务器上下载的,可能分成多个小文件(如 -s001、-s002),那要保证所有分片放在同一目录下,只选主 .vmdk(不带数字后缀的那个)。
vhd / vhdx 文件怎么用:Windows 上直接挂载或导入
微软 Hyper-V 的 .vhd 和 .vhdx 最友好,Windows 10/11 专业版及以上版本可以直接“右键 → 装载”,把虚拟硬盘变成资源管理器里的一个分区,像移动硬盘一样拷贝文件。
要在 Hyper-V 里使用,路径也简单:
- 打开 Hyper-V 管理器,新建虚拟机,连接虚拟硬盘时选“使用现有虚拟硬盘”,指向 .vhdx 文件。
- 或者用 PowerShell 直接导入:
Import-VM -Path "C:pathvm.vhdx"这种方式需要完整的虚拟机配置,仅磁盘文件则需要先创建再附加。
顺便提一句,.vhdx 比 .vhd 更值得推荐,它支持最大 64TB 容量,且具备日志功能,系统意外断电时数据损坏概率更低。
qcow2 / img 文件怎么用:Linux 命令行工具是主角
qcow2 和 raw 格式(.img)主要在 Linux 服务器上打交道,如果你用的是 KVM 虚拟化,典型操作是:
- 用 virt-install 创建虚拟机时,通过
指定磁盘。
--disk path=/var/lib/libvirt/images/xxx.qcow2
- 用
qemu-img命令对磁盘文件做扩容、快照、转换。
常用命令示例(在宿主机终端执行):
# 查看 qcow2 文件信息
qemu-img info disk.qcow2
# 把 qcow2 转换为 vhd(用于迁移到 Hyper-V)
qemu-img convert -f qcow2 -O vhd disk.qcow2 disk.vhd
# 把 vmdk 转换为 qcow2(用于迁移到 KVM)
qemu-img convert -f vmdk -O qcow2 source.vmdk target.qcow2
对于 .img 原始格式,文件就是硬盘内容的完整镜像,很多嵌入式系统固件、云主机镜像都直接用 .img,你可以用 dd 写入 U 盘,也可以用 qemu-img convert 转成其他格式。
常见使用场景与选型建议:虚拟硬盘文件格式哪个好
虚拟硬盘文件格式选哪个,不能单看后缀本身,得结合你的宿主环境、迁移频率和存储成本,下面分三个高频场景说清楚。
本地开发选 vmdk 还是 vhd?
如果你主要用 VMware Workstation 或 VirtualBox 做开发,vmdk 是默认选项,因为它的成熟度最高,快照功能稳定,VirtualBox 也能读取 vmdk,但官方推荐用 .vdi 格式,vmdk 的兼容性明显更广。
而在 Windows 笔记本上装了 Hyper-V 的用户,选 .vhdx 会更顺滑:原生支持内存映射、Reduce 操作,还允许在 Windows 里直接双击挂载,本地开发优先考虑宿主自带工具链支持最好的格式,而不是冷门的高级特性,这里有个价格相关的考虑:VMware Workstation 是商业软件,授权费不算便宜;而 Hyper-V 随 Windows 专业版内置,VirtualBox 完全免费,所以个人开发者为了省钱,用 VirtualBox + vmdk 也完全可以,因为 VirtualBox 对 vmdk 的读写兼容性一直不错。
服务器虚拟化为什么偏爱 qcow2?
在国内的 KVM 虚拟化环境,qcow2 是事实标准,它的写时复制(COW)机制非常聪明:一开始只占很小磁盘空间,随着数据写入逐渐增长,能大幅节省服务器存储成本,基于这个特性,日常备份和快照恢复也比 raw 格式快得多。
但 qcow2 也有代价它的 I/O 性能相比 raw 格式有轻微损耗,行业共识认为,对于数据库这类重负载应用,不少老牌服务器管理员依然坚持用 raw 格式的 .img 文件配合 LVM 快照,以换取最薄的控制层开销,北京、上海这些一线城市的数据中心,新上的 KVM 节点则普遍默认启用 qcow2 文件系统级压缩,用 CPU 换空间。
所以从“恢复速度”和“存储效率”两个角度评价,多数情况下 qcow2 优于 img。

迁移环境选 ova 还是 ovf?
涉及跨平台迁移,.ova 和 .ovf 是你最该认准的后缀。.ovf 是一个开放标准,里面用 XML 描述虚拟机信息,磁盘文件单独存放。.ova 则是把这些东西打包成一个 tar 文件,方便分发。
实际用法上的差异:
- 想导入到哪台机器就用哪个后缀ova 更适合直接“双保险”分发,因为单个文件不容易丢部件。
- 如果你拿到一个 .ova,用 VMware 的“打开”或 VirtualBox 的“导入”即可,不需要解压。
- 若拿到的是 .ovf 文件夹,请确保目录内有对应的磁盘文件(如 .vmdk),并保持相对路径不变。
从价格和版权角度看,无论 ova 还是 ovf 都不涉及额外收费,只要你有任意一款支持该标准的虚拟机软件就能导入,但是不同厂商对 .ovf 的兼容程度有细微差异,VMware 导出的 ovf 里网卡类型可能不被 VirtualBox 识别,导入后需要重新配置网络。
Q&A:虚拟机文件后缀常见的三个实操疑问
下面这几个问题是我常被问到的,直接给结论。
虚拟机文件后缀有哪些,哪个后缀最万能?
最常见的后缀包括 .vmdk、.vhd、.vhdx、.qcow2、.img、.ovf、.ova。最万能的不是某个磁盘后缀,而是 .ovf/.ova,因为它把配置和磁盘封装在一起,VMware、VirtualBox、Hyper-V 都支持导入 .ovf,只是导入后可能需要手动修正个别参数。
vmdk 文件怎么打开,不装 VMware 行吗?
不装 VMware 也行,VirtualBox 支持直接挂载 .vmdk,通过“设置 → 存储 → 添加虚拟硬盘”就能启动,Windows 下没有 VirtualBox 的话,可以用开源工具 7-Zip 解包 .vmdk 里的内容(仅读取文件),但想正常启动系统,最好还是安装一个虚拟机平台。
如何把 qcow2 转换成 vhd,具体命令是什么?
用 qemu-img 转换即可,先安装 qemu-kvm 或者 Windows 下的 qemu-img 工具,然后执行:
qemu-img convert -f qcow2 -O vhd 原文件.qcow2 目标文件.vhd
转换完成后,把得到的 .vhd 挂载到 Hyper-V 或 VirtualBox 里使用,Windows 系统可能需要额外修复引导,因为磁盘控制器类型变化了。
说到底,虚拟机文件后缀不是玄学,磁盘文件要挂载,配置文件要导入,打包文件要解包”这条主线,绝大多数问题都能当场解决,挑格式时先问自己:下一步要在哪个虚拟化平台上跑,未来会不会迁走,答案明确了,后缀自然不纠结。