Boot Linux using Windows 7 boot loader

Windows 7 and Linux live together on the same hard disk in perfect harmony. I had Windows 7 installed first, and a few GBytes of free space at the end of the hard drive which I left unpartitioned. Here is how to install Ubuntu:

  1. Download Ubuntu and burn the ISO on a CD.
  2. Boot from the CD, and install it. Make sure that you choose an empty partition, and also make sure that you select to install the boot loader on the Linux partition (example: on “/dev/sda3″, and not on the main MBR “/dev/sda”).

Until here you have an Ubuntu installation which you cannot boot, yet.

Here is how to configure the Windows 7 boot loader to include Ubuntu in the boot choice menu:

  1. Download EasyBCD and install it. EasyBCD is free for non-commercial use and offers a nice GUI to edit the Windows 7 boot loader menu.
  2. Do the following in EasyBCD — Add New Entry -> Operating Systems -> Linux/BSD:
    • Type: GRUB 2
    • Name: Ubuntu
    • Device: (Automatically configured)
  3. Finally, click on “View Settings” in EasyBCD. You should see something similar to the following:

    Entry #2
    Name: Ubuntu
    BCD ID: {1d486d61-64cc-12a5-7d94-af2f5df01535}
    Drive: C:\
    Bootloader Path: \NST\AutoNeoGrub0.mbr

EasyBCD ships the “stage1″ boot loader of GRUB2 (\NST\AutoNeoGrub0.mbr), so you don’t have to do anything else. Just reboot your Windows 7, and the boot menu should present a choice between “Windows 7″ and “Ubuntu”.

A note of caution: It is highly recommended that you do a backup of your whole hard disk before you try to install Ubuntu or modify the boot loader options.

P.S. There is no “boot.ini” in Windows 7. You could modify “boot.ini” in Windows XP to achieve the same result, but this does not apply for Windows 7.


References:

About these ads

9 thoughts on “Boot Linux using Windows 7 boot loader

  1. I followed this and was able to get to the Windows boot loader screen. When I select Ubuntu though it gets stuck at Try (hd0,1): …My Linux bootloader is saved to sda5 and my linux partition is sda4.

    I also tried changing the settings inside EasyBCD to set Ubuntu to boot from BOOT instead of C: and that brings up a failed to start screen stating “The selected entry could not be loaded because the application is missing or corrupt”.

    Any advice?

    • Sorry, I haven’t tried this with different partitions for “/boot” and the rest of the file-system. If you have no data on the Ubuntu installation, I’d suggest that you re-install it and use only one partition for “/” and “/boot”; “/home” could still be on a different partition, if you need to. Let us know the outcome.

      • The issue was using GRUB2 when setting it up with EasyBCD. For some reason it doesn’t create the ang0 file that’s required to boot. Redoing it using Grub(Legacy) instead fixed it.

  2. These instructions worked beautifully, thanks!

    In the Ubuntu setup, I manually made the first partiton of free space of about 100 MB with a mount point of /boot (in my case, was /dev/sda3). Made remaining partitions for / (using most of the free space) and for swap (using a few gigs), then used the drop-down menu to select /dev/sda3 (where /boot would be installed) for installing GRUB, rather than /dev/sda.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s