BCD on another disk

Is it possible with EasyBCD to modify a BCD residing on another disk (without disturbing the BCD on the active disk) ?
I want to be sure before changing anything and eventually getting into trouble.

I cloned my Win10-partition to a SSD but can't boot into it because the (cloned) BCD on the SSD is still referring to the Win10-partition on the HDD.

Both HDD & SSD are MBR

Booting into the Win10-DVD for repair doesn't work: says cannot repair.

I use an non-Windows boot-manager which hides non active bootable partitions, meaning that the used bootable partition always is Drive C.
So the Win10 on the SSD will be Drive C when launched

I should find a way to modify the UID specified in the BCD.
 
Last edited:
The disk letter given to the OS is set at installation time and recorded in the registry of the created system.
It's not influenced in any way by the boot manager.
You can boot multiple systems as C from the standard Windows bootmgr.
It doesn't matter that when you boot one, it refers to the other(s) as something other than C.
Disk letters are not "real". They only exist in the mind (registry map) of the running system and since it can only have one device for each letter in its map, it assigns other letters to every device and that includes partitions containing other OSs.
However, when they are booted, they have their own registry, hence their own map, so they will call themselves C and give the previously booted "C" some other letter.
None of those letters exists in the BCD, only displayed translations by EasyBCD of UID hashes into letters for your convenience.
In your situation, all that should be needed is to boot the Windows DVD to "repair startup" (three times)
I suspect that the 3rd party boot manager you're using is preventing the repair.
If you get rid of that, all you need to do to "hide" alternative OSs you don't want accessed, is to remove their disk letters using Disk Management.
Explorer doesn't display any drive without a letter, hence it can neither been seen nor accessed.

In answer to your opening question
EasyBCD > File > Select BCD Store will operate on any BCD you navigate to, but I don't know whether that will solve your problem.
You don't edit UIDs directly. EasyBCD does that through the aforementioned registry lookup. You just give it the appropriate disk letter and it finds the UID from the map.
Does your 3rd party manager even use the BCD ? It's an MS bootmgr file.
 
All Windows installations are installed as drive C (at installation time all other bootable partitions are hidden).
That always worked fine.

Meaning the cloned partition is cloned as drive C too.
But .... when I boot the Cloned Windows partition on the SSD, after the Windows-startup logo it continues with the Original Windows partition on the HDD.

In Windows XP times that indicated a wrong disk/partition specification in the boot.ini : multi(0)disk(0)rdisk(0)partition(1)
Correcting that in the boot.ini solved the problem. So I'm assuming something like that is now stored in the BCD

My boot manager does not USE the BCD, it sets the selected instance as bootable and gives control to it and starts the normal boot-process on that partition. In this case Windows (and its bootmgr).
 
What do the Disk Management flags say is "boot" when you try to boot the SSD ?

Disk Management flags have the following meanings

"boot" = "this is the system you're running"
"system" = "this is where I found the boot files for the currently running system"
"active" (on the first HDD in the BIOS boot sequence) = "this is where I started the search for the boot files"
"active" (on subsequent HDDs in the BIOS boot sequence) ="this is where I will look if I don't find something in the MBR on the first HDD"
 
It's not the first time I use multiple OSes on one system. Actually I have 10 of them which are all perfectly booting.

The only question I have is, how is the equivalent of "boot.ini : multi(0)disk(0)rdisk(0)partition(1) " stored in the BCD, and how can I edit / modify it in any BCD.
 
Is there really no-one who knows which BCD Object/Element contains the disk/partition numbers (not drive-letter) as this was in the "example boot.ini : multi(0)disk(0)rdisk(0)partition(1)" ?

My original W10 on the HDD is the 3rd partition. On the SSD-clone it's the 1st partition.
So I must be able to change in the BCD the disk(n)-equivalent and the partition(n)-equivalent, as I have done for years in the boot.ini.
 
The BCD is not a text file like boot.ini was for NTLDR. You cannot simply open it and change something.
You can either use MS command line tool
BCDEdit Command-Line Options
or a GUI interface like EasyBCD.
The disk/partition number you speak of is the UID and it's mapped from the registry into the Explorer displayed letter, so that you don't need to type out the unintelligible string to EasyBCD, It will map the letter you give it to the UID for you.
Forget your many years of multibooting with NTLDR, there's no resemblance to the way bootmgr has worked since Vista.
 
The BCD is not a text file like boot.ini was for NTLDR. You cannot simply open it and change something.
Not a text file, is the reason why I'm asking.
Forget your many years of multibooting with NTLDR, there's no resemblance to the way bootmgr has worked since Vista.
I know that, but it's first time I ran into a situation where I need to tweak a setting. Maybe there is "no resemblance" technically, logically the same should be there, confirmed by the tests I did and gave similar results. I'm trying to understand how things are setup now.
The disk/partition number you speak of is the UID and it's mapped from the registry into the Explorer displayed letter, so that you don't need to type out the unintelligible string to EasyBCD, It will map the letter you give it to the UID for you.

That worries me. Correct me if I'm wrong :

HDD-Windows10 booted
1.1) HDD Partition 3 used as Windows10 boot partition , has let's say UID_01_03 in the registry, and is Drive-Letter C
1.2) SDD Partition 1 , has let's say UID_02_01 in the registry, and is Drive-Letter G
1.3) SDD Partition 1 contains cloned HDD Partition 3, containing also the registry with the same UID's
1.4) Assuming I open the BCD (on SDD Partition 1) with EasyBCD, and replace everything (ApplicationDevice/OSDevice/SdiDevice/ ...... others ??? ....) referring to Drive-Letter-C by Drive-Letter-G

SDD-Windows10 booted
2.1) This SDD Partition 1 is now Drive-Letter C (managed by third-party boot-manager)
2.2) Will the change done in 1.4 allow now to run Windows10 completely from SDD Partition 1 ?
 
The disk letters are irrelevant. They'll change for any given device depending on which OS is looking at it (which registry map is in use on the booted system). The UID however is fixed, being a physical description of the device's unique signature combined with the position on the device of the partition.
The cloned device will have incorrect BCD entries (because they still describe the UID of the source, not its new location).
When you delete the old incorrect BCD entry and add it again, The registry map on the running OS will see the new device's UID and map it to a letter (doesn't matter what it is) You specify that letter and EasyBCD corrects the BCD entry to the new UID.
It doesn't matter when you boot a different system. That UID still describes the actual device you pointed to with the irrelevant disk letter of the other system. The new OS might well map that UID with a completely different letter but it's still the correct device.

It's analogous to viewing The german word "Herr" from an English PC which translates it for you as Mister, then switching to a French PC which will call exactly the same thing by the different name Monsieur.

They're all in total agreement, just using different translations; a dictionary in one case, HKLM>System>CCS>Mounted Devices in the other.
 
Back
Top