Сбой автозагрузки раздела LUKS при загрузке

У меня есть зашифрованная установка Ubuntu 14.04 Desktop. Зашифрованный корневой раздел создается с использованием параметров по умолчанию установщика Ubuntu (варианты "Стереть диск и установить Ubuntu" и "Зашифровать новую установку Ubuntu"). Эта часть работает нормально (она запрашивает пароль при загрузке и открывает разделы root и swap).

Позже я добавил второй диск, отдельно зашифрованный с помощью ключевого файла, хранящегося в корневом разделе. Предполагалось, что он будет открыт автоматически, как только откроется корневой раздел. Для этого второй диск был добавлен в crypttab (по UUID), а его зашифрованная файловая система - в fstab (по метке, точке монтирования). /stg).

При загрузке, после ввода основного пароля расшифровки, я получаю следующее: Произошла ошибка при монтировании / stg. Нажмите S, чтобы пропустить монтаж, или M, чтобы восстановить вручную.

Странная вещь, если я нажимаю M и просто запустить mount -a просто успешно монтируется. Я не вижу ничего подозрительного в /var/log/syslog,

Что с этим? Что я могу проверить, чтобы диагностировать проблему?


[UPD - добавил некоторые детали] Диск sdb имеет таблицу разделов MBR с одним разделом. Зашифрованная файловая система была инициализирована с помощью следующих команд:

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 для краткости заменены текстом "uuid-of-..."):

# 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

2 ответа

Как ни странно, замена ссылки на ярлык в fstab с путем к устройству исправляет проблему! То есть: LABEL=stg-tmp изменился на /dev/mapper/stg_crypt,

Я также попробовал ссылку UUID, она не работала. Таким образом, очевидно, что ссылки LABEL и UUID во время загрузки работают для физических разделов, но не работают для зашифрованных разделов. Но они работают в mount -a для любых перегородок.

Это не очень удовлетворительно, поскольку решения идут (например, ему не хватает объяснения), но это решает проблему под рукой, поэтому я думаю, что пока все нормально..

Первая мысль: intramfs НЕ видит ключевой файл (нормальное поведение)

пара исправлений включает в себя:

добавление / создание резервной парольной фразы для / stg, как упомянуто здесь

Добавление резервной копии к Luks (прокрутите вниз до раздела "Добавление резервной фразы")

добавление dd if=/dev/usbkey bs=512 skip=4 count=8 | cryptsetup luksOpen /dev/md0 luksVolume --key-file=- && mount /dev/mapper/luksVolume /mnt/

при создании или использовании cryptsetup-reencrypt (в репозитории, но не по умолчанию установлено)

Другие вопросы по тегам