It has come to my knowledge that at least some vhd files, created by Windows Backup, have all zeroes in the mbr disk signature field. When you attach such a vhd to DIsk Management in Windows (or using "diskpart" or Arsenal Image Mounter etc), you will see that Windows needs to initialize such images with a new disk signature before even reading the partition table.
Even though this might not itself corrupt the vhd file in any way, there are still cases where you would like to attach such a vhd file in read-only mode. Simply to read something from a backup without any risk of modifying anything. When mounted in read-only mode, Windows cannot initialize such disks with a valid disk signature and therefore refuses to do anything whatsoever with the vhd.
The obvious workaround I have used a couple of times is to create a differential vhd based on the original and mount the diff in read/write mode. But that's not obvious to people and there are sometimes quite a lot of support discussions around Windows Backup / Hyper-V / etc in various forums where people have tried to read things from such vhd files without success and without any clues why it would not work for them.
An idea I got was to modify Arsenal Image Mounter driver slightly so that when a disk is mounted in read-only mode, has disk signature = zero but in other respects contains an obviously valid partition table, expected 0xAA55 magic etc, it could fake a random disk signature "on-the-fly" when Windows reads the mbr. Would such a "fix" make sense? Would there be any risks involved, side-effects etc? Any thoughts, anyone?