Grub2 не может загрузить зашифрованный root

Grub2 не может загрузить зашифрованный root

Я использую ArchLinux и следовал их руководству по шифрованию корневой файловой системы:

https://wiki.archlinux.org/index.php/Использование_DM-Crypt

Но я не могу заставить grub загрузить зашифрованный раздел.

Мой файл grub выглядит так:

root (hd0,2)
kernel /vmlinuz-linux cryptdevice=/dev/sda4:root root=/dev/mapper/root ro
initramfs /intiramfs-linux.img

Я пытался редактировать это всем, что мог придумать, и всем, что мог найти в сети, но ничего не загружается. Он всегда выдает мне эту ошибку:

ERROR: device '/dev/mapper/root' not found. Skipping fsck.
ERROR: unable to find root device '/dev/mapper/root'.

Любая помощь будет высоко оценена.

решение1

КакВиланд сказал, необходимо указать образу ramfs расшифровать корневой раздел.

Что означает добавитьшифроватькрючок к/etc/mkinitcpio.confдофайловые системыхук, изменив эту строку (это должно быть настройкой по умолчанию в стандартной установке Arch):

HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

к этому:

HOOKS="base udev autodetect modconf block encrypt filesystems keyboard fsck"

(Более подробную информацию см.:https://wiki.archlinux.org/index.php/Dm-crypt/Шифрование_всей_системы#Настройка_mkinitcpio)

А затем перекомпилируйте образ ramfs с помощью следующей команды (в arch-chroot с помощью/ботиноксмонтирован):

# mkinitcpio -p linux

(Опять же, для более подробной информации см.:https://wiki.archlinux.org/index.php/mkinitcpio#Создание_и_активация_изображения)

Связанный контент