.png)
Итак, я пытаюсь запустить полностью зашифрованный загрузочный раздел. Я использую Funtoo, но в основном черпаю помощь из Arch wiki.
Поэтому я решил сделать что-то безумное/спорное: не разделять разделы boot/root. Моя настройка выглядит так:
/dev/nvme0n1p1 - EFI parition
/dev/nvme0n1p2 - Swap
/dev/nvme0n1p3 - Encrypted /
У меня /etc/default/grub
в наличии следующее:
GRUB_ENABLE_CRYPTODISK=y
GRUB_PRELOAD_MODULES="luks cryptodisk"
GRUB_CMDLINE_LINUX="luks enc_root=/dev/nvme0n1p3 root=/dev/mapper/enc_root"
Все аргументы Linux залучше-initramfs. Я включаю ключ к файловой системе в ramdisk, чтобы он не запрашивал у меня пароль дважды.
Я установил Grub следующим образом:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --recheck --boot-directory=/boot/efi/EFI
Итак, в текущем состоянии я получаю приглашение на восстановление Grub. Он не может найти свой файл конфигурации (он находится на зашифрованном загрузочном/корневом диске). Поэтому я запускаю следующие команды:
insmod luks
cryptomount (hd1,gpt3)
set root=(crypto0)
configfile (crypto)/boot/grub/grub.cfg
..и у меня полностью загружающаяся/рабочая система! :)
Итак, мой вопрос: как настроить загрузчик Grub EFI, чтобы он автоматически загружал зашифрованный раздел (crypt0)
и считывал его файл конфигурации?
Примечание: Grub определяет диск как (hd1,gpt3)
наиболее вероятный, поскольку моя USB-флешка все еще подключена. Это должно измениться, (hd0,gpt3)
если я отключу ее и перезагружу.
решение1
Оказывается, в Gentoo/Funtoo устройство сопоставления устройств для grub по умолчанию не включено. Я добавил следующее в /etc/portage/package.use
:
sys-boot/grub device-mapper
Затем я снова установил grub, запустил grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id="Funtoo Linux [GRUB]" --recheck
и перезагрузился, чтобы найти экран запроса пароля luks. После его ввода все загрузилось отлично.
Особая благодарность frostschutz, который предоставил решение в этой теме: