I'm looking for a way to dual-boot Ubuntu and Windows 10 on a single hard drive with:
LUKS + TPM on Ubuntu, with a pre-boot password
BitLocker + TPM on Windows 10, with a pre-boot PIN/password
Is this possible?
This is an awesome question, and I had actually been considering doing this for a while.
Ended up finally taking the plunge, and it seems to work fine.
While I'm unsure about whether BitLocker's system drive encryption would play nice with Linux's dm-crypt/LUKS encryption, VeraCrypt might be the more desirable alternative to BitLocker, since it's open-source. I prefer VeraCrypt over BitLocker myself, but theoretically the process should be the same whichever route you use.
Keep in mind that UEFI Secure-Boot would have to be disabled for this to work. If you choose to use BitLocker, you might have to enable pre-boot authentication in gpedit.msc to allow you to unlock a BitLocker-encrypted system using a PIN or password. This could mean not using the TPM. (Honestly, this would work fine for me; I'd experiment to see if the TPM could be used, but I'm happy with my current setup.)
Anyway, after some armchair research to try this myself, I came across a post by baderaj on the linuxquestions.org forums... The only caveat is that the boot partitions would be unencrypted. For most purposes, this should be fine. (Baderaj references TrueCrypt, but since it's long been obsoleted by VeraCrypt, since it's no longer developed, I'm suggesting using VeraCrypt here instead.)
Basically, their solution is to have the Grub bootloader have boot menu entries pointing to the LUKS-encrypted Linux partition, and the the VeraCrypt bootloader on Windows' partition.
TL;DR: Step-by-step, this would involve the following:
Definitely give Baderaj's post a read-through if you're interested in following this method.
If you do have success with using BitLocker instead of Veracrypt for this, do post your success story. :)