How can I add an entry for Ubuntu to the Windows 7 boot menu?

I have the following setup:

first partition is windows 7 partition second partition - ubuntu 12.04 partition

while installing ubuntu I installed grub2 bootloader to ubuntu partition

mbr contains windows bootloader

I have tried using EasyBCD to add entry to windows boot menu, with no luck - this entry just boots into grub4dos command prompt

how to add Ubuntu to windows boot menu?

please do not suggest installing grub2 to mbr or wubi..


Update:

I followed the instructions to install EasyBCD and add an entry to Windows boot menu to boot Ubuntu step by step. When I reboot both the NeoGrub Bootloader and the Ubuntu menu items take me to the screen below.

enter image description here


The procedure which has worked for me is outlined below.

Did you perform the install of the NeoGrub bootloader in step (3)? If NeoGrub is installed then there will be a \NST folder on your C: drive.

I think this step is sometimes left out of guides for setting up EasyBCD.

Using EasyBCD to Boot to GRUB from Windows Boot Menu

  1. Start Windows and install the free version of EasyBCD.
  2. Open the EasyBCD program and select Add New Entry from the sidebar on the left.
  3. Select the rightmost tab, NeoGrub, under "Operating Systems" and click the Install button.

    screenshot of NeoGrub bootloader install tab

    Note: This adds the NeoGrub bootloader code to your C:\ folder. If the install worked correctly you will see the file C:\NeoGrub and the folder C:\NST.
  4. Select the Linux/BSD tab. Choose GRUB2 as the type of the entry and, optionally, edit the name of the entry you are about to add to the Windows Boot menu.

    EasyBCD Add New Entry for Linux/BSD for GRUB2

    Click the Add Entry button to add an entry to boot Linux (GRUB menu) to the Windows boot menu.
  5. Select Edit Boot Menu from the sidebar to review your changes.

    Note: You can delete the entry for NeoGrub Bootloader if you wish.
    You need the bootloader, but you do not need a boot menu entry for it unless you are using it in some other way.
  6. Save your changes and reboot. When the Windows boot menu appears, select the EasyBCD entry you added to boot Linux. You should see something similar to the text below.

    enter image description here

    Then the GNU GRUB boot menu should appear.

I've just been through this as a Linux newbie this weekend and just(!) got this working. I had Windows 7 factory setup on a laptop and was trying to get Ubuntu to dual boot. I used the Windows partition manager to free up some hard disk space and then used live CD and GParted to create a /, /home and swap logical partitions. I then installed Ubuntu into those partitions. I then went back to Windows, ran EasyBCD and every way I tried (see above thread suggestions), always ended up with either with the grub> command prompt and sometimes nothing very much at all.

The first thing to do is check if you can use the grub> command prompt to actually boot into your ubuntu install. This will give you confidence that the install worked and will tell you what settings to use later.

"ls" will give you a listing of where you are. For me, this appeared to be my Windows 7 C drive from some of the directory names it brought up. So, you need to change the root to the partition that contains Ubuntu's /boot files. For this you use the grub "root" command.

Grub doesn't use sda/b/c/d for sata hard disks, instead it uses hd0 for sda, hd1 for sdb etc. The 'tab_key' is used in grub for auto complete options. I only have one hard disk so typing "root (hd0,'tab_key'" gave me all the options for partitions in hd0 that were available. It will help if you know which partition you've installed your /boot into but even then it's not too intuitive. I'd used GParted to create my install partitions so knew I'd installed /boot into partition sda9 so was able to identify it relatively easy. A bit confusing because grub starts counting extended partitions from 4. The way to get grub to get my /boot partition was by typing "root (hd0,8)" i.e. one less than the sda9 number. Do an "ls" and sure enough, I could see the /boot directory a vmlinuz file and a initrd.img file in the root.

The next bit to do is to load the kernel and the initrd file. The kernel one was the one that threw me as you need to specify the root in normal linux terminology as part of the command. Although the actual kernel and .img file are in the /boot, they have long names. In the root there's pointers to them that save on accurate typing. Here's everything I typed, including the root command above:

root (hd0,8)

kernel /vmlinuz root=/dev/sda9

initrd /initrd.img

boot

Doing that brought my Ubuntu up and gave me confidence that it was installed OK. Now I just needed to figure out how to automate it. This took me back to EasyBCD on Win7. Click to add a new entry (I left the original one that took me to grub> alone), and selected the NeoGrub tab and clicked Install. Following that, I clicked Configure and this brought up a menu.lst file. I added all the lines that I'd used above on the grub command line to get it to boot up and that was it. Next time I rebooted, I chose NeoGrub and I'm typing this all in from ubuntu, which looks fab and fast compared to the constant circles of delay of Win7.

links I've been using all weekend....

http://www.linuxbsdos.com/2012/05/17/how-to-dual-boot-ubuntu-12-04-and-windows-7/2/

http://www.dedoimedo.com/computers/dual-boot-windows-7-ubuntu.html


You can use EasyBCD, but keep in mind that this will slow down the booting of the system, so after booting to Ubuntu, change mbr in such a way that it points to the Ubuntu GRUB which will search and list all the operating systems installed in the system, which is far better than windows boot menu, also remove Ubuntu option from Windows boot menu.