EasyBCD's interaction with Grub

#1
Hello again,

I'm in the midst of installing PCLinux on an external DD as a second OS to Win7. I was impressed with the smoothness of PCLinux's DrakeInstaller, as I believe it was called.

That is, until after I had installed the bootloader in the linux partition. The next screen recognized that I had done so, and it asked me where I was booting from. My response was, "Why do you want to know????" I did NOT want it to mess with my basic boot structure, which through much labor Easy had helped me establish, and that's what I suspected was the reason for the question.

Eventually I felt I had no choice but to continue, but surprisingly it turned out that it did not touch the sda mbr or the sda1 bootloader. I still don't know then why the question was asked. So, back in Windows, I added the PCLinux partition into Easy.

But now, all I get is the text "GRUB_ ..." on a blank screen when I choose the linux install.

I suspect Easy's Add Entry option "[] GRUB isn't installed in MBR/bootsector", which I did not select, has something to do with this. But, as with the obscure DrakeInstaller page, I really don't know why Easy is presenting this to me, or which MBR/bootsector it is referring to. I believe I did place GRUB in the partition bootsector.

Basically, I'm caught in ambiguity between the two programs. Does anyone have light on this?

Thanks,
p.
 
#2
paul1149,

Welcome to the forum!

PCLinux should be using grub one or grub Legacy as opposed to grub-2.

“That is, until after I had installed the bootloader in the linux partition. The next screen recognized that I had done so, and it asked me where I was booting from. My response was, "Why do you want to know????" I did NOT want it to mess with my basic boot structure, which through much labor Easy had helped me establish, and that's what I suspected was the reason for the question.”

With grub-1 installations of Linux you want to install the boot loader into the partition in which you are installing Linux into ( first sector of boot partition), not the MBR of the hard drive or any hard disc if there’s more than one hard disc.

I’ve never had an installation asked me where I was booting from but my response would be from the partition which I am installing Linux into. Don’t forget to assign the mount point “ / “.

Below are out of date directions for installing Fedora. They should be applicable to your PC linux install. Disregard the section about where to put the boot loader. Read the next section on how to add the entry to boot into PC Linux in Easy BCD running under Windows 7.

You’re going to have to know what partition PC Linux is in to add the OS boot option. One way to do this for example is to make the partition a different size than other partitions at a time.

Fedora Install Directions:
http://neosmart.net/wiki/display/EBCD/Fedora
 
#3
Thank you, Pillars,

I have no problem comprehending those Fedora instructions. My problem is in the extra step the DrakeInstaller took me through. It only gave me three choices, each one was a drive not a partition. That's why I thought it was going to write to sda's mbr.

Yes, it was legacy GRUB, which as far as I'm concerned, is a good thing.

I'm aware of setting / as root to the install partition, but this install was so smooth (up to this point) (I'm very impressed with PCLinux and wonder why it's not more popular) that that was taken care of silently.

As far as the section in that reading regarding the EasyBCD finalizing of the install - that's exactly what I did. But that section doesn't mention the Add Entry option that I questioned.

p.
 

mqudsi

Mostly Harmless
Staff member
#4
I don't know about DrakeInstaller, but many Linux distros simply don't bother writing the code install GRUB to a partition, because it's so much easier, simpler, and more reliable to write it to an MBR. Now I cannot tell you why it DIDN'T write it, but what you need to do is check the "GRUB is not installed to..." checkbox.

What this checkbox does is tell EasyBCD not to bother trying to load the GRUB installed by PCLinuxOS because there's a good chance it's broken. Instead, EasyBCD will install it's own copy of GRUB to a file (not the MBR or the partition bootsector), and then load the GRUB menu file that PCLinuxOS wrote instead, thus bypassing Linux's GRUB altogether yet automating the entire process for you ase the user.


I hope this clears things up! :smile:

Addendum:

I don't know about DrakeInstaller, but many Linux distros simply don't bother writing the code install GRUB to a partition, because it's so much easier, simpler, and more reliable to write it to an MBR. Now I cannot tell you why it DIDN'T write it, but what you need to do is check the "GRUB is not installed to..." checkbox.

