cifrado raíz con LUKS: partición raíz no encontrada

cifrado raíz con LUKS: partición raíz no encontrada

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í cryptsetupy /dev/sda2lo mapeé en/dev/mapper/cryptroot

Mi /etc/fstabaspecto 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/grubmodifiqué una sola línea para que fuera: GRUB_CMDLINE_LINUX="cryptdevice=UUID of /dev/sda2:cryptroot:allow-discards"

En los /etc/mkinitcpio.confganchos se ven así: HOOKS="base udev autodetect modconf block encrypt filesystems keyboard fsck"

Finalmente, no me olvidé de correr mkinitcpio -p linuxy grub-mkconfig -o /boot/grub/grub.cfgrespectivamente.

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/cryptrooty aún así no me pide la contraseña (que creé al cryptsetupiniciar 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/cryptrootlas 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

información relacionada