LINUX.ORG.RU

Установка archlinux на шифрованный раздел

 ,


0

1

Возникла проблема после установки системы, а именно не выдаёт запрос на пароль для разблокировки корня, который находится в группе lvm на шифрованном разделе. Загрузочный раздел отдельный, нешифрованный, cмонтирован в /mnt/boot

Вроде простая установка, много раз делал, но тут возникла проблема, всё перепроверил, и не могу понять в чём дело.

Загрузчик systemd-boot, установлен, настроен. UUID шифрованного раздела прописан верно, опция монтирования задана.

nano /boot/loader/entries/arch.conf
	title Arch Linux
	linux /vmlinuz-linux
	initrd  /amd-ucode.img
	initrd /initramfs-linux.img
	options cryptdevice=UUID=5d8ce3c2-3d41-4cba-b2f5-0b59f83376d1:luksArch root=/dev/mapper/rootvg-root rw

Параметры ядра заданы как рекомендовано:

HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole sd-encrypt block lvm2 filesystems fsck)

Фото загрузки:

https://i126.fastpic.org/big/2026/0125/d6/60171ea0b4a00ed1615179a917eeaad6.jpg

https://i126.fastpic.org/big/2026/0125/af/85955f15c139221cb2c2fc7ab1c31baf.jpg

Может есть у кого какие соображения?



Последнее исправление: dima81 (всего исправлений: 2)
Ответ на: комментарий от xaTa

Ожидаемый результат - запрос пароля на расшифровку раздела при загрузке.

Месяца 4 назад ставил, буквально сразу при загрузке выдаётся пароль на расшифровку раздела. Да и давние установки тоже всегда заканчивались ожидаемо, т.е. практически сразу при включении компа выдавался пароль на расшифровку раздела. Есть ssd с такой же системой, просто переставлял на это комп и тоже всё работает. Т.е. дело не в компе.

Что ещё заметил в этом неудачном случае, что то много всего пишет «загружает». У успешных установках нет такого. Думаю что то с initramfs, хотя алгоритм установки тот же.

Очевидно, что то упускаю. Может, что то поменял, но что не понимаю.

dima81
() автор топика
Ответ на: комментарий от BRE

HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block encrypt lvm2 filesystems fsck) - такое тоже пробовал, не взлетело. Просто обратил внимание, что написано в mkinitcpio.conf и указал как там, это то что в первом посте записано.

По поводу UUID, судя по документации

https://wiki.archlinux.org/title/Dm-crypt/Encrypting_an_entire_system#Configuring_the_boot_loader

должен указываться UUID, если верно понимаю.

Но спасибо за мысль, пробую сегодня.

dima81
() автор топика
Ответ на: комментарий от dima81

должен указываться UUID, если верно понимаю.

Ты указал UUID расшифрованной ФС скорее всего, который прописан в ФС, а надо UUID раздела до расшифровки, то есть именно PARTUUID, который прописан в заголовке диска.

Radjah ★★★★★
()
Ответ на: комментарий от QsUPt7S

Я так и не понял почему у меня не заработало как изначально написал в первом посте. Сделал по вашему совету через crypttab.initramfs, спасибо за подсказку. Но не понял в чём здесь сильно удобнее, манипуляций больше с файлами. Может поделитесь мнением?

Ещё есть небольшой нюанс после первоначальной загрузки предлагается ввести пароль, потом экран неожиданно обновляется част вывода показывается и ввод пароля где то ближе к центру экрана смещается, как то некрасиво что ли. Снял видео (5Мб), по другому это не показать, может подскажете что это?

https://disk.yandex.ru/i/c3jDv7RrG_PeLw

Ещё попутно вопрос, может знающие подскажут: sd-encrypt указывается если используется systemd, а вот encrypt если busybox. Но на 2х других компах у меня в хуках прописана encrypt и системы на базе systemd, да к тому же encrypt и lvm2 последними в хуках прописаны, но оно всё работает прекрасно, несмотря на обновления ядер. Как то странно, не находите?

dima81
() автор топика
Ответ на: комментарий от dima81

Я так и не понял почему у меня не заработало как изначально написал в первом посте.

Генератор systemd-cryptsetup-generator который и создаёт инстансы сервисов для расшифровывания устройств, берёт параметры для их генерации из аргументов ядра (подробнее man systemd-cryptsetup-generator) и файла /ect/crypttab. Хук sd-encrypt упаковывает в initrd /etc/crypttab.initramfs как /etc/crypttab. Удобен этот файл, прежде всего тем, что структурно отделяет параметры расшифровывания разделов, от строки аргументов ядра. Кроме того, сам более читабелен в отличие от опций раскиданных в разных rd.luks.*-аргументах ядра.

Снял видео (5Мб), по другому это не показать, может подскажете что это?

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

Как то странно, не находите?

Весьма странно. По идее, run-часть хука encrypt работать не должна. Хук base упаковывает в initrd скрипт /usr/lib/initcpio/init как /init (именно этот путь запускает ядро в раннем окружении initrd). Этот скрипт отвечает, кроме прочего, за запуск run-частей других хуков. Но хук systemd подменяет /init в initrd на бинарник systemd. Последний ни о mkinitcpio, ни о его хуках представления не имеет, и запускать их run-части не должен.

QsUPt7S ★★★
()
Последнее исправление: QsUPt7S (всего исправлений: 4)