I did a Image Backup of a Windows 10 PC (using the builtin disk image backup feature, called the Windows 7 backup, with system image).
Later I tried to mount the resulting VHDX file, to access some files from the backup.
This used to work in the past (not on this particular backup, but in general). There are many websites describing this procedure, like this one.
But this time it does not work.
If I doubleclick the VHDX file (the biggest one, as usually several are created, the biggest one actually having the data partition) on the file server (Windows 2012 R2 Standard), I get this error:
Couldn’t Mount File
Make sure the file is in an NTFS volume and isn’t in a compressed folder or volume.
If I share the folder containing that file over network and access it from a Windows 8.1 Pro PC (I refer to it as "client" from now on) and doubleclick the VHDX file, I get the same error.
If I try the "Attach VHD" option in Disk Management on the same file, I get:
Virtual Disk Manager
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.
Same error if I try locally on server or over network on the client.
If I try on a Windows 10 Pro client, accessing the VHDX file over network, the error is:
Couldn’t Mount File
You don't have permission to mount the file.
But if I copy the file to a local disk (on the win10 PC), it works.
It also works with older backups from a Windows 8.1 PC. They work in all scenarios (local access or over network).
Any idea what is going on?
To recap:
- the VHDX files from a Windows 10 backup can not be mounted in any case
- other VHDX files (mostly from Windows 8.1 backups) can be mounted in all cases
edit:
Partial solution:
Copying the nonworking VHDX file to a local HDD/SSD makes it mountable:
- double click it
- DONE (it assigns a drive letter and shows it in an Explorer window)
- except if its drive letter overlaps with currently used drive letters, which happens if it is a system drive backup that want to use the C: drive letter; in that case an error pops up:
Couldn’t Mount File
The disk image isn't initialized, contains partitions that aren't recognizable, or contains volumes that haven't been assigned drive letters. Please use the Disk Management snap-in to make sure that the disk, partitions, and volumes are in a usable state.
- in that case: open Disk Management and assign a (different) drive letter to the mounted VHDX partition(s)
2 Answers
Created System Image using Windows 10 Control Panel - Backup and Restore (Windows 7) - Selected Create System Image...backed up current drive. I went to grab an old file - Disk Manager - attach VHDX volume would attach but not assign a drive letter and options were greyed out.
Solution - A) BEFORE you use Disk Manager, go to the respective drive where the backup is stored and double click on each VHDX file you want to review. Windows will give you an error message Windows error message - Couldn't Mount FileB) THEN go into Disk Manager and you will see your mounted volume and you can right click and Assign a new drive letter.
Not perfect, but it gets the job done and I could not find a simple solution anywhere.
This is the answer, in the error dialog:
On ReFS, virtual hard disk files must not have the integrity bit set.
The files were on ReFS volume and for some reason, the integrity bit was set on the VHDX file that I had the problem with. The other VHDX files did not have it.
The fix:
In PowerShell run:
Get-Item .\foo.vhdx | Set-FileIntegrity -Enable 0To check:
Get-Item .\foo.vhdx | Get-FileIntegrityAfter this, the file can be mounted locally (currently I can not test remote access).
An alternative is to open the VHDX file with a tool like 7-zip (supports VHDX since version 21.06), that does not care about such filesystem flags. It allows browsing, opening or extracting files. Not the same as mounting, but good enough for most use cases.