installed BCD on XP?

#1
This was the title of a thread in 2008 - http://neosmart.net/forums/showthread.php?t=2663&page=1 and it seems I did something similar while trying to fix Win 7 with EasyBCD. If I set the Win 7 drive first in boot order, the XP drive doesn't show at startup. But if I set the XP drive first, it apparently shows as "Windows 7" and then returns an error page when chosen. The error is "Boot Config Data file does not contain a valid OS entry" and then a file is listed, either "\Boot\BCD" or "Windows\System32\winload.exe." I assumed that referred to the XP drive, but I couldn't find a winload.exe file in the drive or its backup. I tried XP's Recovery Console, but it stopped right away with the message that XP couldn't find any hard drives installed. What do you suggest next? Btw, before doing this I made a clone of the XP drive partition (EaseUS Partition Master), if it would be of any help in solving this.

I was using EasyBCD because my Win 7 drive wouldn't boot without the XP drive connected and listed first in the BIOS' boot order; System Repair and bootrec.exe and Diskpart hadn't solved it. After using EasyBCD, I tried Win 7's System Repair again and it fixed the problem. That drive can now boot with or without the other HDDs. So now I just have to fix the XP problem.

P.S. Note: This post entry box and the icons above it don't show in Opera browser when starting a new thread (I switched to IE9). Strangely, the box/icons only show correctly when editing, although the last icon, Spell Check, doesn't show then either. With a new thread, the box/icons start to load then disappear. Screenshot attached.

Thanks,
 

Attachments

Last edited:

Terry60

Knows where his towel is.
Staff member
#2
Sounds like W7 originally installed its boot files with XP and autmatically dual-booted it (default if it sees a "system" partition already exists) and now you've managed to create a new BCD on W7. The problem is that the new one doesn't contain an XP entry yet.
Just add one (auto-configure) and you should be fine.

(there are several inconsistencies between webkit and non-webkit browser engines since the forum was upgraded to the latest vBulletin release.)
 
Last edited:
#3
...you've managed to create a new BCD on W7. The problem is that the new one doesn't contain an XP entry yet.

Just add one (auto-configure) and you should be fine.
I wasn't sure what you were suggesting and didn't get anywhere with Bcdedit and its options. Then, coming back to EasyBCD later...

Ok, it looks like things are mostly solved. Looking at EasyBCD again what I've discovered is that 1) the second Windows 7 I've been seeing in start up is really the clone I put on another drive, not XP renamed; the clone presumably doesn't have a BCD, which is why it returns an error and doesn't fix with System Repair; and 2) I tried "Add New Entry" to see it would find the XP drive and it did! I can now boot to that (ahh...). What clued me in on the second Win 7 explanation is that now if I pick XP at startup, there are two choices, the original and its clone on another HDD; only the first will boot, since the other presumably doesn't have an MBR. Is there any problem with that clone getting an MBR? That would allow me to delete the current XP/C partition and make it easier to pass to Win 7's SSD.

Update 2: Question: How can both the Win7 and XP drives show as I: dirve in EasyBCD, while in Windows they show and boot to I and C, respectively? I was playing with drive letters and ended up with three Win 7's and one XP. I reverted and got rid of the extra Win 7's, but XP wouldn't boot until I deleted the existing C: entry and added a new entry, which found XP in I. I tried changing it to C, but again it wouldn't boot until it went back to I. Here's what it looks like in EasyBCD and Windows Explorer:
EasyBCD boot with two same letter drives.jpg Opera email hard drives.jpg


(Where are suggestions made about EasyBCD's interface? When there are multiple identical entries, as I ran into, it's difficult to figure out which is which in the Edit Boot Menu screen. I assumed that they were in the same order as the View Settings window, but that didn't seem to be the case. Whether it is or not, having some identifying info in the Edit Boot Menu screen that correlates with the View Settings screen would make it easier to use.)
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#4
Multiple Vista/7 entries are not identical.
Multiple legacy entries are not possible under standard MS architecture.
Multiple XPs are booted via a second (NTLDR) boot menu which is found by a single XP entry in the BCD.
That entry does not point to XP, it points to the files on the boot drive which will locate XP.
A custom NST loader can make multiple XPs available in the BCD.
Read this for details.
Remember, there are no disk letters in the BCD. EasyBCD is translating the unintelligible UID information which contains the partition location into a letter for your convenience. That letter will therefore be what the running system sees.
Look at the same BCD from another booted OS and the letters will all appear to change. That's because disk letters are virtual labels which do not exist in the real world, just in the registry of the running OS.
 
#5
I get your point, and thanks for that link. What I don't understand is why the XP designation would be C: in one EasyBCD search, and then a short time later, after changing drive letters and back, during which XP was never designated as I:, it would now show XP as I drive. Confusing to the user. Is there a way to change the file content itself to get it back to showing as C?
 

Terry60

Knows where his towel is.
Staff member
#6
XP is not I:
The location of the boot files is on W7.
When you run Easy on XP, XP sees W7 as I: so Easy reports "boot" as being I: and hence all the boot file references are also I:
Run Easy on W7 and all those references will be C:
The BCD does not point to XP. It points to the XP boot files, which are what points to XP. The boot files are on "system" where they must be.
 
#7
Terry, I got the message that the XP boot files are *now* on W7, but that wasn't my question about that. I'd accept the idea that when Win 7 boot problem got worked out the XP boot files ended up there, but that doesn't jibe with the fact that at that point the XP drive still showed as "C" in Easy. But let's leave all that aside now.

I take it by your last two lines that there's no way - or no need - to change the XP "I" except by running Easy on W7 (how?), which would make both W7 and XP identify as C. I assume that would not change anything in terms of the operative drive letters. There's no point in doing that.

Question: Can a clone of the XP drive on another HDD's partition be given an MBR and made bootable? If so, maybe I could get rid of the XP C partition and maybe re-designate the Win 7 drive as C.
 

Terry60

Knows where his towel is.
Staff member
#8
Forget the letters. They don't matter. When you turn your PC off they don't exist.
There are no letters in the BCD.
The BCD never pointed to XP on C. IT pointed to the copies of the XP boot files on W7.
When you run Easy on the other OS, nothing in the BCD is different.
The apparent change of letters is because letters don't exist in the real world, only in the mind of the running system.
Different OS, different registry, different letter map. Still the same hardware.
 
#9
Drive letters exist in what I'm seeing on my computer screen and functionally how I'm able to use my computer. That's why I'd appreciate if you'd my question, if you happen to know the answer.
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#10
The letter which an installed Windows gives itself will be C when installed from a booted CD/DVD when no other Windows installations are visible.
If other Windows can be seen, Vista/7 will still call themselves C, but XP picks D (in my experience).
When you run another install from inside a running Windows, it will call itself by the first unused letter in the running system.
Once the letter has been chosen at installation, it's set in stone.
There's no way Windows itself will let you change it.
If you alter it in the registry, you break the system because of all the other thousand registry dependencies on that initial letter.
I believe you might be able to buy 3rd party software which will change it and all the dependencies, but I have not done so.
The best way to get a specific scheme of letters, consistent across all systems, is by careful pre-planning of the order and method of installation, and by ensuring that you manually set all your other device letters in Disk Management as the first task after installation of each OS, before installing any apps.
 
Last edited: