This issue is that Windows does not consider GRUB as a secure component. Thus, whenever you boot to Windows coming from GRUB, Windows considers the boot sequence might have been compromised, and forces a key re-entry.
The only way I know to fix this is to not use GRUB altogether. You can either
- choose the boot sequence directly through your BIOS menu (the solution I use, I just have to enter F12 during boot, and BIOS gives the choice between the boot scenarios)
- or use Windows bootloader and add the linux options to it (See here how to achieve that).
I chose to install the GRUB bootloader on the SSD as a whole not a specific partition on it so I guess that would make it install GRUB in the EFI partition?
Yes it would. The question whether to install GRUB into a disk vs partition doesn't even make sense on UEFI.
the EFI partition exists (System Reserved Partition)
That's not the same partition.
I want to uninstall grub and return to the Windows Bootloader/boot manager without reinstalling Windows. Then boot by default into it and have the option to chose to go to GRUB or Ubuntu directly as this tutorial https://stomp.colorado.edu/blog/blog/2011/12/05/on-dual-booting-tpm-linux-windows-and-bitlocker/ says.
The tutorial is written for PC BIOS systems. It does not apply to UEFI – the special partitions are different, bootloaders live elsewhere, the whole boot process is nothing like BIOS boot.
For UEFI, the Windows Boot Manager refuses to start any other boot programs except for what comes with Windows itself. You can still add the corresponding entries, but they won't work.
However, for UEFI, your EFI System Partition already has both bootloaders installed and the firmware itself has a boot menu that allows you to choose between them. Hold Esc or F12 or whatever your computer uses; you'll find an entry for "Windows Boot Manager" and an entry for "Ubuntu".
Within Linux you can manage these boot entries using efibootmgr
. For example:
# efibootmgr
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0000,0001
Boot0000* Windows Boot Manager
Boot0001* Ubuntu
To swap them around (make Windows primary), you can again use the firmware settings screen, or you can change the BootOrder variable:
# efibootmgr --bootorder 0001,0000
To boot into Windows once while keeping Ubuntu as default, you can set BootNext:
# efibootmgr --bootnext 0000
And vice versa, if you're using Windows, to boot into Ubuntu just once:
- Use
bcdedit /enum firmware
to find the Windows BCD GUID for the Ubuntu entry.
- Use
bcdedit /set {fwbootmgr} bootsequence {UBUNTU_GUID_HERE}
to program the BootNext variable.
Best Answer
No guarantees, but below are some notes that could help.
This is an old tutorial but it still seems plausible. As EasyBCD is now trialware, install it and ensure that it works before starting. Ramhound's above comment also seems prudent to follow.
A funny note in Method 3 says: "you will not be able to access the volume encrypted with Bitlocker after this procedure", so I hope it only means that Ubuntu won't be able to access the Windows partition.
There are reports that this configuration works and there are reports that say it doesn't. Reports of success (link) are more frequent for the case of both OS being on different drives. It is also reported that bitlocked Windows cannot be started from grub, so you need to boot both OS through the UEFI bootloader (the Ubuntu installer should do that automatically, but be vigilant when installing).
If you decide to try, I would suggest to generate first a BitLocker recovery key on a USB device and a Windows 10 recovery USB. Take good backups of your data and perhaps also an image backup of the disk, just in case.
Ubuntu is reported as working fine with secure boot, but you would not be able to install kernel drivers that are not in the repository.