I have posted this over at the "Windows Secrets Lounge", but maybe there is an expert hiding behind a plunger over here ...
I have a very unusual situation here, and there is no standard or easy or simple fix. So, I am hoping there is someone here with some extensive experience with Win7's BCD ... and I quickly admit to being a complete rookie in that department.
This all begins with Win98, Win2k and WinXP all being installed together on a single PATA drive in my 2.66 dual-core machine, and I am here now in that XP installation I have just mentioned.
After that initial triple-boot setup was complete and working, I next added a second PATA drive for backup and storage. Ultimately, I now have three drives in this machine and they are identical apart from the third drive being SATA.
I added my third drive here for Win7, and the fact that drive is SATA meant I had to go into WIN98's device manager and disable the SATA's controller there since Win98 had no driver for it ... and all was well at that point: XP had set up a standard multi-boot menu for itself and 98 and 2k, then Win7 had added that option from XP to its BCD and I could boot into any OS on whichever drive.
Not to be overly dramatic here, but ...
Enter: Linux Debian 5.
Some months ago, I had installed Linux Mint 8 behind Win7, then used NeoSmart's "EasyBCD" to add a Mint selection to Win7's BCD. That worked perfectly. I had told Mint to write its boot info and GRUB loader to its own partition right there where it was, and that is where I later told EasyBCD to find that info and loader to add into the overall mix, as just mentioned.
Since that time, Mint has come out of my machine and I have installed Debian 5 (lenny) in its place on my third drive and behind Win7.
During my first couple of attempts at getting Debian installed, its installer could not get Debian's boot info and loader written while I had "GRUB" selected, and of course, I was telling it to only write to Debian's "/boot". Ultimately, I selected LiLo in place of GRUB ... and here is where even just explaining things becomes very complicated and difficult.
During the time Debian's installer was adding LiLo, I received a warning about something to be written to my MBR that would even increase its size. Quite hesitantly, I allowed that ... and the circumstantial evidence of Win98 now being able to see my third drive, a SATA, causes me to believe Debian has added SATA drivers to my MBR ...
... but that meant Win98 could no longer boot since the now-visible SATA drive had just been assigned "E" and Win98's partition had been bumped to being seen as "F".
A similar problem had come up when I had installed my second PATA drive some time back, but a re-installation of Win98 easily took care of that. So, I just did that again this time after my third drive had begun showing up for Win98 ...but things turned out much differently this time because of whatever things Debian has written to the beginnings of drives "0" and "2".
At the moment, XP's "boot.ini" is the only loader being seen by my BIOS/DOS (or whatever does that) at system startup. Win98's re-installation has overwritten whatever had been pointing to Win7's BCD.
Then, EasyBCD (running in XP on drive 0) *now* sees Win7 as being on drive 0 when it (Win7) is actually still right where it always was, on 2. So, I now believe I need to do these things:
1) Tell my BIOS/DOS to look at Win7's BCD on my third drive rather than at XP's "boot.ini" on 0
(Note: Win7's "repair startup" has already been run twice and cannot fix this problem because it thinks it is on drive 0, and it is not.)
2) Edit Win7's BCD so it points to Win7 right where it is in "R" rather than on the "C" presently being listed there.
3) possibly more
As an absolute last resort, Win7 will be removed from this machine and I will find a way to add Debian into some kind of loader since the SATA drivers for Win98 are, for me, priceless!