What this checkbox does is tell EasyBCD not to bother trying to load the GRUB installed by PCLinuxOS because there's a good chance it's broken. Instead, EasyBCD will install it's own copy of GRUB to a file (not the MBR or the partition bootsector), and then load the GRUB menu file that PCLinuxOS wrote instead, thus bypassing Linux's GRUB altogether yet automating the entire process for you ase the user.


I hope this clears things up! :smile:
 
Last edited:
#5
Thanks for your reply.

I followed you about superseding a broken GRUB install, which is a great idea. I think you're saying that Easy rewrites the business end of GRUB, but uses the already-configured GRUB menu that the distro compiled?

That's all good. The only obstacle I have left is that when I select this option, the drive designation disappears and it says "configured automatically". How do I know that it's pointing to the correct partition? At this point, there is nowhere where I've specified where the install actually is.

p.
 

mqudsi

Mostly Harmless
Staff member
#6
It searches *all* hard disks for a GRUB config file :smile:
 

Terry60

Knows where his towel is.
Staff member
#8
It uses the first one it finds I think (menu.lst for legacy). If you have several Linux distros, you'll need to make sure it finds the one you want first, and ensure that that one describes all the others too by manual edit. (there's not currently a method of adding multiple different Linux entries into the top level BCD menu. A multi-linux boot controlled by the BCD will be a two-level menu)
 
#9
Thanks, Terry.

That makes sense. I found out that the PCLinux install wrote GRUB1 to the mbr of sdb. When I go there via the BIOS' ad hoc boot menu, I get the grub menu.

And I went ahead and wrote the EasyBCD entry, and it too takes me to a grub menu.

However, I am confused as to what is going on. The sdb menu is stock grub, while the BCD menu has my embellishments, such as indentation of entries' alternate boot options.

What's more, neither menu will boot PCLinux. Both error out with "no such partition, hd2,1". Indeed, PCL is on sdb2, so somehow wires got crossed. How that happened, and where the two menus are located are a mystery. I tried accessing menu.lst in the PCL install, but while it was listed as 699 bytes, it showed as empty in the kwrite editor.

Probably at this point the problem resides on the Linux end of things. The thing I find confusing about eBCD on this point is that the Linux entry in it shows itself on Drive D, a logical partition which has nothing to do with any of this. And in general I wish many of the interface options in eBCD were more descriptive, or perhaps had intrinsic help tips.

Thanks again to all,
p.
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#10
EasyBCD shows the drive that it will use to load GRUB. D: is where EasyBCD's own copy of GRUB is installed.

I don't understand - did you not use the checkbox option?

Addendum:

But, yeah, if it doesn't work even when you boot from the other HD in the BIOS, then the Linux did something wrong.
 
Last edited:
#11
Yes, I did use the check box this time. Why would Easy pick drive D for grub? Doesn't this needlessly complicate things? D has nothing to do with linux, and the user might want to reformat it at some point.

My problem with not accessing the grub menu was due to not being logged in as root. Right now, though, I'm not doing well with the linux hd numbers and nothing is loading.

Amazing how something that should be fairly simple quickly becomes unmanageable.
 

Terry60

Knows where his towel is.
Staff member
#12
It's not Linux's grub.
It's EasyBCD's Neogrub (custom Grub4Dos).
It builds a bridge to the Linux menu.lst to overcome Linux difficulty with dealing with the fact that it's not on the boot drive.
It's quite separate from the grub which Linux installed.
 
#13
#14
I'm on 2010.07, and I have to say that this distro impresses me greatly.

On my Win7 machine I tried a little trick to correct the grub menu, and it managed to hose my mbr/bcd. I used the win repair disk to get back to factory.

Then I decided it would be best to instead put pclinux on my backup xp box. It would be safer, and I could work at networking between 7 and lx. So I did so, and this time I let the DrakLive Installer place grub on sda. It picked up XP and also CentOS. I'm newly back up, and I think everything is good.