是什么
VHDX 是 Hyper-V 使用的虚拟磁盘格式,从 Windows Server 2012 起引入:容量上限远高于上一代 VHD,并且在元数据里增加了日志机制,让主机异常断电时的磁盘一致性更有保障。它分固定大小与动态扩展两类:前者一次性占用全部空间、性能稳定,后者按实际写入增长、节省空间但存在碎片与膨胀问题。
基本信息
| 容量上限 | VHDX 支持数十 TB 级别,明显高于上一代 VHD 的两 TB 上限 |
|---|---|
| 磁盘类型 | 固定大小与动态扩展,也可使用差异盘做实验环境 |
| 一致性 | 元数据日志提升异常断电场景下的健壮性 |
| 平台限制 | Hyper-V 独占读写,Windows 侧挂载需要相应服务支持 |
| 虚拟化限制 | 第一代虚机的集成开发环境启动盘存在容量约束,规划时要留意 |
查看与转换(Windows)
查看与转换(Windows)
# 查看磁盘类型、虚拟容量与实际文件大小
Get-VHD -Path D:\vhd\disk.vhdx | Format-List Path,VhdType,Size,FileSize
# 上一代格式升级到 VHDX(需先卸载该磁盘)
Convert-VHD -Path D:\vhd\disk.vhd -DestinationPath D:\vhd\disk.vhdx
# 动态扩展盘瘦身:先整理碎片再压缩,操作前做好备份
Optimize-VHD -Path D:\vhd\disk.vhdx -Mode Full类型与容量读法
| 字段或类型 | 含义 | 判读要点 |
|---|---|---|
| VhdType | 固定、动态或差异类型 | 动态盘性能波动更明显,关键业务优先固定 |
| Size | 虚拟容量,即虚机看到的盘大小 | 与分区表容量对齐,避免虚机内多出未分配空间 |
| FileSize | 宿主文件实际占用 | 动态盘远小于虚拟容量属正常,但会随写入膨胀 |
| Attached | 是否已被挂载 | 已挂载时无法直接转换或压缩 |
把动态盘当成“剩余空间充足”是常见误判:宿主文件会随虚机写入持续增长,直到接近虚拟容量,容量规划要按虚拟容量而不是当前文件大小来算。
把 VHDX 复制到没有 Hyper-V 角色的机器上直接使用,会发现无法挂载或无法启动;跨平台使用前先确认承载环境,必要时转换为通用镜像格式。