# Windows – How to UEFI dual boot Windows 10 and Ubuntu

grub2multi-bootUbuntuuefiwindows 10

TL;DR: In a Windows 10 / Ubuntu UEFI dual-boot scenario, booting Windows 10 from Grub causes Windows Boot Manager to overwrite / remove Grub. How can I stop this from happening?

My PC has been happily UEFI single-booting Ubuntu 18.04 for a long time. I recently decided to install Windows 10 and dual boot them. I've done this plenty of times in the old BIOS/MBR days so didn't anticipate major problems.

# Installation Process

My installation process was:

• Install Windows 10. As expected, this overwrote Grub with the Windows Boot Manager.
• Use a live-usb and Boot-Repair to reinstall Grub.
• Boot to my existing Ubuntu 18.04 installation and run update-grub which automagically picked-up the new Windows install.
• Use Grub to boot Windows 10

# The Problem

Here's where things went wrong. After spending some time in Windows I needed to boot back to Ubuntu. I restarted the machine and, to my surprise, found that it booted straight back into Windows 10 with no sign of Grub anywhere.

I restored Grub as before but found that booting into Windows caused Grub to "disappear" every time.

# The Setup

• HP Z420: latest BIOS
• Boot Settings:
• UEFI boot mode enabled
• Legacy boot mode disabled
• Secureboot disabled
• Fastboot enabled
• Single SSD (sda) with GPT Table
• sda1 : EFI System Partition
• sda2 : Ubuntu 18.04 (mounts sda1 under /boot/efi)
• sda3 : Windows 10

# Things I've Tried

• A lot of the answers which pop-up around this seem to suggest Legacy/MBR dual-booting. I'd like to avoid the hassle and potential data loss of switching GPT to a DOS partition table and also … it's 2020 it feels like this shouldn't be a problem!
• I tried deactivating and lowering the priority of Windows Boot Manager using efibootmgr as suggested here and here but Windows Boot Manager just re-enables itself when I boot Windows!

I would very much appreciate any assistance. I feel like this shouldn't be hard!

Apologies for answering my own question but in case it helps someone else in future.

As suggested in the comments, I tried the following:

• Disabling Hibernate in Windows
• Disabling Fastboot in BIOS

but neither of these worked.

I was about to try renaming the original boot manager when I stumbled across this answer. Running the command:

bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi


has prevented Windows Boot Manager from replacing Grub. I've even successfully turned Hibernate and Fastboot back on with no loss of Grub.

NB: It is important to get the EFI path correct. After running boot-repair from a LiveUSB to get grub back, it will tell you the full path to use since it isn't always identical to what is listed above.