criptografia raiz com LUKS: partição raiz não encontrada

2

O layout do meu único disco é o seguinte: /dev/sda1 for the plaintext boot partition /dev/sda2 for the encrypted root partition

Meu sistema é o ArchLinux e eu segui este guia para configurar a criptografia raiz ( sem lvm, sem invasão). Aqui está o que eu fiz: executei cryptsetup em /dev/sda2 e mapeei em /dev/mapper/cryptroot

Meu /etc/fstab é assim: UUID=of /dev/mapper/cryptroot / ext4 rw,relatime,data=ordered,discard 0 1 UUID=of /dev/sda1 /boot ext4 rw,relatime,data=ordered,discard 0 2

No meu /etc/default/grub alterei uma única linha para ser: GRUB_CMDLINE_LINUX="cryptdevice=UUID of /dev/sda2:cryptroot:allow-discards"

No /etc/mkinitcpio.conf , os ganchos se parecem com isto: HOOKS="base udev autodetect modconf block encrypt filesystems keyboard fsck"

Por fim, não me esqueci de executar mkinitcpio -p linux e grub-mkconfig -o /boot/grub/grub.cfg , respectivamente.

Eu enumerei minhas ações de uma maneira tão rápida porque anteriormente tive sucesso na configuração de criptografia para o meu fs raiz. Então, no final, recebo o seguinte erro:

ERROR: device *UUID of /dev/mapper/cryptroot* not found. Skipping fsck. ERROR: unable to find root device *UUID of /dev/mapper/cryptroot* You are being dropped into recovery shell

O mais estranho é que ele tenta procurar o /dev/mapper/cryptroot não criptografado e mesmo assim ele não me pergunta a senha (que eu criei quando cryptsetup 'on /dev/sda2 no começo). Então, naturalmente, não é possível encontrar o dispositivo de bloco não criptografado porque ele não me pediu sua senha em primeiro lugar. Você poderia, por favor, me dizer o que eu configurei errado?

    
por alisianoi 30.05.2015 / 21:55

2 respostas

1

Eu tive sucesso com cryptdevice=/dev/disk/by-uuid/<UUID_OF_LOGICAL_DEVICE>:cryptroot root=/dev/mapper/cryptroot para as opções adicionais do kernel no GRUB.

Vale a pena notar que, se você estiver fazendo isso sem precisão de copiar e colar o UUID (como em um console / tty), você pode ter digitado isso. Aqui está um one-liner, que também é ruim para digitar do console, mas pode ser mais fácil.

sed "s/\(GRUB_CMDLINE_LINUX=\"\)/cryptdevice=\/dev\/disk\/by-uuid\/$(blkid -o value -s UUID /dev/<LOGICAL_DEVICE>):cryptroot root=\/dev\/mapper\/cryptroot/" /etc/default/grub > ~/grub.defaults && mv ~/grub.defaults /etc/default/grub

    
por 28.12.2015 / 08:17
0

Você está perdendo o / etc / crypttab os ganchos do cpio estão apontando para uma partição que o sistema operacional não conhece de

/ etc / crypttab

% {UUID de / dev / mapper / cryptroot} / ext4 rw, relatime, dados = pedido, descarte, luks - 0 1

em seguida, execute novamente a atualização do grub

    
por 30.05.2015 / 22:02