Multi-boot Win7 with Win8RP on VHD mounted on external USB drive

That title sounds like a mouthful. But, I have successfully created an XP & Win7 system (3 partitions of Win7) that multi-boots with Win8RP which is installed on a VHD (virtual hard drive) that is mounted from a partition on an external USB hard drive. All using Windows boot manager. One utility was used to deal with the boot manager database: Visual BCD Editor. Four of the five entries to the BCD database were created by the Windows install process with one created by Visual BCD Editor (but subsequently updated by the Windows install CD Startup Repair function.

However, he indicated it could not be done with Win7 Home Premium to an external USB. So I went to work with my 32-bit system and pulled it off. The key to this working is a virtual hard drive (20 gig) mounted from a partition on a physical hard drive connected via USB to the computer. The biggest problem encountered is the time to format the VHD, which worked out to 1 gig per minute (unlike real partitions which can be quick formatted, the VHD is hard formatted (mine was a fixed VHD, but this probably could have been easier if I had made it a much smaller dynamic VHD, which grows as space is needed).

Of the 5 systems in the multi-boot selection list from Windows boot manager, all but one were created by an install process (of course, the first, WinXP, came with the computer, and the oldWin7 system is an imaged copy of the Win7 partition). Win8RP was installed last on the VHD. This is where Ed Bott played a key role. The install indicates that the device I was using was not supported (or usable) for this purpose, but the Next button was still active (Ed said click Next anyway), and it all worked. Thanks Ed!

A lot of the drive letter assignments in the above table were done through Disk Management to maintain a uniform look for all of the systems. The Win8RP system won't be retained for general use when the Win8 production release is installed (probably on an internal disk replacing the oldWin7 system).

Take a look at Ed's work. Try this out if it looks interesting. It would seem that a large external USB drive would be an excellent candidate for multiple booted systems that may just be used as playgrounds with a short life (though I used USB 2, I would suggest using USB 3). Please note that most of the boot manager entries were created by Windows installs, or updated with install disk Startup Repair. The Windows BCDedit tool is almost incomprehensible for creating these. Visual BCD Editor was used to see what changes were being put in the boot manager database, and a command line execution of BCDedit was used to dump off the contents.

I don't know yet what other software can be installed or booted from VHD on external USB drives. But, we can find out.

Questions? Comments? Maybe this is already old hat for some but it was an interesting and fun exercise for me.

That would be a fair expectation. Also, running the drive via eSata connection would also be an improvement.

Note the OS installed at this location: Win8 RP. This is not expected to be a production (normal use) environment. As it stands right now, it runs fine but doesn't have any type of load on it. Given some type of load, considering that my normal use of the computer only runs at 30% memory utilization (of 3 gig) and near zero percent CPU utilization (of two cores running at 2.1 ghz), this shouldn't be a problem. Others have different considerations and should plan accordingly.

It does provide an amazing base for cloning other systems, bringing them up on VHDs, and testing out multiple configurations, especially if one uses virtualization on the computer to run them concurrently. Of course, then memory and eventually CPU become problems. This was just an exercise in getting it to work without having to cram a bunch of disk space into the computer case.

And no, it doesn't run like a three legged dog in mud. I will move it to a better environment when the time comes to put up Win8 (the production release). But that Win8 will start here and if something fails, I will toss the VHD and try again. For someone that doesnt want to mess up their internal hard drive configuration, this is a good way to check out new software beore making that last big move. More than likely, when the time comes, you should be able to copy the contents of the VHD to a real internal hard disk partition, rebuild the BSD to reflect the changes, and boot that partition.

Well, if it is not fast enough for you, then don't use it. You suggested a faster alternative (USB 3; I agreed) and I suggested one (eSata). In any case, if something developed on VHD using external disk works out, the result could be replicated to an internal disk with better performance capabilities. I may try that at some time.

I have a brief update on booting from VHD mounted on an external hard drive...

I took the Win8RP.vhd file and copied it to a different external hard drive. After that, Visual BCD Editor was used to update the boot manager database with the new drive location. I then booted and selected Win8RP from the selection list.

Success! The only change was pointing to the new location (was K:, now J: ) for device and osdevice. I did have to allocate a pagefile as booting Win8RP from a VHD seems to present a problem for the booted OS as it won't create a pagefile on the remapped C: drive. This was adjusted to point to a real partition on a real internal disk.

As mentioned earlier, USB2 connection is probably not the best and this is not the intended use. If used productively from an external drive, USB3 or eSata should be considered (1394 possibly but I doubt it - deprecated technology).

When I get to Windows 8 production (if?), the install will be on an internal drive but it will still use a VHD. This will be cloned for recovery purposes. In the case of my test, I simply copied the *.vhd file (no fancy cloning or backup/recovery or imaging software needed). However, the primary boot partition probably cannot be a VHD.

Sounds good, I'm just running a couple VMs on an SSD hooked externally via USB 3 (more internally) and jeez, they are fast. I can't really tell the difference from the real thing most of the time.

I know a VM on USB 2 would be completely unacceptable/unuseable so maybe there are some benefits to an external VHD on a more limited bus if you find it acceptable for testing at least.

I'll be sticking with my VMs though since I can run two or more OSes simultaneously on my more capable systems and the duplication process is even easier; its just a straightforward copy to the new location or to replace a damaged VM, and fire it up.