Complex Multi-boot Problem

th3

New Member
#1
Hello all

Firstly, huge thanks to the developers, maintainers and helpers of this application! It has saved millions of mine, let's put it that way.

I would appreciate it greatly if some kind individual would take their time out to read and help me with this. I have searched and tried everything I came across for the past 3 weeks, 6-7 hours per day, every day but due to the absence of everything computing for nearly a year, my knowledge in this department has become v.weak.

Background:
I've been away from home (here) for nearly a year. Everyone at home (parents mainly) are extremely novice PC users. Back then I had setup this home All-In-One low-power passive PC with 1x SATA ODD, 2x SATA HDDs, and a 1x SATA HDD which was only connected during backup for this puropose. So initially the setup was as ->

BIOS boot order:
Drive 0
Drive 1

Drive 0 was C:, D:, E:
Drive 1 was G:, H:, I:

C: = Windows XP Professional 32b
D: = Windows 7 Ultimate 64b
E: = Large files
G: = Windows Vista Ultimate 32b
H: = Misc
I: = Misc

All booted and worked perfectly. They were OS/HDD combos set up pristinely as I needed which took nearly a month. At boot I would see a menu and could choose whichever OS I wanted to get into.

Tragedy:
About 3 weeks back (days after I came home) a large pressurised water pipe in the ceiling burst at night leaking volumes of water on the whole PC and various electronic area directly beneath it downstairs. We did not realize until I routinely woke up at 4.30am and came downstairs to find most of the room flowing with water. ~95% of the electric parts were sitting in pools of water and dead although there was no fire. After that I went through the process of electrically testing and recouping what I could. The mouse, kb, PSU, backup HDD, ODD, monitor and various other devices were replaced but the main 2x HDDs were still working - they had v.important info we needed. Backup CDs and spares were faulty now too. 1x IDE, 1x FDD and 3/6 SATA ports were also dead. I immediately tried to clone the Windows 7 partition onto the better drive using Acronis TrueImage. So I cloned drive D: onto I:. It was supposed to work flawlessly. It didn't.

Problem:
I rebooted to find none of the drives boot no matter which is connected in which order. I could not boot even after fixboot/fixmbr on the XP drives. After much deliberating, I had no choice but to install Win XP on the the only free remaining partition; H:, to at least be able to get onto the net and access my Thunderbird emails (many abroad depend on me through email).

