If the whole disk is encrypted, and some pre-boot tool asks the user for a key to decrypt it, doesn't that mean this tool has to run beneath the OS that's going to boot?
Sim, praticamente. Criptografia de disco cheia baseada em hardware faz isto: a criptografia é tratada inteiramente pelo dispositivo (disco rígido / flash) ou possivelmente em um controlador ao longo da cadeia que leva ao dispositivo físico (s), e não é "visível" para o sistema operacional.
Com isso, o sistema operacional faz I / O exatamente como se estivesse lidando com um dispositivo simples, não criptografado, a mágica acontece em hardware (e / ou firmware - "abaixo" do sistema operacional em qualquer caso).
If there's no such tool, doesn't that mean the decryption tool somehow has to pass decryption information to the OS on boot?
Haveria alguma forma de transferência de informações, se a criptografia não puder ser feita "abaixo" do sistema operacional (como acima, ou possivelmente usando técnicas de virtualização - mas você tem dois (ou mais) sistemas operacionais executando ). E sim, isso significa que o sistema operacional cruzado é difícil.
Você também precisará do código do boostrap (no mínimo, bootloader) para não ser criptografado se não tiver assistência de hardware / firmware.
O artigo da Wikipedia criptografia de disco tem mais informações sobre isso.