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 sdb
tiene 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 fstab
con la ruta del dispositivo soluciona el problema. Es decir: LABEL=stg-tmp
cambiado 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 -a
para 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)