How To Add Windows10 In GRUB2 Bootloader In Dual Boot

Recently I had installed Parrot OS to learn penetration & check out the features of Parrot OS. I was already using dual boot Windows10 with Ubuntu 19.10 & everything working fine till I installed the Parrot OS. My GRUB bootloader had been modified. This  remove my Windows 10 OS from grub boot menu entry. I searched google for the solution as I knew that my Windows10 OS was safe & I was able to boot Windows 10 from boot menu of BIOS(f12 key). But I wanted to add  Windows 10 to Grub bootloader. There are many many solutions out there & I am sure they are working for some specific conditions ( dual boot issue, corrupted grub , some malfunctioned configuration in GRUB). But in my case it was little different because I have installed three OSesin single hard drive with different partitions on GPT base harddrive.

So now I will show you how to add Windows 10 to GRUB bootloader but before doing that remember below points.

- Your Windows OS partition should be exist & you must be able to boot Windows from BIOS boot menu ( generally F12 key). see pic 1

- This guide is specifically for UEFI GPT based systems how ever you can try this on legacy BIOS MBR based system. You have to change some configuration accordingly.

- Try this guide after run os-prober utility which will auto detect the OS list in hard drive. If os-prober solve your problem then don't need to try this guide.

-If you installed Linux (or multiple Linux distros) over Windows10

-UEFI secure mode should be disabled. see pic 1

Pic 1

If you comply above conditions then you are ready to go further. Now we are ready to add Windows 10 in GRUB bootloader.

- Open your default Linux distro using grub(probably first in the GRUB boot menu list

- Copy the UUID number of EFI partition which is mounted under /boot/efi . You can check that in /etc/fstab file.(see pic 3)


-You can also use blkid /dev/sda8 to check the UUID number .This partition is approx 100MB in size & next to windows recovery partition, use sudo fdisk -l to find boot partition see pic 2

This is why GRUB not able to load Windows because GRUB try it to find in first partition rather then second.

Pic 2

Pic 3

Now open /etc/grub.d/40_custom file.

- Copy the below configuration in this file. Please dont delete any existing line. see pic 4

menuentry 'windows 10' {
search --fs-uuid --no-floppy --set=root $paste UUID number of boot partition here$
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi

pic 4

For MBR file system you can try

menuentry "Windows 10" --class windows --class os {
insmod ntfs
search --no-floppy --set=root --fs-uuid $your_uuid_here$
ntldr /bootmgr

After this just run update-grub command

Now restart your system

Bingo! you are now able to boot Windows 10 from GRUB bootloader boot list menu

Sharing if you like this post😀

Post a Comment