Get your server issues fixed by our experts for a price starting at just 25 USD/Hour. Click here to register and open a ticket with us now!

Author Topic: Fixing a few common grub errors | Broken Bootloader and error 17/15  (Read 1666 times)

0 Members and 1 Guest are viewing this topic.

joseletk

  • Guest
Grub is short for GNU GRand Unified Bootloader. To be simply put, it’s a boot loader package from the GNU Linux project. It’s the common and reference implementation of a multiboot Linux system. It allows you to choose which operating system or specific kernel to boot into.

Repairing a broken Grub 2 bootloader:

Grub now features an advanced rescue mode, truly a godsend for people who somehow messed their MBR tables up.
You want to trigger that and get into grub. Then execute the commands below to get back into a working desktop first.
Code: [Select]
ls
set prefix=(hdX,Y)/boot/grub
set root=(hdX,Y)
set
ls /boot
insmod /boot/grub/linux.mod
linux /vmlinuz root=/dev/sdXY ro
initrd /initrd.img
boot
The X and Ys are to be filled in with your own HDD information. If you only have one HDD, it’ll be X=0, Y=1 and so on.
At this point, you should at least be able to boot up normally. You’re almost done.

Code: [Select]
sudo update-grub
sudo grub-install /dev/sdX

Execute those two commands, replacing X with the partition your linux is installed on. You’ve fixed your broken ‘auto-updated’ MBR records.

Fixing grub error 17/15

Grub error 17 is one of the most common error messages that you’re likely to encounter using the Grub bootloader. The root cause behind it is a messed up partition table disk order.
To fix this, grab a live cd and boot into your desktop.
Execute the following:

Code: [Select]
sudo fdisk –l
You’re likely to get something like the following:
==========================================
Disk /dev/sdb: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000dc2a4

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1275    10238976+  fd  Linux raid autodetect
/dev/sdb2            1275       91074   721306624   fd  Linux raid autodetect
/dev/sdb3           91074       91201     1022976   82  Linux swap / Solaris
===========================================
Partition table entries are not in disk order
If the bolded line exists, you’ve just found your problem.
Fixing this is easy. Execute the following.

Code: [Select]
sudo fdisk /dev/hda
hda as in the whole hard disk, not hda1 or stuff like that.
choose option x (extra functionality (experts only)) and enter.
then select f (fix partition order) and enter.
then select option w (write table to disk and exit), and enter. You can exit now.
Now, you need to finalize this in grub.

Code: [Select]
$ sudo grub
grub > root (hd0,1)
grub > setup (hd0)
grub > quit
Obviously, you need to know which HDD houses your OS and replace the 0,1 and hd0 accordingly. Grub error 15 can be fixed in the same way as well.
==========================================================================