Using the GUI, I created the virtual disk, initialized, set as MBR (also tried GPT), formatted etc.
The VHD can be seen and mounted in Windows 8.1, and during the Windows 7 install, I can create a new .vhd using diskpart, and I can see the one I previously made in Windows 8.1.
The problem is, it won't let me install onto it, whether I've got it set for MBR, or GPT. The error message I get is "Windows cannot be installed to this disk. This computer's hardware may not support booting to this disk. Ensure that the disk's controller is enabled in the computer's BIOS menu."
I've installed Windows 7 to the HDD before, and Windows 8.1 to the SSD - both clean installs - no problem.
I've set the BIOS SATA to ACHI, and boot to UEFI and Legacy.
I plan to use boot to VHD to use Windows 7 for any games that don't work on Windows 8.1.
I've also tried only having the HDD plugged in, and everything else but the keyboard unplugged (also unplugged DVD. BD and SSD)
Yeah, the whole point of a VHD file is that the operating system in that VHD file thinks that it is in its own virtual environment -- it thinks the VHD file IS the entire hard drive, and it thinks it has a whole virtual environment of virtual hardware to control. It's the Hyper-V or VMWare software that provides the fake hardware environment for it. Without the Hyper-V or VMWare software to provide the fake hardware environment, there's no "world" for that operating system in the VHD file.