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
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:

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). Uselsblk
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