Cannot figure out how to get BCD to work on separate hard drive installs

hannedog

Member
Having the system boot directly to Vista unless you hit a button and have that bring up a boot loader menu controlled by BCD is not a common setup. It is not even something that was thought of.

Well, actually, that's not the setup I have (although that would be even better if it were possible). The way it works now (and it does work now, as it did before) is that when I boot the XP drive first in the BIOS, there is a BCD menu, and when I boot from the Vista drive first, there isn't. Both drives use BCD. All this requires is there to be a separate BCD store on each drive, with the MBR of each drive pointing to its own bootmgr. This does work natively (without EasyBCD), and in the future I probably wouldn't have a need for easyBCD.

I had EasyBCD working across 3 different hard drives with no issues.

While that may be true for you, that doesn't mean it "doesn't have any issues." Anyone who knows anything about program development knows that just because it works for input set x doesn't mean it works for all input sets. Regardless of whether or not BCD was designed to be put on separate drives (and I DO believe the developers of BCD designed it with enough modularity in mind so that this would work fine... as evidenced by how my setup was working fine beforehand), the fact is that a couple elements of the EasyBCD program (not the BCD system itself) seem to have unexpected behavior when dealing with my setup. These issues, once resolved, are no longer imporant -- but they're still issues nonetheless.

The first of these issues was the inability of EasyBCD to 'save' the B: drive letter to a different drive unless it was above the C: drive in the drive ordering. This has absolutely nothing to do with BCD, nor with my "unique" setup -- it's an EasyBCD bug.

The second issue seemed to be more of a GUI issue than anything. Switching back and forth between drives in the "Change Settings" button of EasyBCD will eventually cause EasyBCD to innaccurately display the drive letters assigned to an OS, even though nothing has been changed or save (if you leave the button and come back, it's normal again). It's a small, perhaps insignificant bug, but a bug nonetheless.

And finally, the most important issue: Either 1) this guide (http://neosmart.net/blog/2007/how-to-install-the-vista-bootloader-on-a-windows-xp-machine/) wasn't correctly written, or 2) there's a bug with EasyBCD. The bootmgr wasn't put on my XP disk, which would have been necessary to do the things I wanted (which said could be done in the guide). There's absolutely no reason why the bootmgr shouldn't have been placed on my XP disk after following the guide.

If you take the stance "well these are small issues for an unsupported method," I don't buy that because the description for EasyBCD says that it can do "just about anything" -- having shaky behavior when dealing with separate BCD stores on separate hard drives to me doesn't seem like "just about anything."

Remember, there aren't supposed to be 2 BCDs.

I'd like to see some citation in this regard, because I don't know if I fully believe that statement. The fact of the matter is this: there were two BCDs working perfectly fine and normally, without ANY BCDedit or EasyBCD. To me, that would suggest that 2 or more BCD's can coexist perfectly normally, and that it was in fact a tested aspect. It's just that if you want to edit things with this setup, it's going to be confusing unless you get a good theoretical background of what is really going on.

Addendum:

Well technically there could be two bcds on each hard disk, but Terry is right. Why would you want Vista's bootmgr anyway on a drive that only boots XP? NTLDR is what is needed to do it, so really its just adding to the complexity of what you want to accomplish. Vista's bootmgr is perfect for Vista's drive (Which is probably already working) since it is appropriate for Vista and you can easily chainload NTLDR from XP's drive to start XP.

In a previous post in this thread I recommended making Vista's drive first in the boot sequence. I really think you need to go ahead and do that, see if Vista well boot, and go from there at this point.

Justin, I don't think you're really quite following what's going on in this thread. First of all, as I mentioned at the beginning several posts ago, I have everything working the way I want it now. Secondly, I don't think you ever understood what it was that I wanted. I'll copy and paste what it is again, since I can't make it any clearer: " two BIOS boot options: 1) Direct Boot into Vista, and 2) Boot menu to choose between Vista and XP."

The only way this can effectively be accomplished is by the method I outlined in my post. I acheived this, by putting BCD on the XP drive and putting a boot menu there, and having a different BCD store on the Vista drive which only pointed to XP. The reason why this setup could ONLY work this way is because the ntldr can't point to Vista. If I put the boot menu on the Vista drive, then there would be no way I could direct-boot into vista when booting from the XP drive (unless, of course, I put BCD on the XP drive... which is what I did).
 
Last edited:

hannedog

Member
While I said it was possible, it doesn't mean it was meant to be that way.

While I may agree that it might not be the "recommended" way, I would disagree to go so far as to say "it wasn't meant to be that way." Read my earlier post, where I described how this worked simply through installing OSs in the correct order (no BCDedit nor EasyBCD).
 

Terry60

Telephone Sanitizer (2nd Class)
Staff member
If you install two Vistas on 2 HDDs, with each one connected alone, and the other invisible, you will of course get 2 BCDs, and you can subsequently manipulate them to dual boot, as you know from your experience.
My statement that it's not the way MS intended it to be used, is based purely on what happens when you create multiple Vistas without making them invisible to each other. The second and subsequent installs will all automatically be added to the first BCD, and no bootfiles will be placed on the later systems.
MS could have put BCDs on all the systems and chained them if they'd wanted to do it that way, but they didn't.
As you know, just about anything can be made to work if you try hard enough.
I haven't seen the EasyBCD bugs you mention, but few of us have seen Easy trying to manipulate twin BCDs so maybe that's the reason. Why don't you copy/paste that bit of your post into the "Bug Central" forum for Guru to evaluate.
 

hannedog

Member
My statement that it's not the way MS intended it to be used, is based purely on what happens when you create multiple Vistas without making them invisible to each other. The second and subsequent installs will all automatically be added to the first BCD, and no bootfiles will be placed on the later systems.


Yeah, I mean, it makes sense to have a single BCD as opposed to multiple, especially on a single drive, because it just streamlines central management and makes things simpler. I'll go with you on the idea that it's the recommended default action. But MS also could have gone so far with the idea that they made a simplification that would've made multiple BCDs purely incompatible with each other, which they obviously didn't do. So, I'll agree that a single BCD is what's "recommended," but, that doesn't mean multiple BCD's are going to require some serious modifications.

I'll make a bug post then.

Thanks guys for at least bouncing off ideas; at least I got this figured out.
 

mqudsi

Mostly Harmless
Staff member
There are some technical complications involving multiple BCD registries on the same machine - namely when you are using non-absolute partition references (for instance "boot" instead of "C:") but they can be made to work.

However, it's our recommendation that you should only have one bootloader set up on the machine, boot from the same drive at all times, and let it handle all your OSes (regardless of their type/manufacturer) - that's the very reason I wrote EasyBCD :smile:
 
Top