Help Multiple BCD's - unable to clone partition and boot onto it

AndrewNZ

Member
I appear to have made a real mess of things, and to make matters worse I have a disk that Win7 is reporting as about to fail.

In the past (Win98 and then WinXP days) I used Terabytes BootIT NG. I booted off a floppy and did everything in BootIT, worked very well. BootIT has sat in-active for several years now, my system consisted of:

HD0 (160GB) - 60GB running Vista, 8MB EMBR hosting BootIT and a couple of images of the Vista install sitting in the unallocated space.

Recently I added a second hard drive. I installed Plop boot manager as I could not get BootIT to fire up again, had no idea how to use Plol and the first time I picked one of its harddrive boot option it started BootIT. So I cloned the 60GB Vista install and copied onto HD1. Booted into it and it worked perfectly. I then deleted the original HD0 Vista and started running from HD1.

Next I booted off a Win7 dvd and installed it into the remaining space on HD1. Win7 created a 100MB BCD (?) partition at the start of the empty HD0.
I then installed EasyBCD and could boot between Vista and Win7 without any trouble.

Now the fun starts, HD1 could be failing so I think I'll clone Vista and Win7 back onto HD0 then format and chkdsk HD1.
I used MiniTools Partition Wizard to copy Win7 onto HD0 then added an entry using EasyBCD (Note the Win7 clone was shrunk down from 116GB to about 30GB). When I booted into the Win7 copy (the 30GB HD0 version) I ended up back in my standard HD1 116GB Win7, that is, my C drive was still the 116GB.

The status of the Win7 copy partition (D:smile: was Boot & Crash Dump, however the 116GB C: drive was still flagged as Active, and the 100MB BCD partition also flagged as Active.

Now I'm just lost. All I really need (if it comes down to it) is to retain the original Vista install. Everything else can be removed if necessary.

I assume 1 or all of the following to be contributing factors:

1. I may have BootIT still floating around somewhere, in the MBR maybe
2. The Plop Manager still seems to be active
3. I have a BCD integrated in with the Vista install (which has now been cloned from HD1 to HD0) as well as the dedicated BCD partition that Win7 created.

Just before I tried setting and un-setting active partitions with Partition Wizard before trying to boot the HD0 Vista copy, I unset the current Active partition and set the HD0 Vista clone as active and rebooted, instead of my 4 entry Boot Menu appearing (the one I've been maintaining with EasyBCD) I was presented with the just Vista & the Plop Boot Manager, that is, the multi-boot options I had before I installed Win7. Booting into the Vista option from here still landed me back on my 116GB HD2 Vista.

I realize I've gone on and on, and made this all very complicated, can anyone help me out?
 
No, if I understand correctly recovering the Vista BL from DVD (Vista or Win7 DVD, or is it the same?) will give me a clean start.

Should I then delete the dedicated BCD partition created by Win7 (100MB partition on HD0).
Or should I just re-create the boot menu in EasyBCD :smile:HD2Vista, HD2Win7, HD0Vista-clone & HD0Win7-clones) and try again?

When EasyBCD writes settings are they going to this 100MB dedicated partition installed at the start of HD0 by Win7?

I assume that the original Vista install (which did not create a dedicated partition) contains an 'integrated' BCD?
Is this conflicting with my Win7 100MB dedicated partition?
 
Disk Management "boot" = "this is the system you're running"
So you were successfully in the clone .
"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"

If you want to move the boot files off the failing HDD
Changing the Boot Partition - EasyBCD - NeoSmart Technologies Wiki
 
Thanks again Terry.

I think I know why I'm so confused, I have been reading various pages like the following: http://www.multibooters.co.uk/multiboot.html I now have a much better understanding of things. I then got down to the bit where they talk about "A Smarter IPL" it runs through all the benefits we would get, everything it lists is exactly what I'm used to from using BootIT and naively just expected from the Vista/Win7 BCD, quote from page linked above...

"You can image and clone individual Windows installs without having to worry about how they are connected to a system partition....

The lack of a system partition means that drive letters will no longer be jumbled and you won’t have a drive showing that you can’t remove or change the letter of. All Windows installs will see themselves as the C: drive and you can set your common data partition to whatever next letter you prefer. If you set this the same in each of your Windows then no matter which one you are booted into you will always know that Windows is C: and your data partition is D: or E: or whatever."

This is precisely what I'm expecting (trying to achieve). Perhaps I'm expecting too much of the BCD?? and should revert back to a dedicated MootManager/Loader that replaces (enhances) the MBR. I seem to recall BootIT using what it called an EMBR, pretty sure that stood for Enhanced MBR. Back in those days I just cloned partitions without thought, added them to the boot mean flagged the partition I wanted visible and booted in, the boot OS was always C: and everything just fell into place.

So am I expecting the impossible from BCD? If not, will it be overly complicated for me to get it working this way?
 
Terry, you're a legend, do you ever sleep?

I tend to try and keep things as simple as possible, however often want to squeeze a lot out of my set-up.

Initially I liked the fact the EasyBCD meant I was sticking with a Boot Management system that was already in place rather than introducing more complexity, then started to think I wanted it to do more than it was generally comfortable with so I was looking into Boot-Us.

If I have things straight now my plan of attack should be:

1. Perhaps I should start by recovering the Vista Bootloader with EasyBCD??
2. Set the original Vista Partiton as active and reboot (this will push me back through the Vista Partitions BCD which has Plop and Vista in it's menu).
3. Remove every other partition, the Vista-clone, Win7 and it's clone and perhaps even the dedicated 100MB Win7 created for BCD (unsure about this last bit).
4. At this point I could clone Vista over onto HD0, add it to he BootMenu and should be able to boot over to it as C: without any trouble.
5. Pre-create a partition for Win7, set it active and then boot off the Win7 dvd and install into this partition
#Should I let Win7 create it's 100MD BCD partition??
#I understand that the only way to prevent this is to ensure I have NO unallocated space on any hard drives before the Win7 install.
6. Now for the Win7 copy. If I prevented the 100MB BCD partition then copying the Win7 partition onto HD0 should be easy, when I add it to the Boot Menu and boot it it will take on drive letter C: and not mix-and-match with the original Win7 partition.
#If I did let Win7 create a BCD partition, do I copy it with each copy of Win7??

So... if I have done everything correctly I should be able to hide the other OS partition from each of the ones I log into. And simple pick the one I want from the Boot Menu. It'll fire up as C:\ completely self-contained.
 
I think you've got the hang of it.
There's only one reason I know to let let W7 do its "hide the boot files" stuff, and that's if you intend to encrypt the OS partition with bitlocker. That keeps the boot files outside the encrypted box and ensures that the OS will still boot. Strangely MS have made this the default behaviour even for those flavours of W7 which don't include bitlocker, but I can't think of any other reason why you'd want the inconvenience.
If you do contrive to make each OS keep hold of its own boot files, remember that cloning any Vista/7/8 OS to another partition will "break" the BCD. BCD maps its entries using UID, a combination of the disk signature and the partition's first block address, so the cloned BCD will be describing the location of the original, not the clone. That's easily fixed by multiple "startup repairs" from the DVD, as long as you are careful to set the active flag to the one you want to repair. There's always a risk of unintended consequences when you have multiple BCDs lying about if you end up messing about in the wrong one.
That's why the default MS behaviour is to add all subsequent installs into the original "system" files and keep one BCD for multiple OSs.
That way there's no confusion.
afaik with Longhorn systems, even in a single BCD, you should still get all "C" disks if you do the installs from a booted DVD (not if you run setup from another running OS). That differs from XP which will use another letter if there's a pre-existing Windows in the active partition. I may be completely wrong, but this is based on my own installation experience with XP/Vista/W7/W8 and could possibly be just coincidental because of my particular configuration of OSs across 2 HDDs. I haven't done exhaustive tests of multiple installs in different configs just to find out, and it could just be because I coincidentally installed W7 after Vista then XP into the active partition on a new HDD and then installed W8 into a temporary "active" slot just to prevent a pre-Beta OS from messing with my production set-up.

In fact ignore that "all-C" assertion. The more I think about it, the more I realize that I don't know how Longhorn behaves in that single BCD situation. XP is the only OS I've installed without isolating it from the other OSs and it's my only non-C OS.
My setup is not conventional MS. It's all Windows, but I use grub4dos as the master bootmanager and it chains to four independently booting Windows, which all become "system" "boot" but not "active" unless I set them so for maintenance or other purposes.
The history of why is all here if you're interested, and all stems from my initial reason for being here, the "XP corrupts Vista restore points" problem. (W8 has replaced Ubuntu since then)
 
Last edited:
Again, thanks for your time and expertise. I'm going to slow down a bit now, absorb the lessons and see if I can nail this.

On a side note re. Win7 creating a BCD partition by default, I came across this while trying to educate myself (from http://www.multibooters.co.uk/multiboot.html)...

"Given free reign at install time Windows 7 may create a separate small partition just for the BCD and bootmgr files. See – Installing Win7. This is not essential for the operation of Win7 and Microsoft have said it was only introduced now so we can become familiar with the concept ahead of them making it standard practice for Windows on EFI firmware machines.
http://en.wikipedia.org/wiki/Extensible_Firmware_Interface
http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/windows-nt-6-boot-process.html"

Don't ask me what EFI is, I have enough new things to wrap my head around as it is.
 
It's here already on Macs and it's coming with W8, but for the moment, on an MBR PC, I'll stick to my view that the W7/8 boot partition is little more than an inconvenient annoyance.
That may seem strange coming from one who has a custom boot partition himself, but that's a consequence of wanting to use grub's "savedefault" feature which has a niggling restriction on the placement of the default data file.
When EFI is a firmly established norm (and I've upgraded my PC to suitable h/w), I'll revisit the whole booting design again. Once XP is long-gone and I no-longer need the dynamic boot time "hide/unhide" functions of grub, I'll be only too pleased to make full use of the "instant-on" capabilities that EFI and W8 promise.
 
I'm starting to think I'm expecting the Vista/Win7 BCD&Manager to do something by default that it just will not.

I unset all active partitions, set my original Vista OS Partition as Active. Deleted all partitions except the current Vista, including the 100MB BCD Win 7 created. And rebooted.

All looking pretty good, the Boot Menu that came up was the one I had before I installed Win7 and started playing around with EasyBCD.

I then used Partition Wizard to copy my Vista partition, I called it "Vista clone". I added the new partition to the BCD and rebooted.

What I wanted was the Cloned Vista to boot-up and have taken on C:\
Not the case, from what I could tell I was still running under the original Vista partition. Sure enough I change something on the desktop rebooted selected "Vista" rather than the clone and there is the change I made.

Here's the way things look when booted into my original Vista OS:
Boot_Original.PNG

I'm expecting to boot into "Vista clone" and find:
"Vista clone" as C: and status as "Boot", "PageFile", "CrashDump"
"Vista" to show nothing but "System"

I assume Vista to always show up as "System" because it hosts the BCD files?? And perhaps Vista will always show as "Active" as well??

Any way, this is what I find when I boot in "Vista clone"
Boot_Clone.PNG

I think I'll just go ahead and install Boot-US.

I'll pre-create my partition for Win7 and make sure it does not create a BCD partition. I then hope that Boot-US will allow me to configure each OS so it cannot see the other OS partitions, and assume that each will be completely self-contained and always run under C:

[I assume those inserted images will display at the correct size when I post?]
 
It's probably something to do with your partition management software.
Older versions made identical copies (clones), which would break the BCD and require a repair, so newer versions are "clever" and "repair" the copy for you (i.e it's not a clone). This might not only include repairing the BCD but also bulk editing the registry to change the disk letter because C is already in use on the cloning system.
Look carefully at the partition manager function descriptions. There is probably a difference between "clone" "copy" and "backup" which all appear to do similar things but with subtle differences.
You might need to use the backup function, so that the OS retains its own letter, then do the BCD fixing yourself.
 
I've been using MiniTools Partition Wizard 7 - I've hunted through their docs, tried contacting them without any luck.

Anyway, I pretty much have things working.
However at present I'm booting onto the the partition wizard cd and manually settings the OS I want active in order to load it.

The 2 things I needed to get my head around in order to make sure my OS/partition is 100% independent and drive letter assignments are standard after the copy...

1. Generalise the BCD - command line bcdedit & target the copied partition...
bcdedit /store X:\boot\bcd /set {default} osdevice boot
bcdedit /store X:\boot\bcd /set {default} device boot
bcdedit /store X:\boot\bcd /set {bootmgr} device boot
bcdedit /store X:\boot\bcd /set {memdiag} device boot

2. Remove all MountedDevices in registry on the X partition. This means that when you boot into the X partition it will rebuild it's drives, assigning C:\ to the primary boot drive.
[Regedit, load Hive and select X:\Windows\System32\config\System]

Works a treat.

The last thing I'm left considering:

a) Just stick with manually altering the partition active flags and rebooting in order to load another OS
b) Have a crack and using EasyBCD to load a menu of my copied partitions and see if I can boot into them.
c) Install something like Boot-Us and use it to boot my independent OS partitions.

I'm unsure if generalizing the OS's BCD's has made them incompatible with a standard MS Bootmanager menu.

These 2 pages filled in many of the gaps for me:
Vista/Win7 partition cloning: http://www.multibooters.co.uk/cloning.html
I
ssues with drive letters post clone: http://www.multibooters.co.uk/articles/drive_letters.html
 
Last edited:
Back
Top