My son and I spent most of the day yesterday trying to get our laptops to boot from a VHD. We found loads of posts on the Internet that showed how it should be done, but we couldn't make it work. When we finally were successful, we found what we believe is an easier process, at least for us. I'm posting those steps here for future reference.
The goal was to run Windows 8.1 on a laptop, but to have the option to boot into Windows 7 when needed. I used an HP EliteBook 8540w, which is easily able to run Windows 7. (It has Windows 7 drivers available, uses BIOS instead of UEFI, and has no SecureBoot support.) My son used his Dell Inspiron 15 7000 Touch, which does NOT have Windows 7 drivers available. His laptop has all the latest goodies, including UEFI and SecureBoot.
Here is our list of steps:
After following these steps, my laptop could successfully boot into Windows 7. My son's could not. We believe that the only difference was that my laptop has Windows 7 driver support, while his does not.
I believe that this is an easier process, because I did not have to use BCDEdit or ImageX, which were recommended in all of the posts that I found. These steps are very similar to those that I use to create VMs in Hyper-V, so I find them more intuitive.
There are some caveats: