Just a thought

GRUB error 15 ( Debian/Ubuntu )

Posted by stringofthoughts on May 25, 2009

The reason for grub error 15 is very simple and so is the solution. The error gives you a message “Error 15: File not found!” simply because the file grub wants is not there. why? because grub is looking into a wrong device. You need to make changes to your /boot/grub/menu.lst file to fix the problem so that grub looks into the correct device but first find out where is your root partition.Boot from a live CD -> open terminal .

$ sudo fdisk -l | grep -i linux

This will list your swap and root devices. In our example here

/dev/hda5            1276        1397      979902   82  Linux swap / Solaris
/dev/hda6            1398        2550     9261441   83  Linux

Swap :: /dev/hda5 and Linux root :: /dev/hda6

/dev/hda6 is your root device. /dev/hda6 is written as (hd0,5) in grub. Make sure you understand this if it’s /dev/hda1 in your system then you ‘ll use (hd0,0). It’s always one digit less in (hdX,Y)

Open your menu.lst file and check /dev/hda6 and (hd0,5) is the root device in the file and not any other device. This is the main reason for error 15. Here in our example root is /dev/hda6 so the /boot/grub/menu.lst should look like this

title        Debian GNU/Linux, kernel 2.6.26-2-686
root        (hd0,5)
kernel        /boot/vmlinuz-2.6.26-2-686 root=/dev/hda6 ro
initrd        /boot/initrd.img-2.6.26-2-686

title        Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
root        (hd0,5)
kernel        /boot/vmlinuz-2.6.26-2-686 root=/dev/hda6 ro single
initrd        /boot/initrd.img-2.6.26-2-686

For Ubuntu users it’ll be (hd0,5) and /dev/sda6 .Make sure the root device is correct in this file.

Next file to check is /etc/fstab. Open the file and check the device for swap and root is correct. here is an example

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hda6 /               ext3    errors=remount-ro 0       1
/dev/hda5 none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0       0

Once everything is in place reboot the system. Congratulations you ‘ve just solved your grub problem.

