GRUB Error 15: File not found after applying kernel patch

  • 3939750
  • 27-Nov-2007
  • 30-Apr-2012

Environment

Novell SUSE Linux Enterprise Server 10
Novell SUSE Linux Enterprise Server 10 Service Pack 1
Novell Open Enterprise Server 2 (OES2)

System device set up to use EVMS as per
SLES10 doc:
https://www.novell.com/documentation/sles10/stor_evms/index.html?page=/documentation/sles10/stor_evms/data/configsysdevatinstall.html
or OES 2 doc:
https://www.novell.com/documentation/oes2/inst_oes_lx/index.html?page=/documentation/oes2/inst_oes_lx/data/bxwmj29.html

Situation

After applying a kernel patch, the system fails to boot with a GRUB ERROR:
Error 15: File not found

Resolution

This problem is caused by an incorrect change to the boot loader configuration file /boot/grub/menu.lst file which can be corrected as follows.

Boot into the installed system

Boot the installed system as described in https://www.novell.com/coolsolutions/feature/19263.htmlstep #7, or as follows:
  • Reboot the machine, press the Escape key at the grub boot loader screen. This allows for the boot options to be edited:
  • Confirm "OK"
  • Select boot option "SUSE Linux Enterprise Server 10 SP1 - 2.6.16.53-0.16"
  • Select 'e' to edit the boot options
  • Select the root line " root(/dev/evms/sda1)"
  • Backspace to "root("
  • Change the line to be the correct boot device and partition. example: "root(hd0,0)"
  • Press the key to accept changes, Press "b" to boot the system.
These changes are not persistent; they affect the current boot only. The next step is to make these changes persistent, by editing the menu.lst file.

Edit/boot/grub/menu.lst

Make the following changes to /boot/grub/menu.lst:

# Modified by YaST2. Last modification on Fri Nov 2 11:23:24 MDT 2007
default 0 <=== Correct boot option
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,0)/message
##YaST - activate

title SUSE Linux Enterprise Server 10 SP1 - 2.6.16.53-0.16
root(hd0,0) <== Correct Drive and partition. Note this value may vary depending which drive and partition the system was installed on.
kernel /vmlinuz-2.6.16.53-0.16-default root=/dev/evms/lvm2/system/sys_linux vga=0x332 resume=/dev/evms/lvm2/system/swap splash=silent showopts
initrd /initrd-2.6.16.53-0.16-default

title Failsafe -- SUSE Linux Enterprise Server 10 SP1 - 2.6.16.53-0.16
root(hd0,0) <== Correct Drive and partition. Note this value may vary depending which drive and partition the system was installed on.
kernel /vmlinuz-2.6.16.53-0.16-default root=/dev/evms/lvm2/system/sys_linux vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off
initrd /initrd-2.6.16.53-0.16-default

###Don't change this comment - YaST2 identifier: Original name: linux###<== This section can be removed.
title SUSE Linux Enterprise Server 10 SP1
root (hd0,0)
kernel /vmlinuz-2.6.16.46-0.12-default root=/dev/evms/lvm2/system/sys_linux vga=0x332 resume=/dev/evms/lvm2/system/swap splash=silent showopts
initrd /initrd-2.6.16.46-0.12-default

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Floppy
rootnoverify (hd0,0)
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###<== This section can be removed.
title Failsafe -- SUSE Linux Enterprise Server 10 SP1
root (hd0,0)
kernel /vmlinuz-2.6.16.46-0.12-default root=/dev/evms/lvm2/system/sys_linux vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /initrd-2.6.16.46-0.12-default

Ensure that the changed file is saved as /boot/grub/menu.lst.

Test fix

Reboot the system and check that it now boots correctly. If the system does not boot correctly (e.g. due to an incorrect drive and partition setting in the root line), the "boot installed system" procedure described above can be used again to fix things.

Prevention

The boot failure can be prevented by editing the menu.lst file as described above after applying the kernel patch but before rebooting the machine.

Status

Reported to Engineering
Top Issue

Additional Information

Selecting the old boot option"SUSE Linux Enterprise Server 10 SP1" will generate GRUB Error 23.

Sample of broken menu.lst.

# Modified by YaST2. Last modification on Fri Nov 2 11:23:24 MDT 2007
default 2
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,0)/message
##YaST - activate

title SUSE Linux Enterprise Server 10 SP1 - 2.6.16.53-0.16
root(/dev/evms/sda1)
kernel /vmlinuz-2.6.16.53-0.16-default root=/dev/evms/lvm2/system/sys_linux vga=0x332 resume=/dev/evms/lvm2/system/swap splash=silent showopts
initrd /initrd-2.6.16.53-0.16-default

title Failsafe -- SUSE Linux Enterprise Server 10 SP1 - 2.6.16.53-0.16
root(/dev/evms/sda1)
kernel /vmlinuz-2.6.16.53-0.16-default root=/dev/evms/lvm2/system/sys_linux vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off
initrd /initrd-2.6.16.53-0.16-default

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux Enterprise Server 10 SP1
root (hd0,0)
kernel /vmlinuz-2.6.16.46-0.12-default root=/dev/evms/lvm2/system/sys_linux vga=0x332 resume=/dev/evms/lvm2/system/swap splash=silent showopts
initrd /initrd-2.6.16.46-0.12-default

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Floppy
rootnoverify (hd0,0)
chainloader (fd0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE Linux Enterprise Server 10 SP1
root (hd0,0)
kernel /vmlinuz-2.6.16.46-0.12-default root=/dev/evms/lvm2/system/sys_linux vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
initrd /initrd-2.6.16.46-0.12-default