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
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hda6 ro
title Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/hda6 ro single
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.