Grub с зашифрованным / boot и / на btrfs RAID1?

Я пытаюсь настроить grub для загрузки с зашифрованного / boot на массиве RAID1 на основе BTRFS. Однако я не могу найти способ заставить grub разблокировать оба диска. GRUB дважды запрашивает ключ для разблокировки / boot , но я не знаю, как после этого попросить его разблокировать два шифровальных устройства. Вот процесс загрузки:

Разблокируйте / dev / sda2: /dev/sda2 Разблокировать / dev / sdb2: /dev/sdb2 grub запрашивает пароль / dev / sdb2 grub asks for /dev/sdb2 password и не работает, поскольку / dev / mapper / root1 не найден and fails since /dev/mapper/root1 is not found

Вот как выглядят соответствующие части файлов конфигурации:

/etc/default/grub.cfg:

...
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/sda2:root1 cryptkey=rootfs:/cryptfile.bin cryptdevice=/dev/sdb2:root2 cryptkey=rootfs:/cryptfile.bin root=/dev/mapper/root1 rootfstype=btrfs rootflags=device/dev/mapper/root1,device=/dev/mapper/root2,defaults"
GRUB_ENABLE_CRYPTODISK=y
...

Разбиение диска на разделы выглядит так:

/sda
    /sda1 - SWAP
    /sda2 - dmcrypt
        /root1 - / (RAID1)
/sdb
    /sdb1 - SWAP
    /sdb2 - dmcrypt
        /root2 - / (RAID1)

Любая помощь, пожалуйста?

0
09.06.2017, 18:09
1 ответ

Рабочий совет от reddit:

  1. Найдите загрузочный хук encrypt (тот, который входит в состав ваших initramfs)
  2. скопируйте его и создайте из него encrypt2. Удалите из него некоторые санитарные строки (например, очистку некоторых файлов или папок)
  3. добавьте encrypt2 к вашим хукам (mkinitcpio.conf(5)), encrypt2_* аргументы в вашу командную строку ядра, пересоберите initramfs.
  4. перезагрузить?
0
28.01.2020, 04:44

Теги

Похожие вопросы