Дано: настроенный lvm, шифрование по паролю, в шифрованном разделе создан root и swap, boot отдельно не шифрованный.
Нужно ключом расположенным на флешки расшифровывать root раздел при загрузке.
Делаем файл с ключом (2048 bit) и выставляем права доступа к нему:
dd if=/dev/urandom of=/путь к файлу с ключом на флешки/secret.key bs=512 count=4
cryptsetup luksAddKey /dev/наш_шифрованный_раздел /путь к файлу с ключом на флешки/secret.key
chmod 400 /путь к файлу с ключом на флешки/secret.key
Файловая система на флешки должна быть EXT3!
Проверяем количество ключей нашего раздела:
cryptsetup luksDump /dev/sda3
Должно быть два key slot'а, которые «ENABLED». Нулевой — это старый с паролем, первый — это наш новый с ключом в файле.
Удаляем старый ключ:
cryptsetup --key-file /путь к файлу с ключом на флешки/secret.key luksKillSlot /dev/наш_шифрованный_раздел 0
Проверяем количество ключей, но теперь должен остаться только один key slot, который «ENABLED».
Меняем запись о нашем зашифрованном разделе, используем флешку с меткой SECRET:
nano /etc/crypttab
sda3_crypt /dev/disk/by-uuid/f1500b88-fa6e-4b6c-9f34-f985b63da475 /dev/disk/by-label/SECRET:/secret.key luks,keyscript=/lib/cryptsetup/scripts/passdev
Обновляем initramfs командой:
update-initramfs -u
Перезагружаемся, все должно работать.
Для форматирования флешки в ФС EXT3 под Windows, можно использовать EaseUS Partition Master Free.
Просмотреть флешку, отформатированную в файловую систему EXT3, под Windows можно установив специальный драйвер (https://sourceforge.net/projects/ext2fsd/).
Форматирование под Linux:
Определяем раздел, который использует флешка. Для этого используем команду df. У нас /dev/sdc1.
Затем нужно отмонтировать флешку:
umount /dev/sdс1
Дальше выполним форматирование:
mkfs -t ext3 -L SECRET /dev/sdc1