El diseño de mi único disco es el siguiente:
/dev/sda1 for the plaintext boot partition /dev/sda2 for the encrypted root partition
Mi sistema es ArchLinux y lo seguíesta guíapara configurar el cifrado raíz (sin lvm, sin raid). Esto es lo que hice: seguí cryptsetup
y /dev/sda2
lo mapeé en/dev/mapper/cryptroot
Mi /etc/fstab
aspecto es este:
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
En mi /etc/default/grub
modifiqué una sola línea para que fuera:
GRUB_CMDLINE_LINUX="cryptdevice=UUID of /dev/sda2:cryptroot:allow-discards"
En los /etc/mkinitcpio.conf
ganchos se ven así:
HOOKS="base udev autodetect modconf block encrypt filesystems keyboard fsck"
Finalmente, no me olvidé de correr mkinitcpio -p linux
y grub-mkconfig -o /boot/grub/grub.cfg
respectivamente.
He enumerado mis acciones de una manera tan rápida porque anteriormente logré configurar el cifrado para mi raíz fs. Entonces, al final me sale el siguiente error:
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
Lo extraño es que intenta buscar lo que no está cifrado /dev/mapper/cryptroot
y aún así no me pide la contraseña (que creé al cryptsetup
iniciar sesión /dev/sda2
). Entonces, naturalmente, no puede encontrar el dispositivo de bloqueo no cifrado porque, en primer lugar, no me pidió su contraseña. ¿Podrías decirme qué he configurado mal?
Respuesta1
Tuve éxito con cryptdevice=/dev/disk/by-uuid/<UUID_OF_LOGICAL_DEVICE>:cryptroot root=/dev/mapper/cryptroot
las opciones adicionales del kernel en GRUB.
Vale la pena señalar que si está haciendo esto sin copiar y pegar con precisión el UUID (como en una consola/tty), es posible que haya escrito eso. Aquí hay una frase que también apesta escribir desde la consola, pero podría resultar más fácil.
sed "s/\(GRUB_CMDLINE_LINUX=\"\)/\1cryptdevice=\/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
Respuesta2
Te falta /etc/crypttab, los ganchos de cpio apuntan a una partición que el sistema operativo desconoce
/etc/crypttab
%{UUID de /dev/mapper/cryptroot} / ext4 rw,relatime,data=ordered,discard,luks - 0 1
luego vuelva a ejecutar la actualización de grub