What I did:
The main XP install C: is now heavily borked. I have no idea what is wrong with it now, not even the display driver works after installation. I still require it until I can transfer much to the new partition. I have tried EBCD 1.7.2 and 2.0.93 beta. No matter what I do, reset BCD storage on all Vista/7 drives, fixboot, recreate boot files, change boot drives, recreate entries, fixmbr... I get no boot to any drives except the main XP C: and Vista G:. All the menu entries show up right but every drive except C: and G: when selected give that generic windows\system32\winload.exe error. I managed to boot back into my new XP install I: through editing the boot.ini that was on the XP C: and Vista G: drives. I couldn't get it to boot any other way. I'm exhausted, been at this 3 weeks with what I knew. Right now the root of all drives is in a mess. There are the same boot files and folders on every partitions root, same BCD data (I've checked). So currently it is [including flags]:

C: = Windows XP Professional 32b - boots [primary partition]
D: = Windows 7 Ultimate 64b - no boot [active, primary partition]
E: = Large files
G: = Windows Vista Ultimate 32b - boots [system, boot, active, primary partition]
H: = Windows 7 Ultimate 64b (new clone) - no boot [primary partition]
I: = Windows XP Professional 32b (new install) - boots [primary partition]

Due to the backup plans, I need all the drives to boot. After I have backed up and transferred files/settings I need from important apps, I only plan on keeping the OSes on C:, G:, H: if possible.

EasyBCD Detailed:
Booting from Vista G: reads ->


Windows Boot Manager
--------------------
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device boot
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default {53c3c159-5470-11df-87b2-0019666e9fcd}
displayorder {53c3c159-5470-11df-87b2-0019666e9fcd}
{53c3c158-5470-11df-87b2-0019666e9fcd}
{e8709fb6-fa5f-11db-be4d-e219ece5282e}
{53c3c15b-5470-11df-87b2-0019666e9fcd}
{53c3c15a-5470-11df-87b2-0019666e9fcd}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 5
resume No
custom:45000001 1

Real-mode Boot Sector
---------------------
identifier {53c3c159-5470-11df-87b2-0019666e9fcd}
device partition=C:
path \NTLDR
description Win XP 0-0

Windows Boot Loader
-------------------
identifier {53c3c158-5470-11df-87b2-0019666e9fcd}
device partition=D:
path \Windows\system32\winload.exe
description Win 7 0-1
osdevice partition=D:
systemroot \Windows

Windows Boot Loader
-------------------
identifier {e8709fb6-fa5f-11db-be4d-e219ece5282e}
device partition=G:
path \Windows\system32\winload.exe
description Win Vista 1-0
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice partition=G:
systemroot \Windows
resumeobject {e8709fb7-fa5f-11db-be4d-e219ece5282e}
nx OptOut
custom:42000002 \system32\winload.exe
custom:45000001 2
custom:47000005 301989892
4

Windows Boot Loader
-------------------
identifier {53c3c15b-5470-11df-87b2-0019666e9fcd}
device partition=I:
path \Windows\system32\winload.exe
description Win 7 1-1
osdevice partition=I:
systemroot \Windows

Real-mode Boot Sector
---------------------
identifier {53c3c15a-5470-11df-87b2-0019666e9fcd}
device partition=H:
path \NTLDR
description Win XP 1-2


Anyone have a clue what to do?
 

Terry60

Knows where his towel is.
Staff member
#2
FIrstly, there should only be a single XP entry in the BCD, even for multiple XP installations.
It should not point (necessarily) to any of the XP systems. Thats why 1.7 "greys" and 2.0 removes the drive option. It points to copies of the XP boot files in the "system" partition.
Abandon 1.7. It pre-dates W7 and has no automation features.
Using EasyBCD 2.0
Delete both XP entries, add a new entry, let EasyBCD auto-configure when it offers. It will detect your 2 XPs and set up a boot.ini which will give you the option to boot either in a second (NTLDR) boot menu.
Remember that disk letters are not real physical attachments to a partition, the way the volume label is, they're just entries in the registry of the running system, so each system will detect and allocate letters to partitions completely independently without care or knowledge of what any other OS calls them.
The BCD doesn't contain letters at all. It uses UIDs. EasyBCD translates these UIDs into letters as seen from the system it's running on, purely for your convenience.
Make sure that Vista/7 BCD entries point to the drive letter of that partition as seen from the system you're running EasyBCD on, not what that system calls itself when it's running.
 

th3

New Member
#3
Thanks for your help.

FIrstly, there should only be a single XP entry in the BCD, even for multiple XP installations.
It should not point (necessarily) to any of the XP systems. Thats why 1.7 "greys" and 2.0 removes the drive option. It points to copies of the XP boot files in the "system" partition.
Abandon 1.7. It pre-dates W7 and has no automation features.
Using EasyBCD 2.0
Delete both XP entries, add a new entry, let EasyBCD auto-configure when it offers. It will detect your 2 XPs and set up a boot.ini which will give you the option to boot either in a second (NTLDR) boot menu.
Done this, it worked a charm. Any way to edit the names it's showing on the second boot menu?

Remember that disk letters are not real physical attachments to a partition, the way the volume label is, they're just entries in the registry of the running system, so each system will detect and allocate letters to partitions completely independently without care or knowledge of what any other OS calls them.
The BCD doesn't contain letters at all. It uses UIDs. EasyBCD translates these UIDs into letters as seen from the system it's running on, purely for your convenience.
Make sure that Vista/7 BCD entries point to the drive letter of that partition as seen from the system you're running EasyBCD on, not what that system calls itself when it's running.
- Each of my partitions read the same letter no matter which OS is booted - I set them up this way intentionally from the beginning.

- Checked and rechecked the drive letter designations in EasyBCD plus 30 times by now -- they are correct.

- I can still only boot the two XP and one Vista. Both Seven installs are not booting.

- Is there some limit of not having two Seven installs on partitions of the same drive?

- Which files/folders are needed in the root of each drive exactly to boot both XP and Seven installs? (except for Vista since I know and have its correct root files and folders).
 

JustinW

Super Moderator
Staff member
#4
[thread=642]EasyBCD[/thread] > Edit Boot Menu should allow you to rename your entries.

Add a new entry for Windows 7. You'll actually want to point it at the drive letter the Windows 7 install is located on. This is the only time you would select the location manually.
 
Last edited:

th3

New Member
#5
[thread=642]EasyBCD[/thread] > Edit Boot Menu should allow you to rename your entries.
Hi there. EasyBCD doesn't allow the editing of the second menu after POST that shows the two XP entries (it configured them automatically following Terry60s advice). I figured out that you can edit the menu display names by editing the active boot drive boot.ini.

Add a new entry for Windows 7. You'll actually want to point it at the drive letter the Windows 7 install is located on. This is the only time you would select the location manually.
I have already deleted and recreated the Win 7 entries on every boot. There are two Win 7 installs being clones of one another. Entries point to the correct partitions and partition letters already. Even if I delete any one entry of Win 7 leaving the other on, they do not boot past that error.
 

Terry60

Knows where his towel is.
Staff member
#6
What exactly is the W7 failure ? Is it an "invalid digital signature" problem ?
If so, that's a well known problem with the Vista BCD trying to boot the newer OS and can be fixed by EasyBCD 2.0
BCD Install/Repair
Re-create/repair boot files
If not, you could try disconnecting the Vista HDD temporarily, booting your W7 DVD, and running "repair your computer" " startup repair" three times against your W7 partition on the other HDD.
(Have you tried booting from the other HDD first ?)
 

th3

New Member
#7
What exactly is the W7 failure ? Is it an "invalid digital signature" problem ?
Yes, that's the error indeed.

If so, that's a well known problem with the Vista BCD trying to boot the newer OS and can be fixed by EasyBCD 2.0
BCD Install/Repair
Re-create/repair boot files
Will try this as soon as I can. Thanks.

(Have you tried booting from the other HDD first ?)
Yup, same error each time.

The Win 7 partitions have no boot files in root at all at the moment FWIW. Not even the Boot folder.

Addendum:

What exactly is the W7 failure ? Is it an "invalid digital signature" problem ?
If so, that's a well known problem with the Vista BCD trying to boot the newer OS and can be fixed by EasyBCD 2.0
BCD Install/Repair
Re-create/repair boot files
If not, you could try disconnecting the Vista HDD temporarily, booting your W7 DVD, and running "repair your computer" " startup repair" three times against your W7 partition on the other HDD.
(Have you tried booting from the other HDD first ?)
I'm not sure what happened but running the first advised option gave me an unbootable system on reboot: BCD data file is missing error (while its still there in Vista G: \Boot\, I checked using UBCD4WIN). Right now none of the partitions are booting anymore, all throwing this same error.

Original Win 7 DVD is faulty, nothing picks up. I thought it would be fine. The only copy I have of it is reading "an unexpected I/O error has occurred 0x00000e9" when it finishes "Windows is loading files..." under the white background/border titled page reading "Windows Boot Manager". Same with Win 7 recovery CD. Now I'm really stuck.

Addendum:

Tested all SATA ports, all combos, same result. Time to do the only thing that does work: repair the new H: \ XP install so that at least it's bootable and I have something to work from. Being locked out of boot, Vista and 7 don't allow me to move/edit boot files either so that's no help.
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#8
Check that Vista is still "active"
If the boot is failing with "missing BCD" but you can see it is there, then the MBR must be looking in the wrong place.
 

th3

New Member
#9
Check that Vista is still "active"
If the boot is failing with "missing BCD" but you can see it is there, then the MBR must be looking in the wrong place.
I've booted up with the new XP install after a repair although drive letters are now different (through this OS at least). At least this one works fine.

Vista is marked as [system] but not [active]. The older Win 7 x64 partition is marked as [active] instead. I checked the root files on the Vista partition and they are the ones being used for XP boot. However, I get no option to boot Vista/7, just the two Win XP boot menu entries being loaded up from boot.ini. That must mean I need to install Vista boot loader on that partition again since it has given over control to ntldr.

However, through the XP partition, I cannot load the BCD on the Vista partition to edit it directly. It keeps saying that the BCD is in use by another process. 1/16 chance so far to getting in and this is what I did ->

* Change Boot drive to the Vista partition
* Reset BCD on the Vista partition (a blank one that it loaded up automatically)
* Install BCD on the Vista partition
* Write Vista/7 MBR on the Vista partition
* Add 3 entries to the BCD > check after a few EasyBCD restarts and reloads. Entries are as follows:

Code:
Default: {default}
Timeout: 10 seconds.
EasyBCD Boot Device: C:\

Entry #1
Name: Win XP
BCD ID: {default}
Device: boot
Bootloader Path: \NTLDR

Entry #2
Name: Win Vista
BCD ID: {358a786c-5872-11df-a13d-0019666e9fcd}
Drive: C:\
Bootloader Path: \Windows\system32\winload.exe

Entry #3
Name: Win 7 x64
BCD ID: {4aac301e-5872-11df-a13d-0019666e9fcd}
Drive: G:\
Bootloader Path: \Windows\system32\winload.exe
However, the Vista partition still does not read [active] although it reads [system]. Going to try and see how this works now. Thanks.

Addendum:

That booted up Vista G:\ perfectly!

Vista now reads [system, boot, active]. Both XP entries are picked up right too.

However, both Win 7 entries still give that driver signature error when chosen at boot. I'm not sure what to do about this at all. Maybe the BCD in those WIn 7 partitions is what is throwing everything off?
 
Last edited:

Terry60

Knows where his towel is.
Staff member
#10
The "active" flag is a simple pointer for the Initial Program Loader in the MBR, telling it where to go next (which partition continues the boot process).
All you needed to do was flip the active flag back to Vista, and it should have booted fine without all that recreating the BCD multiple times.
Can you post a Disk Management screenshot and the current state of the EasyBCD "view settings" detailed info, both from Vista. (details of how at the end of the sticky)
 

th3

New Member
#11
The "active" flag is a simple pointer for the Initial Program Loader in the MBR, telling it where to go next (which partition continues the boot process).
All you needed to do was flip the active flag back to Vista, and it should have booted fine without all that recreating the BCD multiple times.
In the only new XP install that was booting, that wasn't possible through the Disk Management interface.

Can you post a Disk Management screenshot and the current state of the EasyBCD "view settings" detailed info, both from Vista. (details of how at the end of the sticky)
Code:
Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  boot
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {1bbb7b36-5875-11df-9afb-0019666e9fcd}
resumeobject            {1f8184a2-14de-11df-9734-f08c6d8c50b0}
displayorder            {1bbb7b36-5875-11df-9afb-0019666e9fcd}
                        {358a786c-5872-11df-a13d-0019666e9fcd}
                        {1bbb7b38-5875-11df-9afb-0019666e9fcd}
                        {1bbb7b37-5875-11df-9afb-0019666e9fcd}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 10
resume                  No
displaybootmenu         Yes

Real-mode Boot Sector
---------------------
identifier              {1bbb7b36-5875-11df-9afb-0019666e9fcd}
device                  boot
path                    \NTLDR
description             Win XP [0-0/1-2]

Windows Boot Loader
-------------------
identifier              {358a786c-5872-11df-a13d-0019666e9fcd}
device                  partition=G:
path                    \Windows\system32\winload.exe
description             Win Vista [1-0]
locale                  en-US
osdevice                partition=G:
systemroot              \Windows
resumeobject            {d95624f1-5874-11df-9afb-806e6f6e6963}

Windows Boot Loader
-------------------
identifier              {1bbb7b38-5875-11df-9afb-0019666e9fcd}
device                  partition=D:
path                    \Windows\system32\winload.exe
description             Win 7 x64 [0-1]
locale                  en-US
osdevice                partition=D:
systemroot              \Windows

Windows Boot Loader
-------------------
identifier              {1bbb7b37-5875-11df-9afb-0019666e9fcd}
device                  partition=I:
path                    \Windows\system32\winload.exe
description             Win 7 x64 [1-1]
locale                  en-US
osdevice                partition=I:
systemroot              \Windows
 

Attachments

Terry60

Knows where his towel is.
Staff member
#12
Are your HDDs a mix of IDE and SATA ?
You're showing disk 1 as the booted drive.
Either Disk 0 is IDE (known Vista bug displays IDE first), or you're booting the other disk first in your BIOS and the boot is failing to find a bootmgr and moving on to the next HDD.
If the latter, change the BIOS to boot from the VIsta HDD first, then from Vista, run the recreate/repair boot files again when the Vista HDD shows as disk 0.
 

th3

New Member
#13
Are your HDDs a mix of IDE and SATA ?
Both of the HDDs are SATA in IDE-emulation mode (non AHCI). AHCI mode on the AMD SB gives very random and poor performance including nefarious bugs I avoided.

You're showing disk 1 as the booted drive.

Either Disk 0 is IDE (known Vista bug displays IDE first), or you're booting the other disk first in your BIOS and the boot is failing to find a bootmgr and moving on to the next HDD.
That's sort of right.

SATA 0 is C:, D:, E:
SATA 1 is G: (Vista), H:, I:

Boot order in the BIOS is SATA 1 first and then disabled for the next locations. So it can only look for and boot Disk 1 which it is doing. I can remove the SATA 0 drive completely and it does the same.

It has always been like this since the beginning when I installed the OSes. If I reverse the SATA port order, none of the drives currently boot.
 

th3

New Member
#14
I have done all the steps you listed now Terry60 and the Vista G: disk is now indeed SATA 0 and the first boot disk. However, there is no change in the error when choosing either of the Win 7 x64 (attached is the error).

EasyBCD shows:

Code:
Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  boot
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {d57905bf-5938-11df-9cd7-0019666e9fcd}
resumeobject            {1f8184a2-14de-11df-9734-f08c6d8c50b0}
displayorder            {d57905bf-5938-11df-9cd7-0019666e9fcd}
                        {d57905c0-5938-11df-9cd7-0019666e9fcd}
                        {d57905be-5938-11df-9cd7-0019666e9fcd}
                        {1bbb7b39-5875-11df-9afb-0019666e9fcd}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 10
resume                  No
displaybootmenu         Yes

Real-mode Boot Sector
---------------------
identifier              {d57905bf-5938-11df-9cd7-0019666e9fcd}
device                  boot
path                    \NTLDR
description             Win XP [0-0/1-2]

Windows Boot Loader
-------------------
identifier              {d57905c0-5938-11df-9cd7-0019666e9fcd}
device                  partition=G:
path                    \Windows\system32\winload.exe
description             Win Vista [1-0]
locale                  en-US
osdevice                partition=G:
systemroot              \Windows
resumeobject            {df620970-5939-11df-bd6d-806e6f6e6963}

Windows Boot Loader
-------------------
identifier              {d57905be-5938-11df-9cd7-0019666e9fcd}
device                  partition=D:
path                    \Windows\system32\winload.exe
description             Win 7 x64 [0-1]
locale                  en-US
osdevice                partition=D:
systemroot              \Windows

Windows Boot Loader
-------------------
identifier              {1bbb7b39-5875-11df-9afb-0019666e9fcd}
device                  partition=I:
path                    \Windows\system32\winload.exe
description             Win 7 x64 [1-1]
locale                  en-US
osdevice                partition=I:
systemroot              \Windows
 

Attachments

Terry60

Knows where his towel is.
Staff member
#15
OK, you'd better wait for CG to ponder this.
The workaround for this problem always used to be to boot W7 and add Vista to its BCD. (W7 doesn't see Vista as invalid, only vice-versa)
CG wrote the "recreate boot files" routine to fix the problem in Vista without needing the workaround anymore, so if it doesn't work for you, he might want you to provide him with some additional info.
 

mqudsi

Mostly Harmless
Staff member
#17
Hi th3,

What's the size of bootmgr on your Active partition on the boot disk?
 

th3

New Member
#18
Hi th3,

What's the size of bootmgr on your Active partition on the boot disk?
Hi CG, thanks for replying.

It is 325 KB.


BTW, is this a bug? ->

Using 2.0.93 beta, when I use the option of "change boot drive", EasyBCD doesn't read that drive to be bootable under View Settings>Overview nor are new files created there nor is that partition made as "active". I can repeat this everytime - the partition asked to be made bootable is not the one being made bootable but another. I chose partition D:\ just now and the BCD reads "EasyBCD Boot Device: E:\". I checked the partition and EasyBCD did indeed create a "Boot" folder and "bootmgr" file on E:\ with all the relevant files in there including Vista Disk Management now reading that partition as "active".
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#19
Does it continue to display that even after rebooting?
 

th3

New Member
#20
Hang on, let me reboot. If I don't post back within 30 mins, then it never rebooted back in.


Addendum:


Hang on, let me reboot. If I don't post back within 30 mins, then it never rebooted back in.
It never rebooted back in, I'm stuck out again. The boot menu I created never showed. It simply reads "the windows BCD file is missing required information" status 0x0000034. Using EasyBCD;

- Whenever I created an entry for win 7 ( D: ) it either bugged out by not creating it, deleting everything or swapping the partition letters associated with each BCD entry name around. It was random.

- Whenever I added a XP entry to this win 7 boot drive BCD, they never stuck. Reloading the BCD showed them not there.

- Whenever I instructed it to automatically set up the two XP partition config and files, either the files were not created or mostly, they were created on some other partition.

- The boot menu problem might be linked to the fact that everytime I changed the menu timer from 0 awards and saved it, upon restarting EasyBCD and reloading the BCD I found the menu back at 0 sec.

- All of these are linked to the fact that EasyBCD kept getting my original win 7 ( D: ) and its clone on the second drive ( I: ) mixed up routinely. Sometimes it showed both partitions as I: -- like in Bootloader/MBR creation -- and commonly placed some boot files on I: which were instructed to be placed on D:.

- None of these bugs except the last occurred when I used win Vista as the boot BCD drive.

- Each of these operations read as successfully completed in EasyBCD during instructing.

Using my phone here.
 
Last edited: