EasyBCD writing MBR to the wrong drive

Gingko

Member
Hello,

I have a problem about EasyBCD 2.0.2 (but also 1.7.2) writing MBR to the wrong drive.

I have a computer with the following configuration :


  • One SATA drive with a partition containing Windows XP Pro SP3 (named C: from the XP point of view, and G: from the Vista point of view), plus several data partitions.
  • One PATA drive with a partition containing Windows Vista Ultimate x64 SP2 (named G: from the XP point of view, and C: from the Vista point of view), plus one data partition.
  • Also, another SATA drive, containing only a data partition.
Both drives with Windows OS can be selected from BIOS for primary booting, so I installed a MBR onto each of them, and configured using EasyBCD for being able to boot from any drive using any Windows OS in each case, so I was able to boot on 4 different manners, according to which drive I selected from BIOS and next from which OS I selected from boot menu:

  1. From the SATA drive, and booting from XP.
  2. From the SATA drive, booting from Vista.
  3. From the PATA drive, booting from XP.
  4. From the PATA drive, booting from Vista.
I thought this was a way to always be able to have a backup booting solution, in case of problems.

I was wrong.

Yesterday, I decided to completely reinstall the Windows XP system (because of stability problems), while leaving the Vista one untouched.

After reinstalling XP, I "regularly" went in the situation where I was able to boot, from the SATA drive, only from XP, and that I needed to rebuild the MBR and the BCD record for being able to boot again with Vista from this side (but I was still able to boot from Vista from the PATA drive).

So I remade the BCD and the MBR, but it appeared that, although this seemed to work correctly, I was still able to boot only on XP.
But worse, I was no longer able to boot from Vista from the PATA drive !

After some searches, I found that EasyBCD, whereas it was expected to write the MBR to the SATA drive, wrote it actually to the PATA drive, overwriting the known good boot MBR that was already there with bad informations.

So after writing this MBR :

  • I am still able to boot only on XP because the SATA MBR has been left unchanged.
  • I am no longer able to boot on any system from the PATA side because the PATA MBR has been overriden with bad data.
So now I have no mean for booting on Vista because all paths for it have been deleted.

I don't know how EasyBCD determines which drive it should use for writing BCD, but I think about 2 things :

  • It could be a problems when more than one drive previously have MBRs when asking to write a new MBR.
  • Also, as the Vista drive is a PATA drive and the XP drive is a SATA drive, it is likely that the PATA drive is enumerated first when looking for available drive (as this was the case when I had to choose the partition during the XP reinstalation).
Please could you tell me how I could tell EasyBCD to write the MBR to the SATA drive instead of the PATA drive in order to be able to boot from Vista again (and being able to repair the PATA MBR from there) ?

It seems that EasyBCD don't make enough checks about where it is writing MBR and if the selected drive is the proper one, making this feature very dangerous, and possibly able to unexpectedly break previously working systems.

Motherboard is ASUS P5K Deluxe/Wifi AP (with Intel Core 2 Duo processor).

Best regards,

Gingko
 
Hello,

I posted the above subject 5 years 1/2 ago, and I realize now that it has never been answered.

Today I am running EasyBCD 2.3 and I am facing the same problem again (although only across several SATA drives) :

How can I safely use EasyBCD for setting a new MBR for a drive that is NOT the currently active one?
I tried to select (or create) a BCD for this other drive, and I can edit it and write it, but if I use "BCD Deployment" and "Write MBR" for this BCD, the written MBR is not the expected one.

Regards,

Gingko
 
Hi @Gingko,

It's odd that this thread was left unanswered. EasyBCD should write the MBR to the boot disk, unless "BCD Deployment" is used in which case it writes it whichever disk was selected as the target. I'm not actually certain without referring to the code whether or not this carries through to "Load external BCD" - there's a chance that "write MBR" after "load external BCD" still refers to the system boot disk and not the disk containing the selected BCD file.

Are you seeing different behavior than this?
 
Back
Top