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.