1

I am on Windows Server 2012 R2, trying to connect to one Hyper-V virtual machine.

The requested operation could not be completed due to a virtual disk system limitation. On NTFS, virtual hard disk files must be uncompressed and unencrypted. On ReFS, virtual hard disk files must not have the integrity bit set.

Well, I admit I did compress the NTFS file system of this particular VM.

It contains the old Windows XP because of several our Software not being compatible with newer versions. We use it for old software and we need it ASAP.

It worked until now.

What we have, possibly useful:

  • Ironically, enough disk space to accommodate everything uncompressed from that VHDX twice
  • Limited RAM: 16GB per each server
  • Linux Debian 8.5 server (headless, but I may enable Cinnamon GUI and connect through TeamViewer)
  • Gigabit network

Question:

How do I connect to the compressed NTFS storage to uncompress it for us to make it work again?

EDIT1:

  • On Windows 8.1 if I try to mount it via Computer -> Manage -> Storage -> Disk Management -> menu Actions -> Attach VHD:

    The requested operation could not be completed due to a virtual disk system limitation. On NTFS, virtual hard disk files must be uncompressed and unencrypted. On ReFS, virtual hard disk files must not have the integrity bit set.

  • On Windows 8.1 if I try to open the VHDX file with StarWind V2V Converter:

    Error opening file (2) [0]

  • On Windows 7 if I try to mount it the same way as in 8.1:

    The file or directory is corrupted and unreadable

  • On Windows 7 if I try to open the VHDX file with StarWind V2V Converter:

    Error opening VHDX disk image file. VHDX format supported on Windows 8 and later

EDIT2:

By installing libguestfs-tools on Linux Mint 17.3 as follows:

sudo apt-get install libguestfs-tools

I am now able to mount it with as follows:

sudo guestmount -a thevirtualdisk.vhdx -i /mnt/anydirectory

But so far I have no idea how to clear the NTFS compression attribute(?)

0

2 Answers 2

4

You're misunderstanding the error message. It's telling you that the VHDX file must be uncompressed. You're trying to uncompress the files within the VHD. These are entirely separate things. It doesn't matter at all if the files within the VHD are compressed.

1
  • Jake Oshins is correct. Just disable compression on the volume where you are storing your .vhd files and you are good to go.
    – Strepsils
    Jun 22, 2016 at 17:20
4

To remove the NTFS compression attribute from the command line, you need to run:

fsutil sparse setflag 'C:\path\to\file.vhdx' 0

After that, you can easily mount your vhd file

2
  • While Sparse Files are also a problem for the VSS (Volume Shadow Copy Service) to turn off the NTFS compression you're probably looking for compact.exe /f /i /q /u "C:\path\to\file.vhdx" or compact.exe /f /i /q /s /u "C:\path\to\folder containing VHDX files\" Jul 19, 2019 at 0:21
  • This was the solution for me!
    – Ben
    Sep 10, 2019 at 15:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .