Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Possible Duplicate:
How can I repair GRUB? (How to get Ubuntu back after installing Windows?)

I installed Windows 7 after it crashed, and now I am unable to boot Ubuntu. Ubuntu partitions are still there. I tried using Boot-Repair, but it didn't work!

share|improve this question

marked as duplicate by Eliah Kagan, Jorge Castro, fabricator4, Stephen Myall, hhlp Jan 11 '13 at 10:50

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
You can simply use Ubuntu CD itself. Read through askubuntu.com/a/6321/22272 as it is already answered there. –  wisemonkey Nov 29 '11 at 17:05

6 Answers 6

Try this...

To recover grub:

  1. Open the live version.
  2. Open the terminal and run sudo fdisk -l to see where Linux is installed.
  3. Run sudo mount /dev/sdaX /mnt where x is the number you have found Linux word in
  4. Run sudo grub-install --root-directory=/mnt /dev/sda to install grub.
  5. Run sudo update-grub to update grub and if this command didn't work run it after rebooting.
  6. Reboot.
share|improve this answer
    
You saved my life... The --root-directory was just ehat I needed –  Mellowcandle May 8 '13 at 20:32

Boot-Repair works:

  • I had Windows XP and Ubuntu on my PC.
  • I installed Windows 7 which resulted in new boot loader without Ubuntu.
  • I installed Boot-Repair with the startup disc and GRUB was updated along with Windows 7 and Windows XP.
share|improve this answer
    
boot-repair has already been mentioned in one of the posted answers. –  Peachy Sep 27 '12 at 15:51

You can re-install grub in the Master Boot Record using the LiveCD for you distribution version,

It goes like this:

  • Boot from LiveCD ⋯ please try to use a LiveCD that has the same version of Grub2 as the installed version

  • Mount the root of the installed Ubuntu at /mnt

  • Change root

  • Update grub

  • Install grub

  • Reboot

The above steps are from near the bottom of the Ubuntu Community Documentation of Grub2

After booting from the liveCD ( select "Try Ubuntu" on the opening screen)

Then start up a terminal (dash, type-in terminal, … )…

  • It may be easier to open this web page while running LiveCD. Firefox should allow you to do this.

Type in the terminal sudo fdisk -l ⋯ and enter your password if asked. that's a lower case LFind the installed Ubuntu partitions, (from mine with other disks snipped ― here)

me@mycomputer:~$sudo fdisk -l

⋯ ⋯ ⋯

Disk /dev/sde: 300.1 GB, 300089646592 bytes
255 heads, 63 sectors/track, 36483 cylinders, total 586112591 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f5ebeb

Device    Boot      Start         End      Blocks   Id  System
/dev/sde2       138464296   586110975   223823340    5  Extended
/dev/sde3   *        2048   138463231    69230592   83  Linux
/dev/sde5       138464298   313460279    87497991    7  HPFS/NTFS/exFAT
/dev/sde6       313460736   317650943     2095104   82  Linux swap / Solaris
/dev/sde7       317652992   581922815   132134912   83  Linux
/dev/sde8       581924864   586110975     2093056   82  Linux swap / Solaris

Partition table entries are not in disk order

