在 Hyper-V 中缩小和压缩 VHDX 文件
2026-04-27
在使用 Microsoft Hyper-V 创建虚拟机时,通常会选择动态扩展磁盘,这种磁盘具有占用物理硬盘空间较少、创建速度较快的优点。但其也存在一个缺点:无法自动回收已释放的空间。例如,若向虚拟机中复制一个 5GB 的文件,物理 VHD/VHDX 文件大小将增加 5GB;而当该 5GB 文件被删除后,物理 VHD/VHDX 文件的大小并不会随之减小。久而久之,物理 VHD 文件可能膨胀至虚拟磁盘所设定的最大容量,造成大量存储空间的浪费。为解决此问题,Hyper-V 设置中的“编辑磁盘”部分提供了磁盘优化功能,可帮助您管理 VHDX 文件的大小。
为何使用 VHDX 格式?
VHDX 是微软在 Windows Server 2012 中引入的一种虚拟磁盘格式。VHDX 在原有 VHD 格式基础上进行了功能扩展,包括性能提升、更完善的数据损坏防护机制,以及对最大达 16TB 磁盘容量的支持;其创建过程与 VHD 类似。与较早的 VHD 格式相比,VHDX 格式具有以下新特性:
支持最高达 64TB 的虚拟硬盘容量。
通过记录对 VHDX 元数据结构的更新,防止断电期间发生数据损坏。
优化动态磁盘和差分磁盘的对齐方式,使其在大扇区磁盘上运行更佳。
缩小(Shrink)和压缩(Compact)VHDX 有何区别?
缩小 VHDX:缩小 VHDX 文件是指减小虚拟硬盘的最大容量。该操作通常适用于为虚拟硬盘过度分配了空间,而您又希望在不损坏其中数据的前提下减小其占用空间的情况。例如,您有一个 500 GB 的 VHDX 文件,但实际仅使用了 100 GB,此时可将其缩小至例如 200 GB,以更贴近实际数据占用量。但需注意:VHDX 文件无法缩小至小于其所含实际数据量的大小。缩小操作实质是缩减磁盘的逻辑容量。
压缩 VHDX:压缩 VHDX 文件是指从虚拟磁盘中移除未使用空间的过程。此操作对动态扩展磁盘尤为有用,因为这类磁盘会随数据增加而增大,但在数据被删除后却不会自动缩小。压缩 VHDX 文件可在不改变虚拟机内磁盘逻辑大小的前提下,减小其在宿主系统上的物理文件大小。
简而言之,“收缩(shrink)”是指减小虚拟磁盘的逻辑大小(即该磁盘在虚拟机内所呈现的大小),而“压缩(compact)”则是指减小宿主系统上物理文件的大小(即VHDX文件实际占用物理存储的空间大小)。通常,压缩操作针对动态扩展磁盘执行,以回收宿主系统上的存储空间;而收缩操作则调整磁盘自身的最大容量。
如何高效缩小 VHDX 磁盘?
1. 在虚拟机中打开“磁盘管理”工具。找到您要缩小的磁盘分区,右键单击该分区,然后选择“压缩卷”。
输入您想要压缩的空间大小,然后点击“缩小”。这将释放未分配的空间。
2. 关闭虚拟机,为在 Hyper-V 管理器中编辑虚拟硬盘做准备。
3. 在 Hyper-V 管理器中,找到并选择您的虚拟机。在右侧操作面板中,点击“设置”。
4. 在虚拟机的设置窗口中,找到虚拟硬盘(通常位于 IDE 控制器或 SCSI 控制器下)。点击“硬盘”,然后选择“编辑”。
5. 选择“缩小”选项并指定新尺寸
6. 完成向导的其余步骤,以缩小虚拟硬盘。
在 Hyper-V 中,收缩操作也可以通过命令执行:
以管理员权限启动 PowerShell 并执行以下代码:
Resize-VHD -Path “C:Windows 11 To Go.vhdx” -ToMinimumSize
将路径替换为您希望缩减大小的 VHDX 文件路径。
执行后,您即可在虚拟硬盘中访问该系统,并打开“磁盘管理”来确认压缩的空闲空间是否已被清除。
注意:扩展磁盘:
如果要将 VHDX 文件扩展到 16 GB,可使用以下命令
Resize-VHD -Path “C:Windows 11 To Go.vhdx” -SizeBytes 16GB
如何压缩 VHDX 文件?
1. 在 Hyper-V 管理器中,单击要压缩的虚拟机。
2. 右键单击虚拟机,然后选择“设置”。
在“硬件”部分中,选择您要压缩的硬盘驱动器。
点击虚拟硬盘右侧的“编辑”。
3. 选择“紧凑型”选项
“编辑虚拟硬盘向导”将打开。单击“下一步”。
选择“紧凑型”,然后点击“下一步”。
检查您的选择,然后点击“完成”以开始压缩过程。
或者,您可以使用 PowerShell 压缩 VHDX 文件:
Optimize-VHD -Path “C:path oyourvhdx-file.vhdx” -Mode Full
请将“C:path oyourvhdx-file.vhdx”替换为您的 VHDX 文件的实际路径。
专业的 Hyper-V 虚拟机备份解决方案
执行这些操作前,建议先备份您的 Hyper-V 虚拟机,以防出现意外情况导致数据丢失。
Vinchin 备份与恢复 是一款专业解决方案,支持虚拟机(如 VMware vSphere、Hyper-V、XenServer、XCP-ng、oVirt、RHV、OpenStack、Proxmox 等)以及数据库、NAS、文件服务器、Linux 与 Windows 服务器等其他数据的备份。
专为虚拟环境设计,提供自动备份、无代理备份、局域网内/局域网外备份选项、异地复制、即时恢复、数据去重以及云归档功能。遵循“3-2-1备份原则”,Vinchin确保数据安全可靠。通过数据加密及勒索软件防护,为Hyper-V虚拟机备份提供双重保障,并支持便捷的 Hyper-V与其他平台之间的迁移。
使用 Vinchin 备份与恢复工具备份 Hyper-V 虚拟机仅需 4 个步骤:
1. 选择备份对象。

