解决Hyper-V无法扩容虚拟硬盘

问题现象

有时,我们想为一个Hyper-V虚拟机的虚拟硬盘(Virtual Hard Disk)扩容。然而,当我们打开一个虚拟机的设置时,Hyper-V却告诉我们无法编辑虚拟硬盘,因为有检查点(Checkpoint)既快照存在。
解决Hyper-V无法扩容虚拟硬盘_第1张图片
尽管如此,当我们查看该虚拟机所拥有的检查点时,却只看到空白。
解决Hyper-V无法扩容虚拟硬盘_第2张图片
我们能够看到检查点文件确实存在,而且就与虚拟硬盘文件处在同一目录下。
在这里插入图片描述

尝试解决

即使我们使用下面的Powershell命令来移除虚拟机下的检查点,Powershell却指出该虚拟机没有检查点存在。

Get-VMCheckpoint -VMName "YourVMName" | Remove-VMCheckpoint

除此之外,即使使用下面的Powershell命令针对性地合并虚拟硬盘文件,Powershell也返回令人费解的不明错误。

Merge-VHD Path = "子磁盘路径" DestinationPath = "家长磁盘路径"

最终解决方案

好在,Hyper-V提供了一种在图形化界面中合并虚拟硬盘的途径。你只需要在Hyper-V管理中点击编辑磁盘
解决Hyper-V无法扩容虚拟硬盘_第3张图片
选中检查点文件而非家长磁盘文件。
解决Hyper-V无法扩容虚拟硬盘_第4张图片
选择合并
解决Hyper-V无法扩容虚拟硬盘_第5张图片
我们选择合并入家长硬盘。
解决Hyper-V无法扩容虚拟硬盘_第6张图片
等待合并完成。
解决Hyper-V无法扩容虚拟硬盘_第7张图片
至此,大功告成。我们已能够编辑虚拟硬盘文件。
解决Hyper-V无法扩容虚拟硬盘_第8张图片
如果在设置中,虚拟硬盘文件仍然显示为已经不存在了的检查点文件,且无法通过点击浏览来更改为新的已并入的家长硬盘文件,那么直接将该硬盘移除,并在IDE(或SCSI,取决于Hyper-V虚拟机代数)控制器下重新添加该硬盘。

可能成因

目前为止,我还不确定该问题成因。但这通常是因为Hyper-V元数据文件里的检查点树信息与实际文件不对应造成。有时,在不同设备间移动虚拟机会产生这一问题。
Hyper-V的检查点管理一直故障重重,动不动就播报诡异的错误。这使得本来用于备份的检查点反而成了数据恢复的绊脚石。

你可能感兴趣的:(网络,云计算,虚拟化,服务器,网络协议,Windows,Server,Hyper-V)