13 Responses to “GRUB error 15 ( Debian/Ubuntu )”

  1. […] The reason for grub error 15 is very simple and so is the solution. The error gives you a message “Error 15: File not found!” simply because the file grub wants is not there. why? because grub is looking into a wrong device. More here […]

  2. […] The reason for grub error 15 is very simple and so is the solution. The error gives you a message “Error 15: File not found!” simply because the file grub wants is not there. why? because grub is looking into a wrong device. More here […]

  3. TetonsGulf said

    This gave me some new things to look at, but I’m curious how to handle UUID’s?

    I’ve opened a thread over at Ubuntu Forums and I’m getting some help, but another set of eyes would be greatly appreciated! I’d be happy to link back here if you can help me close this!

    http://ubuntuforums.org/showthread.php?p=7398568#post7398568

    Long and short of it, fdisk -l shows:

    /dev/sda1 is boot Linux
    /dev/sda2 Extended
    /dev/sda5 Linux Swap/Solaris

    /dev/sdb1 is boot HPFS/NTFS

    my menu.lst looks like this:

    title Ubuntu 8.10, kernel 2.6.27-11-generic
    uuid 22a15ae1-630b-46d3-bd58-84e4d0e9697b
    kernel /boot/vmlinuz-2.6.27-11-generic root=UUID=22a15ae1-630b-46d3-bd58-84e4d0e9697b ro quiet splash
    initrd /boot/initrd.img-2.6.27-11-generic
    quiet

    title Ubuntu 8.10, kernel 2.6.27-11-generic (recovery mode)
    uuid 22a15ae1-630b-46d3-bd58-84e4d0e9697b
    kernel /boot/vmlinuz-2.6.27-11-generic root=UUID=22a15ae1-630b-46d3-bd58-84e4d0e9697b ro single
    initrd /boot/initrd.img-2.6.27-11-generic

    title Ubuntu 8.10, kernel 2.6.27-7-generic
    uuid 22a15ae1-630b-46d3-bd58-84e4d0e9697b
    kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=22a15ae1-630b-46d3-bd58-84e4d0e9697b ro quiet splash
    initrd /boot/initrd.img-2.6.27-7-generic
    quiet

    title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
    uuid 22a15ae1-630b-46d3-bd58-84e4d0e9697b
    kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=22a15ae1-630b-46d3-bd58-84e4d0e9697b ro single
    initrd /boot/initrd.img-2.6.27-7-generic

    title Ubuntu 8.10, memtest86+
    uuid 22a15ae1-630b-46d3-bd58-84e4d0e9697b
    kernel /boot/memtest86+.bin
    quiet

    And finally fstab:

    #
    #
    proc /proc proc defaults 0 0
    # /dev/sdb1
    UUID=22a15ae1-630b-46d3-bd58-84e4d0e9697b / ext3 relatime,errors=remount-ro 0 1
    # /dev/sdb5
    UUID=0e754f28-2132-4506-8b25-eb974af0ec8f none swap sw 0 0
    /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
    none /proc/bus/usb usbfs devgid=46,devmode=664 0 0

    • stringofthoughts said

      Hi,

      your menu.lst file seems okay. You should know that the linux image file should actually be there in /boot directory . check if the files vmlinuz-2.6.27-11-generic and initrd.img-2.6.27-11-generic are available in /boot .

      Try it like this, It’s for kernel 2.6.27-11

      title Ubuntu 8.10, kernel 2.6.27-11-generic
      root (hd0,0)
      kernel /boot/vmlinuz-2.6.27-11-generic root=/dev/sda1 ro
      initrd /boot/initrd.img-2.6.27-11-generic

      title Ubuntu 8.10, kernel 2.6.27-11-generic (recovery mode)
      root (hd0,0)
      kernel /boot/vmlinuz-2.6.27-11-generic root=/dev/sda1 ro single
      initrd /boot/initrd.img-2.6.27-11-generic

      Modify your /etc/fstab file to


      # /etc/fstab: static file system information.
      #
      #
      proc /proc proc defaults 0 0
      /dev/sda1 / ext3 errors=remount-ro 0 1
      /dev/sda5 none swap sw 0 0
      /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

  4. […] […]

  5. annonymous said

    FOUND THE PROBLEM

    at the end of installation (like step 8 of 8) you will be prompted
    to accept what is a summary of what the system is about to do (partion ___, etc)

    click on “advanced”, and there will be a pull down list that says HD, 0 or something
    of that sort (don’t remember and i am not going through the process again)
    click on that and you will no longer have that option, but the name of your hard drive and the
    name of your operating system, in this case ubuntu 9.10.
    Click on Ubuntu 9.10 and you’re set!

    some people just luck out i guess.

    Something to keep in mind:
    I already installed the os on the computer but the grub alert came out,
    and that is when i re-inserted the livecd and went through the installation process
    again (not formatting anything, keeping everything the same)

    hope this helps : )

  6. […] https://help.ubuntu.com/community/BackupYourSystem/TAR http://linux.byexamples.com/archives/321/fstab-with-uuid/ https://stringofthoughts.wordpress.com/2009/05/25/grub-error-15-debianubuntu/ […]

  7. David said

    After following the “hints” of one of the previous posts, I finally managed to get pass the Error 15 when installing the 64-bit version.
    The key was in the last step of installing Ubuntu, step 6 of 6, Click on the Advanced.. button.

    It should bring up a window named Advanced Options.
    Here I noticed the wrong drive was selected for the Device for boot loader installation.
    So I selected the correct hard drive (The same one I was installing Ubuntu to) and upon finishing and restarting, it successfully booted without any problems.

    So there’s no need to edit anything, just make sure the boot loader gets installed in the right place. I hope that helps others.

  8. Annonymous1 said

    Had the same problems on 8.04 CLI-Only 64-Bit + the Alternative distro’s, including the UUID business in menu.1st file.

    Seems to be centered around multiple drives. I disconnedted my 4x 1TB drives, leaving only the System drive, and it fired right up. Checked the menu.1st file after it booted, all was as it should be.

    Connected the 4x drives back up, powered it back on, booted normally no editing or change in installation (including going into the advanced section of patitioning) was reqquired. Tested this three diffrent times with both the CLI and Alt diistro’s, same results. Sames results all three times. With additional drives connected, Install.sh seems to get confused. Without them, all seems well.

    My Fix Fix For This: Install with (1) Drive, then add your additional drives. If your creating an LVM, install LVM after the initial install apt-get dist-update. Worked just fine, no issues that I could note.

  9. rahul said

    Boot Info Script 0.55 dated February 15th, 2010

    ============================= Boot Info Summary: ==============================

    => Grub 0.97 is installed in the MBR of /dev/sda and looks on the same drive
    in partition #5 for /boot/grub/stage2 and /boot/grub/menu.lst.
    => Syslinux is installed in the MBR of /dev/sdb

    sda1: _________________________________________________________________________

    File system: ntfs
    Boot sector type: Windows Vista/7
    Boot sector info: No errors found in the Boot Parameter Block.
    Operating System: Windows 7
    Boot files/dirs: /bootmgr /boot/bcd /Windows/System32/winload.exe
    /grldr /wubildr.mbr /wubildr

    sda2: _________________________________________________________________________

    File system: Extended Partition
    Boot sector type: Unknown
    Boot sector info:

    sda5: _________________________________________________________________________

    File system: ext4
    Boot sector type: –
    Boot sector info:
    Operating System: Ubuntu 10.04 LTS
    Boot files/dirs: /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img

    sda3: _________________________________________________________________________

    File system: ntfs
    Boot sector type: Windows Vista/7
    Boot sector info: No errors found in the Boot Parameter Block.
    Operating System:
    Boot files/dirs: /bootmgr /boot/BCD /grldr

    sdb1: _________________________________________________________________________

    File system: vfat
    Boot sector type: Fat32
    Boot sector info: No errors found in the Boot Parameter Block.
    Operating System:
    Boot files/dirs:

    =========================== Drive/Partition Info: =============================

    Drive: sda ___________________ _____________________________________________________

    Disk /dev/sda: 160.0 GB, 160041885696 bytes
    255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes

    Partition Boot Start End Size Id System

    /dev/sda1 * 63 237,151,592 237,151,530 7 HPFS/NTFS
    /dev/sda2 237,152,254 297,392,127 60,239,874 f W95 Ext d (LBA)
    /dev/sda5 237,152,256 297,392,127 60,239,872 83 Linux
    /dev/sda3 297,395,280 312,576,704 15,181,425 7 HPFS/NTFS

    Drive: sdb ___________________ _____________________________________________________

    Disk /dev/sdb: 8023 MB, 8023703552 bytes
    5 heads, 32 sectors/track, 97945 cylinders, total 15671296 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes

    Partition Boot Start End Size Id System

    /dev/sdb1 * 8,064 15,671,295 15,663,232 b W95 FAT32

    blkid -c /dev/null: ____________________________________________________________

    Device UUID TYPE LABEL

    /dev/loop0 squashfs
    /dev/sda1 D2365CCB365CB1E9 ntfs
    /dev/sda2: PTTYPE=”dos”
    /dev/sda3 2C88743C8874071C ntfs HP_RECOVERY
    /dev/sda5 c133a9f1-d134-4add-811d-928d59336098 ext4
    /dev/sda: PTTYPE=”dos”
    /dev/sdb1 CA46-FCCA vfat PIYUSH
    /dev/sdb: PTTYPE=”dos”

    ============================ “mount | grep ^/dev output: ===========================

    Device Mount_Point Type Options

    aufs / aufs (rw)
    /dev/sdb1 /cdrom vfat (ro,noatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
    /dev/loop0 /rofs squashfs (ro,noatime)

    =========================== sda5/boot/grub/grub.cfg: ===========================

    #
    # DO NOT EDIT THIS FILE
    #
    # It is automatically generated by /usr/sbin/grub-mkconfig using templates
    # from /etc/grub.d and settings from /etc/default/grub
    #

    ### BEGIN /etc/grub.d/00_header ###
    if [ -s $prefix/grubenv ]; then
    load_env
    fi
    set default=”0”
    if [ ${prev_saved_entry} ]; then
    set saved_entry=${prev_saved_entry}
    save_env saved_entry
    set prev_saved_entry=
    save_env prev_saved_entry
    set boot_once=true
    fi

    function savedefault {
    if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
    fi
    }

    function recordfail {
    set recordfail=1
    if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
    }
    insmod ext2
    set root='(hd0,5)’
    search –no-floppy –fs-uuid –set c133a9f1-d134-4add-811d-928d59336098
    if loadfont /usr/share/grub/unicode.pf2 ; then
    set gfxmode=640×480
    insmod gfxterm
    insmod vbe
    if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don’t
    # understand terminal_output
    terminal gfxterm
    fi
    fi
    insmod ext2
    set root='(hd0,5)’
    search –no-floppy –fs-uuid –set c133a9f1-d134-4add-811d-928d59336098
    set locale_dir=($root)/boot/grub/locale
    set lang=en
    insmod gettext
    if [ ${recordfail} = 1 ]; then
    set timeout=-1
    else
    set timeout=10
    fi
    ### END /etc/grub.d/00_header ###

    ### BEGIN /etc/grub.d/05_debian_theme ###
    set menu_color_normal=white/black
    set menu_color_highlight=black/light-gray
    ### END /etc/grub.d/05_debian_theme ###

    ### BEGIN /etc/grub.d/10_linux ###
    menuentry ‘Ubuntu, with Linux 2.6.32-21-generic’ –class ubuntu –class gnu-linux –class gnu –class os {
    recordfail
    insmod ext2
    set root='(hd0,5)’
    search –no-floppy –fs-uuid –set c133a9f1-d134-4add-811d-928d59336098
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=c133a9f1-d134-4add-811d-928d59336098 ro quiet splash
    initrd /boot/initrd.img-2.6.32-21-generic
    }
    menuentry ‘Ubuntu, with Linux 2.6.32-21-generic (recovery mode)’ –class ubuntu –class gnu-linux –class gnu –class os {
    recordfail
    insmod ext2
    set root='(hd0,5)’
    search –no-floppy –fs-uuid –set c133a9f1-d134-4add-811d-928d59336098
    echo ‘Loading Linux 2.6.32-21-generic …’
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=c133a9f1-d134-4add-811d-928d59336098 ro single
    echo ‘Loading initial ramdisk …’
    initrd /boot/initrd.img-2.6.32-21-generic
    }
    ### END /etc/grub.d/10_linux ###

    ### BEGIN /etc/grub.d/20_memtest86+ ###
    menuentry “Memory test (memtest86+)” {
    insmod ext2
    set root='(hd0,5)’
    search –no-floppy –fs-uuid –set c133a9f1-d134-4add-811d-928d59336098
    linux16 /boot/memtest86+.bin
    }
    menuentry “Memory test (memtest86+, serial console 115200)” {
    insmod ext2
    set root='(hd0,5)’
    search –no-floppy –fs-uuid –set c133a9f1-d134-4add-811d-928d59336098
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
    }
    ### END /etc/grub.d/20_memtest86+ ###

    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry “Windows Vista (loader) (on /dev/sda3)” {
    insmod ntfs
    set root='(hd0,3)’
    search –no-floppy –fs-uuid –set 2c88743c8874071c
    chainloader +1
    }
    ### END /etc/grub.d/30_os-prober ###

    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries. Simply type the
    # menu entries you want to add after this comment. Be careful not to change
    # the ‘exec tail’ line above.
    ### END /etc/grub.d/40_custom ###

    =============================== sda5/etc/fstab: ===============================

    # /etc/fstab: static file system information.
    #
    # Use ‘blkid -o value -s UUID’ to print the universally unique identifier
    # for a device; this may be used with UUID= as a more robust way to name
    # devices that works even if disks are added and removed. See fstab(5).
    #
    #
    proc /proc proc nodev,noexec,nosuid 0 0
    # / was on /dev/sda5 during installation
    UUID=c133a9f1-d134-4add-811d-928d59336098 / ext4 errors=remount-ro 0 1

    =================== sda5: Location of files loaded by Grub: ===================

    128.0GB: boot/grub/core.img
    128.0GB: boot/grub/grub.cfg
    128.0GB: boot/initrd.img-2.6.32-21-generic
    128.0GB: boot/vmlinuz-2.6.32-21-generic
    128.0GB: initrd.img
    128.0GB: vmlinuz
    =========================== Unknown MBRs/Boot Sectors/etc =======================

    Unknown BootLoader on sda2

    00000000 e1 a0 2a df 06 49 93 8b 82 78 2a 42 49 bb 86 93 |..*..I…x*BI…|
    00000010 62 8d fb 31 1c 59 b2 68 f4 91 7d f4 5a f2 b7 02 |b..1.Y.h..}.Z…|
    00000020 2c f9 84 ff 80 27 af a4 ce 8a ad 63 29 44 00 22 |,….’…..c)D.”|
    00000030 b1 00 4b 05 cd 82 5b bc 30 d9 37 60 8b 52 a0 03 |..K…[.0.7`.R..|
    00000040 9e 61 aa cd 7c aa 35 31 58 d2 da c9 e5 ec 4e ce |.a..|.51X…..N.|
    00000050 1f 6a e8 31 18 02 b5 77 c3 36 c2 97 7d 89 c0 70 |.j.1…w.6..}..p|
    00000060 b2 c0 db d9 3f 82 e3 4f 8b 80 2f 8e 01 5f 03 6d |….?..O../.._.m|
    00000070 48 fe fb cc d4 27 39 a4 1e b9 ab 89 af 87 63 39 |H….’9…….c9|
    00000080 6a ef dd 88 24 80 a5 58 12 cb ed 60 13 92 96 04 |j…$..X…`….|
    00000090 82 72 a0 81 aa dd 82 d5 42 59 c1 92 65 19 26 65 |.r……BY..e.&e|
    000000a0 7b 3b be 0b 48 f0 0e fb b9 da 92 02 a3 bb c1 04 |{;..H………..|
    000000b0 8f 9e ef d8 1e ac c0 a8 1a 3b cb 17 3c 4f 0e b4 |………;..<O..|
    000000c0 74 47 79 e7 9c ed 86 f6 a2 d3 33 de c6 2a 35 05 |tGy…….3..*5.|
    000000d0 19 66 b6 07 cb 7c f7 b2 7b 20 af 58 93 9b 91 04 |.f…|..{ .X….|
    000000e0 92 80 ba 82 c3 a4 85 2f 2d 33 5a 94 ce f6 d0 30 |……./-3Z….0|
    000000f0 de 0d 6a eb d3 53 23 9b 68 94 5f cc 6d 8a 86 37 |..j..S#.h._.m..7|
    00000100 c2 b7 b9 a5 ea 0b 0b 34 7c 0d da ca f1 c5 7e 02 |…….4|…..~.|
    00000110 4f c6 39 7d f5 16 81 17 f8 5d e8 e7 d0 3d 40 a7 |O.9}…..]…=@.|
    00000120 e1 bc 6e ce d7 ea 18 1d fe eb 6f 71 f8 cb 09 7e |..n…….oq…~|
    00000130 e4 45 69 47 c1 65 e1 db 90 eb aa 98 29 b9 a8 83 |.EiG.e……)…|
    00000140 e5 a5 41 bf 7d b5 66 a2 e8 e7 f6 02 94 df 00 14 |..A.}.f………|
    00000150 75 c0 f9 c9 a6 52 f5 1f bf 83 15 b5 b4 54 2d 3c |u….R…….T-<|
    00000160 d2 1c 5d 5e 79 cb ce 54 14 cd cc 65 65 cb ef 3a |..]^y..T…ee..:|
    00000170 09 12 25 cf c6 05 a9 55 4e 62 cb 51 52 a0 4c 05 |..%….UNb.QR.L.|
    00000180 c9 98 67 95 f3 ec 0a 40 c6 ff d3 67 bf af 0e a2 |..g….@…g….|
    00000190 fa d2 ff b4 be 61 fd 6b a5 f5 6f 07 ad 2f ca d6 |…..a.k..o../..|
    000001a0 7b 6e e3 f4 fb 42 45 df fa d3 ae fb fb d2 9f e0 |{n…BE………|
    000001b0 a5 d3 a6 ae 23 90 4f ec d0 96 2c 4d f4 7c 00 fe |….#.O…,M.|..|
    000001c0 ff ff 83 fe ff ff 02 00 00 00 00 30 97 03 00 00 |………..0….|
    000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…………….|
    *
    000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |…………..U.|
    00000200

  10. koluis said

    I like this content so much.Imagination is more important than knowledge.

  11. AirCatHeavy229er said

    May I suggest before you dash off editing fstab or any other files for that matter….

    Make sure if you have more than one Linux drive connected to your system that you have selected the correct one for booting.

    I have 3 different Linux formatted harddrives, I accidentally selected the wrong one and got the Error15 error.

    All I had to do was go back in BIOS and select the correct drive to boot from.

    Simple? Yes….but it’s worth checking BEFORE doing anything else (if you have more than one drive).

Leave a comment