

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. I’m not 100% sure about the specifics of its design.




There’s other approaches to automatically unlocking. For example, you can combine Clevis with Tang to use Network Bound Disk Encryption, which lets you automatically decrypt only when on a trusted network.
You can have multiple different LUKS keys, and any of them can be used to decrypt the disk. This lets you automatically unlock via a network server when your system is at home, while still prompting for an unlock password when not at home.
At my workplace, our laptops have two LUKS keys - one for me and one for IT / tech support. It lets IT boot the system (eg if I send it in for repair) without having to know my LUKS password.