Crossed BCD's

#1
I've cloned my Vista install over to a new drive along with XP that was on a separate drive. The previous setup was multibooting OK. That setup had XP on an EIDE drive and Vista and Win7Beta on a 500G SATA drive.
I've copied all three (cloned XP partition, then copied Vista and Win7 partitions) OSs over to a larger 750G drive.

Now it seems I have a BCD chain between my new boot drive and the BCD on the old vista partition.
Here is how my drives are configured now: (see the attachment: this view is from vista, should be the one on the 750 drive but is crossed with the old one on the 500 drive ) As you can see 500-d2-p1 is the C: Drive where I should have gotten 750-d0-p2 to be the C: drive instead of F:

The 750 Drive is the new one. The 500 is the old one.
In this scenario I booted from the 750 using the BCD in the XP partition (750-d0-p1). AT least I think that is what I'm doing. Here is the BCD from that partition
Code:
C:\Windows>bcdedit /store d:\boot\bcd

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  boot
path                    \bootmgr
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
resumeobject            {ca0a4ae4-4990-11de-954c-8c3c1ef28d04}
displayorder            {default}
                        {ca0a4af3-4990-11de-954c-8c3c1ef28d04}
                        {ca0a4af0-4990-11de-954c-8c3c1ef28d04}
                        {ca0a4aef-4990-11de-954c-8c3c1ef28d04}
                        {ca0a4aec-4990-11de-954c-8c3c1ef28d04}
toolsdisplayorder       {memdiag}
timeout                 10

Real-mode Boot Sector
---------------------
identifier              {default}
device                  partition=D:
path                    \NTLDR
description             Microsoft Windows XP (750-d0-p1)

Windows Boot Loader
-------------------
identifier              {ca0a4af3-4990-11de-954c-8c3c1ef28d04}
device                  partition=F:
path                    \Windows\system32\winload.exe
description             Microsoft Windows Vista (750-d0-p2)
osdevice                partition=F:
systemroot              \Windows
resumeobject            {9a24e232-9123-11de-9e4e-806e6f6e6963}

Windows Boot Loader
-------------------
identifier              {ca0a4af0-4990-11de-954c-8c3c1ef28d04}
device                  partition=G:
path                    \Windows\system32\winload.exe
description             Win7 (750-d0-p3)
osdevice                partition=G:
systemroot              \Windows
resumeobject            {f3e291bd-8a8c-11de-8cad-806e6f6e6963}

Windows Boot Loader
-------------------
identifier              {ca0a4aef-4990-11de-954c-8c3c1ef28d04}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Vista Business (500-d2-p1)
osdevice                partition=C:
systemroot              \Windows
resumeobject            {3a6aea8b-893e-11de-987e-806e6f6e6963}

Windows Boot Loader
-------------------
identifier              {ca0a4aec-4990-11de-954c-8c3c1ef28d04}
device                  partition=X:
path                    \Windows\system32\winload.exe
description             Microsoft Windows 7 Beta (500-damaged by Part Magic)
osdevice                partition=X:
systemroot              \Windows
resumeobject            {5f363bb1-8934-11de-b065-806e6f6e6963}
So I'm booting the OS on what is now called F: (750-d0-p2), but there is a BCD on that partition. That partition is a copy of the 500-d2-p1.
Looking at the BCD on drive F: I find:
Code:
C:\Windows>bcdedit /store f:\boot\bcd

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  unknown
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
displayorder            {default}
                        {73929d9e-eb4f-11dd-8170-cbe9b3654e4a}
toolsdisplayorder       {memdiag}
timeout                 5

Windows Boot Loader
-------------------
identifier              {default}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows Vista 500
locale                  en-US
inherit                 {bootloadersettings}
osdevice                partition=C:
systemroot              \Windows
resumeobject            {e8709fb7-fa5f-11db-be4d-e219ece5282e}
nx                      OptOut

Real-mode Boot Sector
---------------------
identifier              {73929d9e-eb4f-11dd-8170-cbe9b3654e4a}
device                  unknown
path                    \NTLDR
description             Microsoft Windows XP 250
The DEFAULT is pointing to the Vista Partition on the original 500 drive. (makes snse I guess since that is where this image came from)

Question:
What is the best way to reset the BCD on F: (750-d0-p2) so that the default is looking at itself instead of the 500 drive?
Would this be the best way to break this chain that leads me to the wrong drive?
Is there a better way to think about this?


Thanks or your support and help in this forum and for some neat tools.

 

Attachments

Terry60

Knows where his towel is.
Staff member
#2
When you clone Vista, it'll contain cloned UIDs from the previous system (the BCD doesn't dynamically set disks from the BIOS like in XP boot.ini, it uses the disk ID)
If you boot your Vista DVD, and "repair your computer" / "startup repair" 3 times on the cloned system it will establish the correct ids for the new disk.
 

Terry60

Knows where his towel is.
Staff member
#4
The repair only fixes one thing per pass. 3 times generally does it depending on how much needs to be fixed. You might get away with fewer. Just keep going till the OS boots unaided.
 
#5
Well the 3 times fixed some things but C:\ was still pointing to the 500 drive.
I disconnected the 500 drive. Booted to the 750 Vista. Desktop was empty as expected.
Regedit:
Deleted the C: device in Dos Devices.
Renamed the F: device to C:
Reboot.

Now it seems to be all good.

I had tried each of these things alone in the past. The Trick I guess was doing both of them. Geting BCD to be pointing to the correct drive AND fixing the drive letter assignments.

Thanks
 

Terry60

Knows where his towel is.
Staff member
#6
Glad you're OK now.