Да, я знаю, что ответ довольно поздний, но лучше поздно, чем никогда ...
Я не знаю, есть ли в Debian инструменты для этого, но с помощью Arch Linux вы можете создать структуру диска следующим образом:
- Раздел EFI (смонтированный
/boot/efi
) с загрузчиком EFI grub, форматированный раздел EFI типа EF00
. Может быть ваш /dev/sda1
. Этот раздел будет содержать только заглушку grub, чтобы попросить пароль для монтирования вашего загрузочного раздела.
- загрузочный раздел (mount
/boot
), который является криптографическим устройством luks. После крипто-разблокировки этого раздела вы можете отформатировать его, используя любую файловую систему, поддерживаемую grub, но (например, ext4). Это будет ваш /dev/sda2
- Криптоустройство, которое будет хранить все оставшиеся разделы как логические тома. Криптоустройство, с LVM и его логическими томами (3 слоя). Это будет ваш
/dev/sda3
.
- Здесь вы можете создать столько логических томов, сколько вам нужно / нужно. Ключ, который разблокирует этот раздел, будет использоваться для доступа к данным на всех его логических томах.
Заимствуя из Arch Wiki, вот как будет выглядеть ваш дисковый макет:
+---------------+----------------+----------------+----------------+----------------+
|ESP partition: |Boot partition: |Volume 1: |Volume 2: |Volume 3: |
| | | | | |
|/boot/efi |/boot |root |swap |home |
| | | | | |
| | |/dev/store/root |/dev/store/swap |/dev/store/home |
|/dev/sdaX |/dev/sdaY +----------------+----------------+----------------+
|unencrypted |LUKS encrypted |/dev/sdaZ encrypted using LVM on LUKS |
+---------------+----------------+--------------------------------------------------+
Предостережения:
- Grub запросит пароль для разблокировки
/boot
, начальный ram-диск снова попросит ввести пароль (причина для него /boot
заблокирована), и, вероятно, при монтировании root
раздела это произойдет еще раз. Хитрость заключается в том, чтобы использовать мастер-ключ внутри вашего /boot
(и, возможно, внутри вашего initrd с опцией FILES=
mkinitcpio
и добавить его с помощью luksAddKey
. Ваш загрузочный раздел зашифрован, поэтому вам не нужно беспокоиться, потому что ключ находится внутри зашифрованного раздела. chmod 000 keyfile.bin
- твой друг.
- Добавьте
encrypt lvm2
к перехватчикам mkinitcpio
.
- Если по какой-либо причине ваша система не может использовать ключ, пароль будет запрошен снова.
- Вы по-прежнему будете уязвимы для атак Evil Maid, которые исследуют ошибки Cold Boot . Лучшее, что вы можете сделать здесь:
- Включить безопасную загрузку.
- Подпишите свой Grub EFI.
- Отмените Microsoft CA на своей материнской плате (вы знаете, никому не можете доверять).
- Не забывайте подписывать вас grub efi всякий раз, когда у вас есть обновление пакета
grub-efi
.
Дальнейшее чтение:
После некоторых исследований о необходимости сохранения загрузочного раздела вне lvm(насколько я знаю, в grub-pc/bios были lvm
и luks
) я нашел этого парня на Arch Forums, подтверждающего, что нет необходимости хранить /boot
на запасном Крипто-раздел.
Вы можете установить grub на ваш ESP
, а также сказать ему, чтобы он считывал файлы конфигурации из esp следующим образом:
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=grub --boot-directory=esp
после этого восстановите conf:
# grub-mkconfig -o esp/grub/grub.cfg
И, похоже, что grub
- единственный загрузчик, который поддерживает загрузку крипто lvm+ без отдельного раздела /boot.