El montaje automático de la partición LUKS falla en el arranque

El montaje automático de la partición LUKS falla en el arranque

Tengo una configuración de escritorio cifrada Ubuntu 14.04. La partición raíz cifrada se crea utilizando los parámetros predeterminados del instalador de Ubuntu (opciones "Borrar disco e instalar Ubuntu" y "Cifrar la nueva instalación de Ubuntu"). Esta parte funciona bien (solicita una contraseña al arrancar y abre las particiones raíz y de intercambio).

Más tarde agregué una segunda unidad, cifrada por separado con un archivo de clave almacenado en la partición raíz. La intención era hacer que se abra automáticamente tan pronto como se abra la partición raíz. Con ese fin, se agregó la segunda unidad a crypttab (por UUID) y su sistema de archivos cifrado, a fstab (por etiqueta, punto de montaje /stg).

Al arrancar, después de ingresar la contraseña de descifrado principal, aparece esto:Se produjo un error al montar /stg. Presione S para omitir el montaje o M para la recuperación manual.

Lo extraño es que si presionoMETROy simplemente ejecútelo mount -a, simplemente se monta correctamente. No veo nada sospechoso en /var/log/syslog.

¿Que pasa con eso? ¿Qué puedo comprobar para diagnosticar el problema?


[UPD - se agregaron algunos detalles]La unidad sdbtiene una tabla de particiones MBR con una partición. El sistema de archivos cifrado se inicializó utilizando los siguientes comandos:

cryptsetup luksFormat /dev/sdb1 /root/stg.key
cryptsetup luksOpen /dev/sdb1 stg_crypt -d/root/stg.key
mkfs.ext4 /dev/mapper/stg_crypt -Lstg-tmp

/etc/crypttab(uuids reales reemplazados con el texto "uuid-of-..." por brevedad):

# this entry was created by Ubuntu installer
sda5_crypt UUID=uuid-of-sda5 none luks,discard

# this entry was added by me
stg_crypt  UUID=uuid-of-sdb1 /root/stg.key luks,discard

/etc/fstab:

# these entries were created by Ubuntu installer
/dev/mapper/ubuntu--vg-root   /      ext4 errors=remount-ro 0 1
UUID=uuid-of-sda1             /boot  ext2 defaults          0 2
/dev/mapper/ubuntu--vg-swap_1 none   swap sw                0 0

# this entry was added by me
LABEL=stg-tmp                 /stg   ext4 errors=remount-ro 1 2

Respuesta1

Curiosamente, reemplazar la referencia de la etiqueta fstabcon la ruta del dispositivo soluciona el problema. Es decir: LABEL=stg-tmpcambiado a /dev/mapper/stg_crypt.

También probé la referencia UUID, no funcionó. Entonces, aparentemente las referencias LABEL y UUID durante el arranque funcionan para particiones físicas pero no funcionan para particiones cifradas. Pero funcionan mount -apara cualquier partición.

Esto no es muy satisfactorio en cuanto a soluciones (por ejemplo, falta una explicación) pero resuelve el problema en cuestión, así que supongo que está bien por ahora.

Respuesta2

Lo primero que pensé es que intramfs NO ve el archivo de claves (comportamiento normal)

Las correcciones de pareja incluyen:

agregar/crear una frase de contraseña alternativa para /stg como se menciona aquí

Agregar respaldo a Luks (desplácese hacia abajo hasta la sección Agregar frase de contraseña alternativa)

agregando dd if=/dev/usbkey bs=512 skip=4 count=8 | cryptsetup luksOpen /dev/md0 luksVolume --key-file=- && mount /dev/mapper/luksVolume /mnt/

al crear o usar cryptsetup-reencrypt (en los repositorios pero no instalado de forma predeterminada)

información relacionada