Recently, some teammates and I received new hardware as part of a refresh program. It was like Christmas time! The first thing that I did was to install Vista on the built-in hard drive, and start living the high life with Vista and Office 2007!
One of the many beauties of this new setup was that my laptop has a removable drive slot, and Kevin Hammond, a DPE teammate who orchestrated our purchase, had included an extra hard drive in our team purchase to complement the removable DVD drive. Recently, I needed to boot to Windows XP for a mobility lab that I was preparing to teach, and this second drive scenario met my temporary need for XP perfectly. I connected my external DVD drive to the laptop, booted on a Windows XP SP2 disc from my MSDN subscription, and installed the legacy O/S onto my secondary drive. Everything worked fine - after loading a few drivers from the Dell website.
But then I noticed, I couldn't boot to Vista anymore. And I didn't even get a multiboot menu like I thought I would get. I remember that this used to work - oh, wait - that's was way back when in WinXP days. What's going on here?
After some searching, I found several places that mention that Vista has a new updated mechanism for booting which is very different that Windows XP. And when installing an older OS (like WinXP), it overrides the Vista boot engine (my term, I could have gone into the BCD topic) and thus booting to Vista is gone. Here is an excerpt from one of the KB's: When you install an earlier version of the Windows operating system on a Windows Vista-based computer, Setup overwrites everything from the MBR, the boot sector, and the boot files. Therefore, the earlier version the Windows operating system loses forward compatibility with Windows Vista.
There are several places on the Internet that explain how to correct this, but some of the instructions are a little cryptic. Another one of my DPE teammates, Dave Schmitt, points to a KB919529 which discusses how to use some utilities to work through the situation - wish that I had it when I was working through the problem. I went another route because my earlier findings didn't match with what I was experiencing with bcdedit. I happened to find VistaBootPRO, a graphical utility (written in .NET) as opposed to using the command utilities provided by WinXP and Vista, and this did the trick for me. It put the Vista boot engine back in charge, enabled mutliboot, and provided an easy way to add an entry for Windows XP into the BCD.