2. 选择备份目标位置。

3. 选择备份策略。

4. 审核并提交任务。

Vinchin 备份与恢复软件已被数千家企业选用,您也可以立即开始使用这一功能强大的系统——享受为期 60 天的全功能免费试用! 此外,您还可联系我们并留下您的需求,我们将根据您的 IT 环境为您提供专属解决方案。
下载免费试用版
适用于多种数据备份
* 15天全功能免费安全下载
Hyper-V VHDX 常见问题解答
1. 问:如何将 VMDK 格式转换为 VHD/VHDX 以迁移到 Hyper-V?
A:如果您只想转换虚拟磁盘,可以尝试使用 Qemu-img。在本地计算机上安装该应用程序,然后通过命令行转换虚拟磁盘。您也可以使用 Microsoft 虚拟机转换器或 Vinchin 备份与恢复软件将虚拟机从 VMware 迁移到 Hyper-V。
2. 问:如何将 VHDX 文件导入 Proxmox?
A:VHDX 主要由微软 Hyper-V 使用,而 QCOW2 则与 QEMU 和 KVM 虚拟机管理程序相关联。通过将 VHDX 转换为 QCOW2,您可以高效地导入并使用现有 Hyper-V 虚拟机,或将它们迁移到 Proxmox 中进行管理和部署。
结论
VHDX 格式提供更大的磁盘容量和更佳的数据保护能力。为高效管理存储空间,缩小操作可减小 VHDX 文件的逻辑大小,而压缩操作则可减小其在宿主机上的物理占用大小。这两种操作均可通过 Hyper-V 管理器或 PowerShell 轻松执行,从而实现存储资源的高效利用和虚拟机性能的最优化。