[решено]Вся система в шифрованном разделе

Автор dr_faust, 03 июля 2024, 16:49:01

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

dr_faust

В общем, жилось скучно, делать было нечего, нашел себе занятие, уперся в тупик, несмотря на всю мощь англоязычных инструкций по данной теме(а их немного и нашлось, по luks2 вообще вроде ничего нет).

1. Возможна ли в принципе загрузка системы при следующей конфигурации. Вся система в одном шифроконтейнере, внутри него структура lvm-томов(boot, root, swap и т. п.)?

2. Если да, то поясните что не так делаю.

- Установил debian stable стандартным установщиком на virtualbox с mbr(режим efi почему-то не активируется) в следующей конфигурации:
sda1 /boot
sda5 контейнер тип luks2, в котором lvm.

- В свежеустановленой системе из бакпорта обновляю grub до версии 2.12-1 — согласно интернету версии от этой и выше поддерживают luks2.
 
- Создаю новый lvm-том под boot. Форматирую, примонтирую, cp копирую содержимое sda1 на вновь созданный, отмонтирую. fstab редактирую, подставляя UUID нового раздела. Наконец, перемонтирую все командой mount -av.

- Раздел sda1 затираю dd. Снимаю флаг загрузочного и вовсе удаляю.

- В etc/default/grub
прописываю
GRUB_ENABLE_CRYPTODISK=y
GRUB_PRELOAD_MODULES="luks2 ctyptodisk lvm"

Вроде бы, luks и luks2 это таки разные модули.

- Выполняю
update-grub2
grub-install --recheck /dev/sda

Никаких ошибок в логах нет. Все штатно.

- Насколько понял сначала нужно выполнить первую команду, которая генерирует необходимое в /boot, а потом вторая записывает нужно в заголовок.

Поэтому не поленился почитать bootgrub/grub.cfg
Не специалист по синтаксису этого файла, сам его не напишу тем более, тем не менее все прописаны ранее модули прописаны к загрузке.
В секциях настроек  загрузки той или иной версии ядра все uuid(для cryptomount) и id структуры lvm прописаны верно.

- Перезагрузка. Черный экран просит вести пароль к такому-то разделы. Ввожу. Пишет, пароль неверный, cryptodisk не загрузился, lvm том(root) не найден.
Дословно лог не привожу, так как хз как его вытянуть с виртуалки.

Подозрения о причинах.

a)Оно в принципе так не работает. Надо или все на один раздел без lvm ставить, или на два, оба форматируя под luks2.

b)Версия груба из бакпорта не поддерживает luks2.

c)Может надо образы ядра нужно обновить, прописав в /etc/initramfs-tools какие-то параметры? Правда все найденные в интернете инструкции по debiano-образным ничего об этом не говорят. Инструкции по этому поводу содержаться только для arch, которому надо прописать определенные hooks. Только в debian система совсем другая. Хз что прописывать и надо ли оно. В ядре — debian-а — понимаю чуть менее чем ничего.

d)Может lvm и lvm2 разные модули?

3. А как с этим делом обстоит с efi?
Devuan 4. Debian 12. LXDE.

sidbar

Грузанись из лайвсиди и проверь монтирует ли крипторазделы в утилите гномдиск. Для обновления initramfs надо указать версию ядра.
Devuan GNU/Linux

dr_faust

Ларчик просто открывался.

Дебиантовский установщик в качестве хэширующего алгоритма использует argon2id, а grub 2.12-1 может работать только с pbkdf2.

Лечится добавлением нового слота с ключем(первая команда) и, опционально, удалением старого(вторая).
cryptsetup luksAddKey  -S 1 --type luks2 --pbkdf pbkdf2 <девайс>
cryptsetup luksKillSlot  -S 0 <девайс>
где -S - номер слота.
Devuan 4. Debian 12. LXDE.

sidbar

Неверный пароль писало из-за grub 2.12-1 ?
Devuan GNU/Linux