Windows – Ubuntu Windows 10 Dual boot with TPM & Bitlocker

bitlockergrubmulti-bootUbuntuwindows

I have the factory installed copy of Windows 10 with Bitlocker enabled (I don't want to disable it), the EFI partition exists (System Reserved Partition). I installed Ubuntu 18.04 so I can dual boot, while installing I chose a 3 different partitions on my SSD for "/", "/home" and swap area. 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?

Current state: boots into GRUB menu and if I chose Windows, it asks for the recovery key every time.

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.

Best Answer

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:

  1. Use bcdedit /enum firmware to find the Windows BCD GUID for the Ubuntu entry.
  2. Use bcdedit /set {fwbootmgr} bootsequence {UBUNTU_GUID_HERE} to program the BootNext variable.