Valid BCD Registry not Detected

#1
I have created a triple-boot scenerio using BCDEDIT (Vista, XP, Win PE) that works fine -- I can boot any of the three. Partition 1 contains the \boot files and bootmgr as well as Win PE. Partition 2 contains XP and partition 3 contains Vista.

I'd like to now use EasyBCD to maintain my system. But when I launch it, I get the error in the title, with "EasyBCD has detected that your BCD boot data and MBR are either not from the latest version of Windows Vista, or don't yet exist."

I get a similar result using version 2.0 Beta, which complains that it can't find the BCD.

Note that when I boot Vista or XP, the OS is in C: and my boot partition is enumerated as D:, as I expect and desire.

Can anyone tell me what EasyBCD is looking for that I have not provided? Following is the output of bcdedit /enum when run it from my Vista boot:


Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=D:
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {8e5708d9-1ad6-11dd-b09f-e105a8897c2e}
displayorder {current}
{ntldr}
{9cfdadf7-079c-11dd-92c8-00112fe10a7a}
toolsdisplayorder {memdiag}
timeout 15
resume No

Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.exe
description Windows Vista
locale en-US
inherit {bootloadersettings}
osdevice partition=C:
systemroot \Windows
resumeobject {8e5708d9-1ad6-11dd-b09f-e105a8897c2e}
nx OptIn

Windows Legacy OS Loader
------------------------
identifier {ntldr}
device partition=D:
path \ntldr
description Windows XP

Windows Boot Loader
-------------------
identifier {9cfdadf7-079c-11dd-92c8-00112fe10a7a}

Thanks.
 

Terry60

Knows where his towel is.
Staff member
#2
Hi nospam, welcome to NST.
My guess is that this might be something to do with the "active" flag.
I have a partition where I keep my boot manager (grub) which chains my other systems, and I can no longer use EasyBCD from Vista, because it looks for the BCD in the "active" partition, which is not where it's located due to my unconventional boot setup. (My "system" moves with "boot" I.e. each system independently contains its own boot files and therefore is marked as "system" in disk management whenever it's running (the meaning of the "boot" flag))
The "active" flag however never points to any of the OSs but always to the small partition containing only grub.
Post a disk management screenshot and we'll take a look.

btw. I can workaround the problem by temporarily resetting Vista "active" to run EasyBCD, then setting it back.
 
#3
Solution Found

Terry, thanks for your prompt reply.

I have solved my own problem. It was kind of subtle, so I'll post the solution in some detail in hopes it helps someone else.

The issue was how I originally set up the BCD, using BCDEDIT while booted into WinPE on a ramdisk (i.e. booted from a CD).

The results were:

1. I had a small "boot" primary active partition (called a "system" partition by Microsoft) containing \boot and bootmgr. It also contained a bootable WinPE.

2. I had a second primary partition containing Windows XP.

3. I had a third logical partition containing Windows Vista.

4. I could boot any of the three OSs via the bootmgr, just the way I wanted.

5. BUT EasyBCD did not like my BCD. Launching it resulted in this error:

"Valid BCD Registry not Detected"

"EasyBCD has detected that your BCD boot data and MBR are either not from the latest version of Windows Vista, or don't yet exist.

If you'd like EasyBCD to correct these issues, press OK. This will modify the MBR and requires that you have Windows Vista installed on this machine."

6. AND, BCDEDIT wasn't too thrilled with my BCD either. In general, I could run commands against it, but "bcdedit /export" or "bcdedit /enum" would fail with:

"The boot configuration store could not be opened. The volume for a file has been externally altered so that the opened file is no longer valid."

Strangely, "bcdedit /store X:\boot\bcd /enum" worked fine, and as mentioned above, I had the bootmgr menu and control I desired.

So as far as I was concerned, I had a working, if not valid, BCD store. Maybe the error messages above are descriptive to someone else, but they weren't helpful to this novice. Googling these messages resulted in few hits, and none of them were helpful.

I had set the BCD up starting with the following commands (T: represents the drive letter for the target 'boot' partition):

bcdedit -createstore T:\boot\bcd
bcdedit -store T:\boot\bcd -create {bootmgr} /d "Boot Manager"
bcdedit -store T:\boot\bcd -set {bootmgr} device boot
bcdedit -store T:\boot\bcd -create /d "WinPE" -application osloader

... followed by other commands to operate on -store T:\boot\bcd.

The solution was to instead use these commands:

bcdedit -createstore T:\boot\bcd.tmp
bcdedit -store T:\boot\bcd.tmp -create {bootmgr} /d "Boot Manager"
bcdedit -store T:\boot\bcd.tmp -set {bootmgr} device boot
bcdedit -store T:\boot\bcd.tmp -create /d "WinPE" -application osloader
bcdedit -import T:\boot.bcd.tmp

... followed by the other commands to operate on -store T:\boot\bcd.

Using the latter commands, I can install and run EasyBCD in the Windows XP or Windows Vista partitions, and can run "bcdedit /export" without the error mentioned above.

Although I had seen references to using "/import" on the web, I had falsely concluded that I didn't need to do this since I was starting with a blank disk and BCDEDIT indicated successful completion of each command.

Hope this helps someone else. If there is interest, and it's appropriate for this forum, I could post the entire set of DISKPART and BCDEDIT commands required to set up the configuration mentioned above.
 

Terry60

Knows where his towel is.
Staff member
#4
We're always happy to have people's experience and any information that adds to the sum-total of dual-boot knowledge posted here.

You can see though, why Guru wrote EasyBCD. BCDedit's not the easiest thing in the world to get to grips with.