Find your Linux installation (Id=83, System=Linux0 then type in sudo mount /dev/sde3 /mntbut use your partition instead of /dev/sde3(my root partition is sde3, sde7 is my home partition)

This is assuming that you do not have a separate /boot partition. If you do, you will need to also mount it by typing sudo mount /dev/sd·· /mnt/boot, where sd·· is the partition where you installed the separate boot directory.

sudo ls /mntjust checking to see if I got it right

me@mycomputer:~$ sudo mount /dev/sde3 /mnt
me@mycomputer:~$ sudo ls /mnt
bin   cdrom  etc   initrd.img      lib         media  opt   root  sbin     srv  tmp  var      vmlinuz.old
boot  dev    home  initrd.img.old  lost+found  mnt    proc  run   selinux  sys  usr  vmlinuz

You should test to see if the boot directory is properly installed. Type in sudo ls /mnt/boot and if it is empty, the boot directory is not installed. It should look something like this:

me@mycomputer:~$ sudo ls /boot
abi-2.6.35-30-generic     initrd.img-2.6.35-30-generic  System.map-2.6.35-31-generic
abi-2.6.35-31-generic     initrd.img-2.6.35-31-generic  vmcoreinfo-2.6.35-30-generic
config-2.6.35-30-generic  memtest86+.bin                vmcoreinfo-2.6.35-31-generic
config-2.6.35-31-generic  memtest86+_multiboot.bin      vmlinuz-2.6.35-30-generic
grub                      System.map-2.6.35-30-generic  vmlinuz-2.6.35-31-generic

Type in for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; donedo as one line

Then type in sudo chroot /mntchange the root

Now type in sudo update-grubnow update grub

me@mycomputer:~$ sudo for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
me@mycomputer:~$ sudo chroot /mnt
me@mycomputer:~$ sudo update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.0.0-13-generic
Found initrd image: /boot/initrd.img-3.0.0-13-generic
Found linux image: /boot/vmlinuz-3.0.0-12-generic
Found initrd image: /boot/initrd.img-3.0.0-12-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sdc1
done

Now to re-install grub in the MBR. You will need to know which disk your system boots from, and find it in the fdisk -l listing you have already done. Then type in sudo grub-install /dev/sd· replacing sd· with the disk you will boot from.

me@mycomputer:~$ sudo grub-install /dev/sd·

Then type in Crtl-D to exit chroot.

Then type in sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done - as one line

me@mycomputer:~$ sudo for i in /sys /proc /dev/pts /dev; do sudo umount /mnt$i; done

If you mounted a separate /boot partition, type in sudo umount /mnt/boot

me@mycomputer:~$ sudo umount /mnt/boot

Then type in sudo umount /mnt

me@mycomputer:~$ ssudo umount /mnt

Then type in sudo reboot to restart he system (remember to remove the LiveCD).

me@mycomputer:~$ sudo reboot

Hopefully, grub will be installed.

Good Luck.

share|improve this answer
2  
I just installed Win7 for a friend and had to this. Thanks to askubuntu, I didn't have to try to remember. Yea! askubuntu. –  keepitsimpleengineer Jan 30 '12 at 21:11
1  
Worked great, thanks! Just a note, I didn't bother with all the umounting at the end -- ubuntu automatically unmounts filesystems on shutdown. So I just did a sudo reboot and everything worked fine. –  Ben Lee Dec 22 '12 at 22:38

Boot-Repair is a simple tool to repair frequent boot issues you may encounter in Ubuntu like when you can't boot Ubuntu after installing Windows or another Linux distribution, or when you can't boot Windows after installing Ubuntu, or when GRUB is not displayed anymore, some upgrade breaks GRUB, etc.

enter image description here

Remark: this can also be performed from a live-CD or live-USB.

Either add ‘ppa:yannubuntu/boot-repair’ to your Software Sources via the Software Centre or, for speeds-sake, add it using a new Terminal session:

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

Boot-Repair can be installed & used from any Ubuntu session (normal session, or live-CD, or live-USB). PPA packages are available for Ubuntu 10.04, 10.10, 11.04, 11.10, 12.04 and 12.10. source

share|improve this answer
    
did not work on 64-bit ubuntu CD - used grub install method instead –  Jim Ford Jan 16 at 21:35

One nuance to be careful about - the instructions say to check if you have a separate boot partition, and if so then do sudo mount /dev/sd·· /mnt/boot. I got confused here - I did have a boot partition that was not my Linux, it was my base partition (/sda0). So I did that command, and ended up getting a grub menu that only showed my Windows boot. I re-ran the procedure without the doing the sudo mount /dev/sd·· /mnt/boot and it worked beautifully - my old GRUB menu was back, with all the Linux options as well as Windows. The instructions are only referring to a separate Linux boot partition, not for the case where your boot partition is not Linux.

share|improve this answer

After installing Windows 7, Windows bootloader has overridden the MBR.

To fix this you can install a program 'EasyBCD' in Windows

Follow these steps to restore GRUB when after installing EasyBCD:

  1. Launch the program and select ADD NEW ENTRY from the EasyBCD Toolbox

  2. Select the 'Linux/BSD' from the operating systems column

  3. Choose GRUB (Legacy) under type and Click on the ADD ENTRY icon

  4. Choose YES to the restart prompt

  5. GRUB will be displayed after the restart which will detect the Ubuntu partition for you to be able to boot into Ubuntu

GOOD LUCK

Download link: http://neosmart.net/download.php?id=1

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.