Lately, after upgrading a workstation at work I ran into a GRUB boot issue saying something like: "couldn't find disk by uuid". While I couldn't really find a valid reason why this happened, it seemed like the UUID of the Hard drive has changed so that it didn't match up the one configured in GRUB anymore. But fortunatly it is a quick fix. All you need is a live USB stick.

So, ahead of solving the issue I booted from the live stick and changed root into the underlaying system.

sudo mount -t devtmpfs /dev /mnt/dev
sudo mount -t devpts /dev/pts /mnt/dev/pts
sudo mount -t sysfs /sys /mnt/sys
sudo mount -t proc /proc /mnt/proc
sudo mount -t tmpfs /run /mnt/run
sudo chroot /mnt /bin/bash

So, now all we need to do is to upgrade the GRUB config files and we're done. But, prior doing this we might want to do some checks just to make sure everything will be fine. So, I looked up the UUID of the disk with

blkid /dev/sdX

and made sure it's listed in /dev/disk/by-uuid. A check of /etc/fstab might also be relevant.

If everything seems to look correct then just update the old GRUB config file by entering the command:

grub-mkconfig -o /boot/grub/grub.cfg

After update just exit from chroot and reboot the system:

sudo reboot

Now your system should boot properly without errors. Easy, huh? :)

Previous Post

Blog Comments powered by Disqus.