Skip to content

Grub

Install | Reinstall

Taken from here

Boot from the live CD or live USB, in "Try Ubuntu" mode. Determine the partition number of your main partition. sudo fdisk -l, sudo blkid or GParted (which should already be installed, by default, on the live session) can help you here. I'm going to assume in this answer that it's /dev/sda2, but make sure you use the correct partition number for your system!

If your main partition is in an LVM, the device will instead be located in /dev/mapper/, most likely, /dev/mapper/{volume}--{os}-root where {volume} is the LVM volume name and {os} is the operating system. Execute ls /dev/mapper for the exact name.

Mount your partition:

sudo mount /dev/sda2 /mnt #Replace sda2 with the partition from step 2 If you have a separate /boot, /var or /usr partitions, repeat steps 2 and 3 to mount these partitions to /mnt/boot, /mnt/var and /mnt/usr respectively. For example,

Bash
sudo mount /dev/sdXW /mnt/boot
sudo mount /dev/sdXY /mnt/var
sudo mount /dev/sdXZ /mnt/usr

replacing sdXW, sdXY, and sdXZ with the respective partition numbers.

Bind mount some other necessary stuff:

Bash
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done

If Ubuntu is installed in EFI mode (see this answer if you're unsure), use sudo fdisk -l | grep -i efi or GParted to find your EFI partition. It will have a label of EFI. Mount this partition, replacing sdXY with the actual partition number for your system:

Bash
sudo mount /dev/sdXY /mnt/boot/efi
chroot into your Ubuntu install:
Bash
sudo chroot /mnt

At this point, you're in your install, not the live session, and running as root. Update grub:

Bash
update-grub

If you get errors or if going up to step 7 didn't fix your problem, go to step 8. (Otherwise, it is optional.)

Depending on your situation, you might have to reinstall grub:

Bash
grub-install /dev/sda
Bash
update-grub # In order to find and add windows to grub menu.

If Ubuntu is installed in EFI mode, and EFI partition UUID has changed, you may need to update it in /etc/fstab. Compare it:

Bash
blkid | grep -i efi
Bash
grep -i efi /etc/fstab

If current EFI partition UUID (from blkid) differs from the one in /etc/fstab, update /etc/fstab with current UUID.

If everything worked without errors, then you're all set:

Bash
exit
Bash
sudo reboot

At this point, you should be able to boot normally.

If you cannot boot normally, and didn't do step 8 because there were no error messages, try again with step 8.

Sometimes giving GRUB2 the correct configuration for your partitions is not enough, and you must actually install it (or reinstall it) to the Master Boot Record, which step 8 does. Experience helping users in chat has shown that step 8 is sometimes necessary even when no error messages are shown.

To see other os

Edit /etc/default/grub

Bash
nano /etc/default/grub

Uncomment

INI
GRUB_DISABLE_OS_PROBER=false
Back to top