Eu tenho partições LVM que são criptografadas usando LUKS. Minha partição raiz é /dev/HDD/root
:
LVM group "HDD" (at /dev/HDD):
Encrypted LUKS device "root" at /dev/HDD/root
Estou tentando descriptografá-lo por meio dos parâmetros do grub, GRUB_CMDLINE_LINUX
:
dolvm crypt_root=/dev/HDD/root root=/dev/mapper/root root_keydev=UUID=<usb-uuid> root_key=hdd.key
A chave para o LUKS está localizada no dispositivo usb em /hdd.key
Mas quando está a carregar, mostra a mensagem de erro:
>> Scanning for and activating Volume Groups
Reading all physical volumes. This may take a while...
Found volume group "HDD" using metadata type lvm
3 logical volume(s) in volume group "HDD" now active
>> Using key device /dev/sdc2.
>> Removable device /dev/sdc2 mounted.
>> hdd.key on device /dev/sdc2 found
No key available with this passphrase.
!! Failed to open LUKS device /dev/HDD/root
!! Could not find the root in /dev/HDD/root.
!! Please specify another value or:
!! - press Enter for the same
!! - type "shell" for a shell
!! - type "q" to skip...
De acordo com os registros, o grupo de volume foi encontrado, o dispositivo com chave foi montado com sucesso, a chave no dispositivo foi encontrada, mas depois não foi possível abri-lo usando o LUKS.
Então, estou usando a opção shell
para corrigi-lo manualmente. O dispositivo com a chave está montado em /mnt/key
, por isso posso encontrá-lo aqui e abrir o dispositivo LUKS com esta chave:
cat /mnt/key/hdd.key | cryptsetup luksOpen /dev/HDD/root root
este comando abre o dispositivo LUKS em /dev/mapper/root
, portanto, posso sair do shell e pressionar q
para ignorar esse erro. Depois disso, o sistema está inicializando com sucesso.
Parece que algo está errado com minha configuração do grub, porque é possível abrir o dispositivo LUKS e montá-lo usando minha chave manualmente, então minha pergunta é como consertá-lo para abrir o dispositivo LUKS automaticamente na inicialização usando o grub2?