Chroot to rescue Grub bootloader using Ubuntu Live CD

Reference http://howtoubuntu.org/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd

Terminal Commands

Mount the partition your Ubuntu Installation is on. If you are not sure which it is, launch GParted(included in the Live CD) and find out. It is usually a EXT4 Partition. Replace the XY with the drive letter, and partition number, for example: sudo mount /dev/sda1 /mnt.

sudo mount /dev/sdXY /mnt

Now bind the directories that grub needs access to to detect other operating systems, like so.

Now we jump into that using chroot.

Now install, check, and update grub.

This time you only need to add the drive letter (usually a) to replace X, for example: grub-install/dev/sdagrub-install –recheck /dev/sda.

grub-install /dev/sdXgrub-install --recheck /dev/sdX

Now grub is back, all that is left is to exit the chrooted system and unmount everything.

 

Shut down and turn your computer back on, and you will be met with the default Grub2 screen.

You may want to update grub or re-install burg however you like it.

Congratulations, you have just Repaired/Restored/Reinstalled Grub 2 with a Ubuntu Live CD!

Clear Logs

sudo /bin/rm /var/log/squid/*
sudo /bin/rm /var/log/syslog*
sudo /bin/rm /var/log/auth.log*
sudo /bin/rm /var/log/daemon.log*
sudo /bin/rm /usr/local/squid/var/logs/*
sudo /bin/rm -rf /usr/local/vpnserver/security_log/*
sudo /bin/rm -rf /usr/local/vpnserver/packet_log/*
sudo /bin/rm -rf /usr/local/vpnserver/server_log/*

Solve Grub Boot Problem #2

A friend found a solution.

in grub.cfg
****
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
set timeout=-1
****
-1 should be 0 .

It works.

Now the only problem is that in case of kernel update, it will execute update-grub I think, which will overwrite this change. It is not that big problem.

Solve Grub Boot problem

I changed my /etc/grub.d/00_header and edited the recordfail section to:

if [ \${recordfail} = 1 ]; then
  set timeout=${GRUB_TIMEOUT}
else
  set timeout=${GRUB_TIMEOUT}
fi
EOF

Ran sudo update-grub, rebooted and it booted straight into Ubuntu.