Problem with Compacting VHDs in Hyper-V Management Console
If you are using Hyper-V as your virtualization solution, you might be familiar with expand and compact of VHD (virtual hard disk) process. Few days back when I was trying to compact one of my VM’s Dynamic VHDs (Guest OS: Windows Server 2008 R2), I encountered the following error;
[Window Title]
Edit Virtual Hard Disk Wizard
[Error Message]
The server encountered an error trying to edit the virtual disk.
[Content]
'The system failed to compact
'D:\HYPER-V\VM001\Virtual Hard Disks\VM001-Disk1.vhd'. Error Code: The requested operation could not be completed due to a file system limitation.
After researching this issue, it turned out that I had some Volume Shadow Copy (VSS) snapshots inside the guest operating system and needed to remove those first.
Normally I would use <vssadmin.exe delete shadows /all> command to do so but this time I received the following error;
Error: Snapshots were found, but they were outside your allowed context. Try removing them with the backup application which created them.
In this case, I had to use DiskShadow.exe tool that is part of Windows Server 2008 (R2) and delete all the existing VSS snapshots. and the steps are;
1- Start the VM
2- Logon with a local administrator account
3- Run the following command from an elevated command prompt:
DiskShadow.exe
DISKSHADOW>Delete Shadows All
This successfully removed all the VSS snapshots.
4- Shutdown your VM and try compacting the VHD again
More Information;
DiskShadow.exe
https://technet.microsoft.com/en-us/library/cc772172(WS.10).aspx
https://technet.microsoft.com/en-us/library/ee221016(WS.10).aspx
Vssadmin delete shadows
https://technet.microsoft.com/en-us/library/cc788026(WS.10).aspx