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:
People broke their grub thanks to auto-updates
through apt or similar. Hopefully, this will allow you with a way to fix your
system without needing to reinstall.
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 an working desktop first.
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 atleast be able to boot up normally. You’re almost done.
sudo update-grub sudo grub-install /dev/sdX
Execute those two commands, replacing X with the
partition your linux is installed on. For me, it was ‘a’. Voila! 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:
To fix this, grab a live cd and boot into your desktop.
Execute the following:
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
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
/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.
If the bolded line exists, you’ve just found your problem.
Fixing this is easy. Execute the following.
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 finalize this in grub.
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 finalize this in grub.
$ sudo grub grub > root (hd0,1) grub > setup (hd0) grub > quitObviously, you need to know which HDD houses your OS and replace the 0,1 and hd0 accordingly
No comments:
Post a Comment