VHD files will not work on most USB hard disks over 2TB in size.
Older (XP) machines will not support disks formatted with GPT, only disks with MBR. MBR cant address more than 2TB of space using traditional 512 byte sectors. To get around this limitation, many manufacturers will build 4k sector size emulation into their SATA to USB bridge. This remaps the 512 byte sectors on the disk into 4k sectors before it is presented to the system. This allows a Windows XP machine to see and use the entire disk.
The problem comes in when trying to use a VHD on one of these external drives (either from Hyper-V, Windows Backup, or Windows 7 disk manager.) In order to read and mount a VHD file as a hard disk the system needs to use a virtual driver. This VHD disk driver does not support 4k sectors. This means that while you can put a VHD file onto a large USB disk, you cannot mount it on a system (real or virtual.)
This problem is fixed in Windows 8 and server 2012 with VHDX files, which are aligned for 4k sectors.
In the short term, if you need to put a VHD file on a USB disk, use one that is 2TB or less, or one that does not have hardware 4k sector emulation.
Microsoft’s official information on this can be found here: