EDIT:My problem stemmed from deleting a partition in my hard drive.
1) If you rebooted your machine and you stuck in grub menu then you can use a live DVD. After mounting your partition that your Ubuntu OS installed (in my case it switched from sda6 to sda5)
sudo mount /dev/sda5 /mnt
sudo grub-install --root-directory=/mnt /dev/sda
will fix the grub
2) If you delete a partition and you haven't rebooted it yet ( it won't boot since partition tables changed) then you can apply below guide to fix it.
Prior to breakage of grub it was installed on SDA6 partition, since I deleted partitions, partition table entries got out of order, naturally it won't boot.
sudo fdisk -l
to check out a message like partition table entries are not in disk order
if you get that message
to fix it; issue commands
sudo fdisk /dev/sda
then enter x
, f
and finally w
what they do
x (extra functionality - experts only)
f (fix)
w (write to disk and exit)
You may get a warning that devices are in use and the new table will be used at the next boot.
It should fix failing of grub at boot.
If you missed above step and you want to reinstall grub check out this link https://wiki.archlinux.org/index.php/GRUB#Install_to_partition_or_partitionless_disk
EDIT:
if you get a message like
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
no worries, it's just a warning message, just reboot your comp and your grub will be detected in the right partition.
Every time you alter partitions in your drive before shut down your comp, you must run sudo fdisk /dev/sda
to fix partition tables otherwise you end up with missing grub in the next reboot
/dev/sda
instead of/dev/sda5
sudo grub-install /dev/sda Path
/boot/grub' is not readable by GRUB on boot. Installation is impossible. Aborting. `sudo mount /dev/sda5 /mnt
andsudo grub-install --root-directory=/mnt /dev/sda
but use /dev/sda with grub-install.