akash11

FIX Dual Boot: Recover Ubuntu GRUB After Windows Update

Step-by-step guide to restore the GRUB bootloader after a Windows update breaks your Ubuntu dual boot. Boot both OS again without losing data

Published on 14 June, 2025

Categories:

Dual BootGRUBLinux
If you're using a dual-boot system with Ubuntu and Windows, there's a chance you've faced this problem. after a Windows update, your system suddenly boots straight into Windows, and Ubuntu is nowhere to be found. You may even see a scary error message like this one:
Error Message

What’s Going On?

When you install Ubuntu alongside Windows, a program called GRUB (GRand Unified Bootloader) manages which operating system starts when you turn on your computer. GRUB is stored in a small, special partition called the EFI System Partition (ESP).
Unfortunately, sometime Windows updates overwrites or removes Ubuntu’s GRUB boot files in this partition. This leads to an error where your system can't find GRUB, and it either boots directly into Windows or shows an error like the one above.
Your Ubuntu installation is still there, it's just unreachable until we restore GRUB.

Restore GRUB with Bootable Ubuntu USB drive

All of the following steps must be done from the Bootable Ubuntu USB drive (also called a live USB). When you boot from the USB, choose the “Try Ubuntu” option.

1. Boot into Live Ubuntu

Insert your Ubuntu USB and reboot your system. While it starts, press the appropriate key (like F12, Esc, or F10) to open the boot menu and select your USB drive. Choose “Try Ubuntu without installing.”

2. Open the Terminal

Once Ubuntu has loaded, press Ctrl + Alt + T. This opens the Terminal where we’ll run the necessary commands.

3. Identify the Partitions

We need to find two things:
  • The partition where Ubuntu is installed
  • The EFI partition where bootloaders are stored
sudo fdisk -l
Look through the output for:
  • A Linux partition (ext4) – often something like /dev/sda5 or /dev/nvme0n1p4
  • A small FAT32 partition marked as EFI System, often /dev/sda1 or /dev/nvme0n1p1

4. Create Mount Point and Mount Ubuntu Partition

Create a proper mount point:
sudo mkdir -p /mnt/ubuntu
Now mount your Ubuntu root partition:
sudo mount /dev/nvme0n1p4 /mnt/ubuntu
Replace /dev/nvme0n1p4 with your actual Ubuntu root partition.

5. Mount the EFI Partition

Create the EFI directory (if it doesn't exist):
sudo mkdir -p /mnt/ubuntu/boot/efi
Then mount the EFI partition:
sudo mount /dev/nvme0n1p1 /mnt/ubuntu/boot/efi
Replace /dev/nvme0n1p1 with your actual EFI partition.

6. Mount System Directories

These system folders are needed for GRUB to be reinstalled properly:
sudo mount --bind /dev /mnt/ubuntu/dev sudo mount --bind /proc /mnt/ubuntu/proc sudo mount --bind /sys /mnt/ubuntu/sys

7. Access Your Installed System

Now we’ll enter your real Ubuntu system using chroot, which allows us to run commands as if we had booted into it.
sudo chroot /mnt/ubuntu
You are now inside your actual Ubuntu installation.

8. Reinstall GRUB Bootloader

Now, reinstall GRUB on the disk:
grub-install /dev/nvme0n1 update-grub
If you encounter any errors during the GRUB installation, try running the update-grub command directly:
update-grub
Replace /dev/nvme0n1 with your actual disk (not a partition). Use lsblk to confirm the correct identifier.

9. Exit and Unmount Everything

We’re done! Let’s clean up:
exit sudo umount /mnt/ubuntu/dev sudo umount /mnt/ubuntu/proc sudo umount /mnt/ubuntu/sys sudo umount /mnt/ubuntu/boot/efi sudo umount /mnt/ubuntu

10. Reboot and Test

Now, reboot your system:
sudo reboot

Copyright © 2025

Akash Vaghela