I recently got a new laptop on which Windows 10 was already present. My laptop has multiple disks, one SSD and one HDD. Windows 10 is installed on the SSD. When I started installing Ubuntu on my laptop, I disabled UEFI and actually installed Ubuntu on the other disk (HDD). Now my Grub is not able to find the Windows 10 Boot Manager (booting in Legacy Mode). I tried everything but I could not get it to work. Any suggestions?
If you boot your computer in Legacy mode while Windows is installed as UEFI, you will not able to boot Windows. Windows has a different boot partition if installed with UEFI versus Legacy (UEFI = FAT32 boot / Legacy = NTFS boot).
You have to re-enable UEFI and reinstall Ubuntu if you want to boot on Windows. Grub EFI will automatically detect the Microsoft Firmware and will create proper entry in boot menu.
Thanks to @oldfred for suggesting the
So I went about it the following way:
- I enabled UEFI (But disabled the "Secure Boot" option as it is an essential step for the
boot-repairtool to work)
- Booted through my Ubuntu 18.04 USB by pressing "F12" at startup
- Selected the "Try Ubuntu" option and installed Boot Repair
- Ran the utility by typing
boot-repairin the terminal
- Clicked on "Advanced Options" and checked the option "Backup and rename Windows EFI files" under the tab "Main Options" and clicked on "Apply"
- Kept an eye on the progress of the tool and performed whatever steps it may asked of me while it was working it's magic
- Hopefully at reboot you will be able to access both the operating systems through Grub bootloader
- If you are still being directed to the Windows Boot Manager during the boot, please change boot order of UEFI, making the newly added boot manager to load up first compared to your original Windows Boot Manager. Sometimes the new Boot Manager might have the same name, but don't freak out, just switch the order, there should be only two entries there.
UPDATE 1 : Most of the tutorials will ask you to click the "Recommended repair" option when you open the
boot-repair tool but please do not do that. Follow the steps that I have written above. This is because sometimes the boot loader repair process fails (also failed in my case) and the utility ends up adding various entries, for loading up Windows, in the grub boot menu, none of which works. Thankfully I had enabled the "Backup and rename Windows EFI files" in the
boot-repair tool which ended up adding an extra "Windows bkpbootmgr" entry in the grub boot menu, which of course is the backup of the original windows boot manager, which actually works. The "ubuntu" entry in the grub boot menu will of course work fine :)
UPDATE 2 : You can install and use a tool like
grub-customizer to remove all the Windows entries which do not work keeping only the one which works.
UPDATE 3 : I installed Ubuntu in legacy mode first and then I tried to fix the grub efi issue using
boot-loader. This may seem like an overkill but it will give you some room to make mistakes since you can't mess up your original UEFI bootloader when you are in legacy mode.
boot-repair is actually a great tool which will help you uninstall
grub-pc and install
grub-uefi while you are running the fix. Just make sure that you know where your boot manager partitions are.