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.

I did a dumb thing... I forgot that Ubuntu 10.04 (Lucid) switched to Grub2 which puts a ton of *.mod files (kernel modules) in /boot/grub. I thought they were soundtrack files put there erroneously and moved them. Needless to say, the next reboot was traumatic. I was presented with something I had no memory of ever seeing... a 'grub rescue>' prompt.

With the help of how-to-fix-error-unknown-filesystem-grub-rescue however, I was able to recover...

  • Discovered that Grub Rescue does not have 'cd', 'cp' or any other filesystem commands except its own variation of 'ls'.
  • So first I had to find the partition with the /boot directory containing vmlinuz file and other boot image files... (approximation from memory of failed attempts, as well as blank lines for clarity, added 2014-07-10 by docsalvage)

    grub rescue>  ls  
    (hd0,4) (hd0,3) (hd0,2) (hd0,1)  
    
    grub rescue>  ls (hd0,4)/boot
    ... some kind of 'not found' message
    
    grub rescue>  ls (hd0,3)/boot
    ... some kind of 'not found' message
    
    grub rescue>  ls (hd0,2)/boot
    ... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic 
    
  • Found /boot directory containing vmlinuz file vmlinuz-2.6.32-33-generic on partition (hd0,2)

  • Then manually boot from 'grub rescue>' prompt. The following commands will...

    • set the root to use the /boot directory on partition (hd0,2)
    • load kernel module linux
    • set that module to use the kernel image vmlinuz-2.6.32-33-generic
    • set initrd(initialize RAM disk) to use the image initrd.img-2.6.32-33-generic
    • boot linux
  • grub rescue>  set root=(hd0,2)/boot  
    grub rescue>  insmod linux  
    grub rescue>  linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic  
    grub rescue>  initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic  
    grub rescue>  boot  
    
  • This boots and crashes to the BusyBox prompt which DOES have some rudimentary filesystem commnds.

  • Then I moved the *.mod files back to the /boot/grub directory...

    busybox>  cd /boot  
    busybox>  mv mod/* grub
    busybox>  reboot
    
  • The reboot was successful but that was a lot of work.

Is there an easier way?

share|improve this question
1  
Boot-Repair would be way easier, in my opinion. Check out one of my multiple answers on Boot-Repair for details on using it. –  SirCharlo Oct 11 '12 at 19:56
1  
The "easiest" way is not always the best way. I strongly disagree with all the comments that suggest using a Live CD; it's really very difficult to boot from a Live CD on systems that don't have a CD/DVD reader. –  Simón Sep 14 '13 at 23:15
    
ican not locate the partition with the /boot directory.All partitions upon ls command give unknown filesystem output. –  Rafed Nole Jul 9 at 18:36
    
I've added some details to the "question" above that may help. –  DocSalvage Jul 10 at 10:18
    
Thanks , Upon ls command I get (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) and I have tried /boot with each of them and always it says unknown file system.Please help. –  Rafed Nole Jul 10 at 13:19
show 1 more comment

5 Answers

up vote 4 down vote accepted

No. I think you pretty much found the easiest way to recover from the state of your system using grub rescue; it is a very minimalistic system giving just enough capability to boot the system.

BTW, I believe you must have found the .mod files and executed insmod linux or the linux command would have failed.

The only other way, as mentioned, would be to boot a Live CD and reinstall grub2 after chroot'ing to the 'broken' system.

share|improve this answer
    
You're absolutely right! I forgot that I'd done that. Added to my original post above for future reference. I need to be more disciplined in keeping careful notes in these situations. Please advise if further edits are needed. –  DocSalvage Oct 10 '12 at 5:11
add comment

Here are some general and basic instructions to help with boot errors such as GRUB loading stage 1.5 error 15 (e.g. after the installation of Windows on different disk drive) :

  1. Boot with a LiveDVD (e.g., the Ubuntu Desktop disk).

  2. Open a terminal, and re-write the grub configuration using these commands:

    • sudo mount /dev/sdXY /mnt
    • sudo grub-install --root-directory=/mnt /dev/sdX

Where /dev/sdX is the disk where Ubuntu is installed, and /dev/sdXY is the partition on the disk where Ubuntu is installed. In other words, /dev/sdXY contains /boot and so on.

Use fdisk -l to verify the Ubuntu installation location.

share|improve this answer
    
Did not work. Perhaps if the directions were more specific, it would have worked. –  Tim Stewart Jun 4 '13 at 18:36
    
When I had a grub2 problem on a machine without cd drive I was able to recover by using my Gparted Live usb memory stick drive. I booted into Gparted live. THEN I started a terminal and typed fdisk -l (that's letter ell, not number 1) The output from that let me identify the partition which had the root partition and from there I followed the excellent instructions above and I was soon happily dual booting again. –  Vic Mar 3 at 21:45
add comment
  1. Boot into Live CD

  2. Open Terminal (CTRL+ALT+T)

  3. Enter the following commands:

sudo fdisk -l

And find your Ubuntu partition (should be /dev/sda1 if it is the first partition)

sudo mount /dev/sda1 /mnt

sudo mount --bind /sys /mnt/sys

sudo mount --bind /proc /mnt/proc

sudo mount --bind /dev /mnt/dev

sudo chroot /mnt

Now reinstall Grub2

sudo apt-get install --reinstall grub2
share|improve this answer
1  
Is this a better way better than sudo mount /dev/sda1 /mnt and sudo grub-install --root-directory=/mnt/ /dev/sda && sudo update-grub? –  cadadr Oct 8 '12 at 17:28
add comment

I had the same problem when I upgraded my system.

I suggest the following simple steps:

  1. Boot your system with ubuntu live CD or live USB.
  2. Open the terminal and run the command sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
  3. Then install boot repair by running the command sudo apt-get install -y boot-repair && boot-repair

  4. Launch the boot repair after installing. For example, from the menu, use System->Administration->Boot-Repair (Ubuntu 10.04 only) and follow the instructions.

    It may take 15-20 min to figure out the problem and to fix it.

For more help go to the link https://help.ubuntu.com/community/Boot-Repair

share|improve this answer
add comment

You could boot live CD, mount your hard drive, open nautilus as root and copy those files to /boot.

share|improve this answer
add comment

protected by Community Apr 23 '13 at 20:02

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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