During the week, I tried a straight upgrade for my Hyper-V box from Windows Server 2008 R2 to Windows Server 2012, and wandered off.
Noticing the Internet hadn’t come back a half hour later (TMG VM), I found my server hung at the new Windows logo. Hung hard: no capslock activity.
Rolled back; cued it up for today.
Long story short, one fresh install later I’d worked out it was only hanging when I added Hyper-V, and was trying to find a solution that didn’t involve buying a new motherboard after 4:30pm on a Friday afternoon!
The solution was to: (drumroll please)
Disable USB 3.0 support in the BIOS for my Gigabyte Z68MA-D2H-B3 motherboard. THANK YOU Illho Ye for the post. Now I have my virtual machines and they’re, like, working!
I’d seen other forum mentions of other whizbang processor features (C3-C6 states) causing similar problems, but for me, the problem turned out to be something to do with the USB 3 controller (in Advanced BIOS Features or Integrated Peripherals, I forget which) causing the boot hang. Toggling it back on caused it to hang again, so it doesn't appear to be just a first-run problem.
Bricking it (not really)
Amusing moment: I’d tried a BIOS update as part of my troubleshooting before finding the winning post, and had that “OHNOIBRICKEDIT!” feeling when the computer didn’t seem to be doing anything immediately afterwards… only it turns out the flash had just changed the Init Display order back to the PCI Express X16 board, rather than the onboard video.
That made me happy! And sheepish.
[Update 2016-11-13] Loads of things have probably changed since my original post (BIOS updates and OS updates...) Just re-enabled USB 3.0 on Windows Server 2016; whatever the initial cause, it's no longer a problem, and Things Boot Now.