Bitlocker stores the key required to boot the system in the TPM.
You can do that on Linux too if you want to, using Clevis or systemd-cryptenroll.
As far as I know, Bitlocker uses two keys to boot: There's a key in the TPM, that's used to decrypt a key stored on the drive, that's used to decrypt the data.
~~I think some data (maybe just user-specific data?) is encrypted with a user-specific key too, that isn't unlocked until you log in.~~ Edit: I think I was thinking of DPAPI.
I'm not 100% sure about the specifics of its design.