Fix grub2 boot UEFI after Ubuntu dual system reinstall Windows

If you have installed Ubuntu and Windows dual system, then reinstall Windows system. Then the Grub boot item will most likely be overwritten by Windows Boot Manager, and you will not be able to enter Ubuntu at this time. But don't panic, follow the steps below to fix grub2 booting without installing additional software.

Make Ubuntu's U Disk Boot Disk

In order to repair the boot entry, we need to use the software tools provided by the Ubuntu system. Although we are temporarily unable to access the original Ubuntu system, we can use the image written on the Ubuntu USB stick to get a working basic Ubuntu environment.

Download the image file from the Ubuntu official website

Make a U disk boot disk can use the installation-free, small and easy-to-userufus. You can use rufus to quickly create a U disk boot disk, pay attention to select GPT mode.


Boot U disk boot disk

Restart the computer, boot the U disk in the BIOS boot settings, and then enter the Ubuntu boot installer, select Try Ubuntu on the installation interface to enter Ubuntu Live.

Perform a Grub2 rebuild operation

Using fdisk, find the EFI partition, the partition where the /boot mount point is located (or / if you don't have a /boot mount point set).

Mount the partition where the /boot mount point is located to /mnt (my partition is on the nvme SSD).

% sudo mount /dev/nvme0n1p6 /mnt/

Mount the EFI partition, here you need to know which partition on your hard disk is the EFI system partition (I am the fifth partition here).

% sudo mount /dev/nvme0n1p5 /mnt/boot/efi

Link to other necessary directories

% sudo mount --bind /dev /mnt/dev % sudo mount --bind /dev/pts /mnt/dev/pts % sudo mount --bind /proc /mnt/proc % sudo mount --bind /sys /mnt /sys

Change the root directory to /mnt

% sudo chroot /mnt

Fix Grub2 boot

The commands you need to run here are different for 32-bit systems and 64-bit systems. The corresponding commands are given below.

32-bit system

% sudo grub-install --target=i386-efi /dev/nvme0n1

64-bit system

% sudo grub-install --target=x86_64-efi /dev/nvme0n1

After executing one of the above commands, execute Recheck again

% grub-install --recheck /dev/nvme0n1

Subsequent cleaning steps (optional)

% exit % sudo umount /mnt/sys % sudo umount /mnt/proc % sudo umount /mnt/dev/pts % sudo umount /mnt/dev % sudo umount /mnt

Then restart, you will find that you have successfully entered the grub2 interface, and grub2 has recognized the Ubuntu system and Windows Boot Manager.

Rebuild the Windows Boot Manager boot entry in Grub2

Restart the computer, enter the Ubuntu system through Grub, and run the following command to regenerate the configuration file

% sudo update-grub