I can't boot to Ubuntu after installing Windows 7

You need to boot off the Ubuntu CD and re-install the grub boot loader.

You should really have installed windows first, then Linux afterwards, and it would have picked up your windows installation automatically and added it to the boot loader.

First you will need an Ubuntu Live CD. If you installed Ubuntu from CD then you should already have one. Make sure that the version you have on CD is the same as the version you are running on your computer.

Once you have your CD, and have booted off it, select the "Try Ubuntu" (or similar) icon. This will place you in a very familiar Ubuntu desktop environment.

Next you have to identify which partition is your boot partition.

Go to the Places menus at the top of the screen and mount any filesystems listed there (by clicking on them). The filesystem that opens up and has files similar to this list is the boot filesystem:

config-2.6.18-3-686      initrd.img-2.6.18-3-686.bak  System.map-2.6.18-3-686
grub                     lost+found                   vmlinuz-2.6.18-3-686
initrd.img-2.6.18-3-686  memtest86+.bin

The numbers don't matter, just the names. If you see such things as bin, usr, lib etc then you have the wrong filesystem.

Make a note of the filesystem name (in the top of the window).

Next you need to open a terminal window, so go to the Applications menu and select Accessories then Terminal.

In the terminal type:

$ mount

and look for the line that contains the name of the filesystem that you are interested in. That line will be prefixed by /dev/<something> where is along the lines of sda2, hda1 etc. This is the device name of the boot partition.

Now we are ready to replace the master boot record with Grub.

In this example I assume your boot device is /dev/sda2 and your filesystem is /media/0d104aff-ec8c-44c8-b811-92b993823444 - replace these with your own filesystem details.

$ sudo grub-install --root-directory=/media/0d104aff-ec8c-44c8-b811-92b993823444 /dev/sda

Note you miss out the 2 from the device name. You want to reference the entire device, and not just the boot partition. The --root-directory option specifies which partition contains the boot data.

If any warnings appear try modifying the command to this:

$ sudo grub-install --root-directory=/media/0d104aff-ec8c-44c8-b811-92b993823444 /dev/sda --recheck

If it all worked you should see this:

Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0)   /dev/sda

You can now reboot the computer and you should have your Grub menu back.


I've written instructions to solve this problem here, because I faced the same situation.

Here's a short summary of the steps:

  1. Insert Ubuntu Live CD into CD drive and boot from it

  2. Identify Ubuntu installation partition from sudo fdisk -l

  3. Mount the Ubuntu partition drive with sudo mount /dev/sdXX /mnt

  4. Mount other partitions also to corresponding directory

  5. Install GRUB boot loader with sudo grub-install --root-directory=/mnt /dev/sda

  6. Unmount and restart


From the Ubuntu Site: https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows

Using the Ubuntu CD (Recommended)

The graphical way:

1. Insert your Ubuntu CD, reboot your computer and set it to boot from CD in the BIOS and boot into a live session. You can also use a LiveUSB if you have created one in the past.

2. Install and run Boot-Repair - - I needed to use the following command to get it to work:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update && sudo apt-get install -y boot-repair && boot-repair

3. Click "Recommended Repair".

4. Now reboot your system. The usual GRUB boot menu should appear. If it does not, hold Left Shift while booting. You will be able to choose between Ubuntu and Windows.