调整 VHD 大小 Hyper V Server 2008 R2

调整 VHD 大小 Hyper V Server 2008 R2

我有一台安装了 Hyper V 的 Windows Server 2008 R2。

其中一个虚拟机是 150GB 的动态扩展虚拟硬盘(Windows)。我想将其缩小到 100GB,但似乎无法实现。

到目前为止我已经尝试过;

  • 在客户机上打开磁盘管理并将硬盘缩小了 50GB,现在在客户机上显示为“未分配”。
  • 确保没有客户操作系统的快照
  • 对客户机进行碎片整理
  • 在 Hyper V 中选择客户机并运行“紧凑”

但是,每当我在 Hyper V 中检查磁盘时,它仍然显示为 150GB,没有任何变化。

我也尝试过该diskpart工具,在客户操作系统上使用以下命令,但结果相同;

select vdisk File=”I:\path\to\your.vhd”
attach vdisk readonly
compact vdisk
detach vdisk

我是否遗漏了什么?

几个问题;

我读到过,动态扩展虚拟硬盘无法缩小 - 这是真的吗?如果我简单地删除 Hyper V 中的 VM,那么 150GB 会重新分配到哪里?

由于我的主机空间不足,我无法导出虚拟机并创建新的虚拟机。

答案1

根据本文

VHD虚拟磁盘格式不支持缩小..

我尝试了同样的步骤很长时间,但从未成功。如果可能的话,最好重新创建虚拟磁盘,以节省一些时间。

答案2

您可以缩小动态扩展虚拟硬盘。您已经缩小了客户机中的卷,因此从 PowerShell 尝试:

Resize-VHD –Path c:\BaseVHDX.vhdx –SizeBytes 1TB(1TB 仅为示例)

或者

Resize-VHD –Path c:\BaseVHDX.vhdx –ToMinimumSize

如果是 .VHD,则使用 .VHD 而不是 .VHDX

答案3

2008 R2 版 PowerShell 中没有该Resize-VHDcmdlet,但有一种方法。在 Hyper-V 管理器 GUI 中,如果您关闭使用 VHD 的 VM,则可以使用右侧操作面板中的“编辑磁盘...”功能指定更大的大小。

相关内容