EasyBCD 2.0 sets wrong HD number

#1
Help! I've searched and read everything I can find and haven't found a way to solve this.

I have two hard drives. One is my system drive with Vista and Mandriva and one is a large data storage drive. My C: drive is shown in the Vista storage manager as drive #1 and the second (storage) drive is shown as drive 0. I don't see a way to change that enumeration in BIOS or Vista.

Vista was installed first.

Mandriva 2010 was later installed on a different partition on the Vista drive (ie., also on drive 1). In Linux, this partition is shown as hdb,4. The fifth partition of the second drive. This makes sense. During the Mandriva install, Grub was installed to hdb,4

I used EasyBCD 2.0 beta (latest build) to set up dual boot and it worked fine. Until.....

......I updated the new Mandriva installation and now Mandriva won't boot. When I select it during the boot process, Grub stalls. The problem seems to be that at some point in the boot process.... I think where the Windows boot process turns it over to Grub on the Linux partition..... the drive numbers change. If I use the edit feature in Grub (when it stalls) I see that it is referring to hd1,4 as expected. But if I change that to hd0,4 and tell it to boot, it works.

My question (I think) is how do I make that change persistent? I don't see a way to edit the boot drive number within EasyBCD so every time I want to boot to Linux I have to manually edit.

I also note that if I look in the /boot/grub folder in Mandriva I find menu.lst that refers to hd1,4 and menu.lst.old that refers to hd0,4 so something changed when I updated Mandriva? Is it as simple as changing menu.lst back to hd0,4 in /boot/grub? I haven't wanted to do that without knowing what I am doing because I'm assuming that the Mandriva copy of menu.lst is OK and the problem is prior to handing off to the Mandriva partition???

Paul
 

mqudsi

Mostly Harmless
Staff member
#2
Yep, that would do the trick, Paul.

BTW, it's not EasyBCD setting the wrong number - it is Mandriva that is doing so!
 
#3
Thanks, that did the trick. But not before I struggled mightily to figure out how to edit and save menu.lst. Sometimes security is a bit over rated.

Help me understand what the problem was..... I think the way it went down was that between the original released version of Mandriva 2010 and the current updated version, Grub changed how it referred to hard drives and/or how they are enumerated. EasyBCD copies the menu.lst from the Mandriva installation and uses it to directly boot into Mandriva. But the naming convention in menu.lst after the Mandriva update doesn't agree with the way the version of Grub used by EasyBCD works. Or something like that? Its odd though..... Windows and Mandriva both agree that Mandriva is on the fifth partition of the second hard drive. Mandriva shows it as hdb,4. This is also how it is shown in menu.lst. But in order to boot, I have to point to hd0,4.... the fifth partition on the FIRST hard drive. ??

Stuff like this is why I only experiment with Linux. It is too fiddly for everyday use. IMO.

Paul
 
Last edited:

JustinW

Super Moderator
Staff member
#4
The only time it would be (hd0,4) is if you were booting from that drive. If that's the case make the adjustment in menu.lst so you don't need to fiddle with edit every time you want to boot into Linux.

EasyBCD doesn't copy the menu.lst. Its a Windows app, and doesn't have access to a Linux filesystem. It either creates its own menu.lst with the locations you've pointed to or starts its own copy of grldr at boot to look for the correct location of grub/grub2 that would than present you with the menu of the menu.lst or grub.conf (for grub2) on your Linux partition.
 
#5
The only time it would be (hd0,4) is if you were booting from that drive. If that's the case make the adjustment in menu.lst so you don't need to fiddle with edit every time you want to boot into Linux.
That's just it..... as far as I know I am booting to the fifth partition on the second drive. Vista is on the first partition and Mandriva is on the fifth partition, both on what Windows calls drive 1 (ie., the second drive). When I get into Linux, it says it is on hdb,4 and menu.lst is therefore correctly set for hd1,4. But it won't boot from the Windows boot menu after updating Mandriva unless I change menu.lst to refer to hd0,4.

Is this a naming issue or an enumeration issue? More curious than anything.

Paul
 

JustinW

Super Moderator
Staff member
#6
Again, it depends on the drive you boot from. You can find this out in your BIOS boot order. This is just some of the complications a Linux user has to face when they have multiple drives in their machine.
 
#7
That's what I have been trying to figure out. In the BIOS, the Windows (and Linux) drive is the first drive after my SATA DVD drive. The other drive is not in the boot order at all since it doesn't have a bootable partition.

So if that makes it the first drive, why do Windows and Linux both think they are on the second drive but I have to refer to it as the first drive to get Mandriva to boot?

Paul