Enhancement Request: Allow user to specify a custom MBR file instead of the default

#1
Hopefully I have put this in the "write" place! :lol:

Enhancement Request:
When adding a 'nix entry to the BCD store, EasyBCD provides it's own psudo-loader. And, it is possible that this solution may work for a number of people out-of-box.

In my own case, I prefer to use the OS supplied loader, as I can use the OS supplied utilities to edit and configure it.

However, to do this, I have to create the default loader, go to the NST folder and rename it, copy my desired boot loader to the NST folder, and give it the name of the default loader as supplied.

It would be damn convenient if when creating a 'nix entry, I was given the choice of either using the NeoSmart psudo-loader, or specify my own MBR file to be used.

I suspect that implementation of this feature would be MUCH LESS DIFFICULT than regionalising EasyBCD was. :??

Can do?

Thanks a bunch!

Jim (JR)
 

Mak 2.0

Mod...WAFFLES!?!?
Staff member
#2
Actually implementing this would be far more difficult as it would create more issues than resolve them. As you stated yourself, it works for people out of the box. Which is exactly what the intent is. People install Linux, use EasyBCD, add and entry and viola it works.

Very few people want to do what you are doing. In fact, you are the first. So to implement a feature for 1 person out of the 25+ million that use it doesnt really seem like it is less difficult or worth the time and effort. But since I am not the coder I will let CG answer it.
 
#3
Very few people want to do what you are doing. In fact, you are the first.
Hey! It's a dirty, rotten job, but SOMEONE has to be first. . . . (I've tried starting something as the second or third, but it usually never works out that way :wtf: )

I'm the ONLY one who wants this? Seriously, I'm surprised. EasyBCD makes it so easy to set up multi-boot configurations, that I usually "take it to the hilt" and actually (try to) make things work the way I want them to, instead of someone else's ill conceived idea of what they think I should want. And since I want a uniformly clean - and reversible - OS selection, I always use the native loader. It also makes updates to Grub2 and new kernel installs trivial to implement. Copy over the new MBR and you're done! (What's that? You get goose-flesh when you even THINK about pointing the "dd" command at your system drive? Stinks being you, doesn't it. . . .)

(i.e. "reversible": My Windows 7 startup list points to my Ubuntu startup menu, and the Ubuntu Grub2 startup menu points back to the Windows startup menu. This way, if something happens and one menu gets borked, I can always go to the other and "back in" to fix the problem)

Jim (JR)
 
Last edited:
#4
Actually implementing this would be far more difficult as it would create more issues than resolve them. As you stated yourself, it works for people out of the box. Which is exactly what the intent is. People install Linux, use EasyBCD, add and entry and viola it works.
That's not true, we are now two. Should we now make a subscription?
Very few people want to do what you are doing. In fact, you are the first. So to implement a feature for 1 person out of the 25+ million that use it doesnt really seem like it is less difficult or worth the time and effort. But since I am not the coder I will let CG answer it.
That's also not true. What are you doing with your application if more than one Win-OS is on the machine? Don't you ask (trhough apps) which HDD with which description should be started?

You know bettere than us that (a like of) incompatibilities between MS and *nix system are there. If the user install Linux... he should know where the bootloader is, hence can choose whatever he want, like Win-OS's.
Why must go through two or threee bootloader-display to start Linux?

People using Easy-BCD, do that because dont want have Grub-2 on theyr Win-partition-MBR. Now to do that (let me say it simple) is much more complicated, sometime must rebuid theyr MBR by hand with RE (recovery envioremnt).

You know also better then us that is much more better to separate the systems

Also, reccommend to install Grub-2 in the / (root-partition) and address/chainload to this partition.
Here an example:
Code:
sudo fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -IX sudo sh -c "hexdump -v -s 0x80 -n  2 -e '2/1 \"%x\" \"\\n\"' X | xargs -n1 -IY sh -c \"case  \"Y\" in '48b4') echo X: GRUB 2 v1.96 ;; 'aa75' | '5272') echo X: GRUB Legacy ;; '7c3c') echo X: GRUB 2 v1.97 oder v1.98 ;; '020') echo X: GRUB 2 v1.99 ;; *) echo X: Kein GRUB Y ;; esac\""
Result:
Code:
/dev/sda: Kein GRUB 9f83
/dev/sda1: Kein GRUB 3b76
/dev/sdb: Kein GRUB 9f83
/dev/sdb1: Kein GRUB 3b76
/dev/sdc: Kein GRUB 00
/dev/sdd: Kein GRUB 00
/dev/sde: Kein GRUB 00
/dev/sde1: Kein GRUB 55aa
/dev/sde2: GRUB 2 v1.99
/dev/sde3: Kein GRUB 00
/dev/sde5: Kein GRUB 00
/dev/sde6: GRUB 2 v1.99
/dev/sde7: GRUB 2 v1.99
/dev/sde8: Kein GRUB 00
/dev/sde9: Kein GRUB 00
/dev/sde10: Kein GRUB 00
/dev/sdf: Kein GRUB 00
/dev/sdf1: Kein GRUB 55aa
/dev/sdg: Kein GRUB 9f83
/dev/sdg1: Kein GRUB 55aa
/dev/sdj: Kein GRUB 00
/dev/sdj1: GRUB 2 v1.99
That's my grub.cfg on sde2 & sdj1:
Code:
==============================================================================================
### Modify intentionally this file if you know what you are doing ###
### This file is created from Arny and used for Grub2-standalone ###
### BEGIN /etc/grub.d/00_header ###
set default=0
set timeout=-1
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
### GRUB_GFXMODE=800x600x24
GRUB_GFXMODE=1024x768x24
### GRUB_GFXMODE=1280x800x24
GRUB_GFXPAYLOAD_LINUX=keep
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###


### BEGIN /etc/grub.d/10_linux ###

menuentry 'Linux, Kubuntu Version 12.10 @ 64 Bit @ sde6' {
	set root=(hd4,msdos6)
	search --no-floppy --fs-uuid --set=root c5571c47-d109-4a28-913c-5231a98a5006
	linux	/vmlinuz root=UUID=c5571c47-d109-4a28-913c-5231a98a5006 ro   quiet	splash $vt_handoff
	initrd	/initrd.img
	chainloader +1
}

menuentry 'Linux, Kubuntu newer Version @ 64 Bit @ sde7' {
	set root=(hd4,msdos7)
	search --no-floppy --fs-uuid --set=root c5571c47-d109-4a28-913c-5231a98a5007
	linux	/vmlinuz root=UUID=c5571c47-d109-4a28-913c-5231a98a5007 ro   quiet	splash $vt_handoff
	initrd	/initrd.img
	chainloader +1
}

menuentry 'Linux, Mint Nadia Version 14 @ 64 Bit @ sde8' {
	set root=(hd4,msdos8)
	search --no-floppy --fs-uuid --set=root c5571c47-d109-4a28-913c-5231a98a5008
	linux	/vmlinuz root=UUID=c5571c47-d109-4a28-913c-5231a98a5008 ro   quiet	splash $vt_handoff
	initrd	/initrd.img
	chainloader +1
}

menuentry 'Linux, Mint newer Version @ 64 Bit @ sde9' {
	set root=(hd4,msdos9)
	search --no-floppy --fs-uuid --set=root c5571c47-d109-4a28-913c-5231a98a5009
	linux	/vmlinuz root=UUID=c5571c47-d109-4a28-913c-5231a98a5009 ro   quiet	splash $vt_handoff
	initrd	/initrd.img
	chainloader +1
}

menuentry 'Linux, Ultimate Edition Version 3.5 @ 64 Bit @ sde10' {
	set root=(hd4,msdos10)
	search --no-floppy --fs-uuid --set=root c5571c47-d109-4a28-913c-5231a98a500a
	linux	/vmlinuz root=UUID=c5571c47-d109-4a28-913c-5231a98a500a ro   quiet	splash $vt_handoff
	initrd	/initrd.img
	chainloader +1
}

menuentry 'System restart' {
reboot
echo 'System rebooting initiated ...'
}

menuentry 'System shutdown' {
halt
echo 'System shut down initiated ...'
}

### END /etc/grub.d/10_linux ###
What Easy-BCD do in such situation? I can tell you, but avoid to do that.

For me (us two/three for the moment) the best solution is a chainload in your NST pointing to the wished partition, no matter if a extra-grub_2-partition (like in my case) or directly to the OS-root-partition.

The best is, if someone have more than one Linux-OS (like people usually do at beginning to find theyr preferred Linux-flawour), to can make a "chainload"-entry for each Linux-OS with correlated differenzaite description.

In that case the user have only one Bootloader namely "Easy-BCD"

I would do it in your position.
 

mqudsi

Mostly Harmless
Staff member
#5
We are working on solving this in a much more elegant manner. EasyBCD *could* add features left and right to make this possible, but it wouldn't be in line with the "perfection" attitude we're taking to making everything both a) one-click and b) just work.

Future EasyBCD versions will automatically load multiple Linux installations from multiple partitions from a single, unified, first-level boot menu *without* requiring the user to manually create chainloaders. It takes time, but the net result should be worth it.