%3F.png)
Итак, у меня есть ноутбук, и я хочу посмотреть, насколько сложно перейти на полное шифрование диска. Я уже делал это с чистой установки и даже написал HOWTO, к которому, к сожалению, больше не имею доступа (корпоративная Wiki). Я ожидаю, что выполнение этого с чистой установки, вероятно, было очень автоматизировано, и поэтому миграция может быть намного сложнее. Я искал руководства, но все они, похоже, помечены как «Дубликат», «Требуется обновление», «Кандидат на удаление» и т. д., так что теперь очень сложно сказать, какое руководство является наиболее подходящим.
решение1
Я делал такую миграцию один или два раза, но вам нужно уметь использовать Google, чтобы решать возникающие проблемы. Это не полный ответ, а лишь приблизительные шаги того, что вам нужно сделать. Эти шаги должны быть выполнены с Live CD и включают операции с LUKS и LVM, поэтому вы можете также получить Live CD, содержащий последнюю версию KDE Partition Manager 3.0, и использовать его для операций LUKS и LVM.
Если у вас достаточно свободного места (более 50%), вы можете просто
- Измените размер текущего раздела.
- Создайте новый физический том LVM2 (PV), зашифрованный с помощью LUKS.
- Создайте новую группу томов, содержащую LVM PV.
- Создайте новый логический том LVM для вашей rootfs (и, вероятно, swap и все остальные разделы, которые у вас могут быть...). Я сам использую btrfs с подтомами, поэтому у меня были только btrfs и swap.
- Переместите ваши данные в зашифрованные разделы
- Удалить незашифрованные разделы
- Деактивируйте LVM и деактивируйте контейнер LUKS.
- Переместить контейнер LUKS в начало диска (место, освобожденное за счет удаления незашифрованных данных)
- Откройте контейнер LUKS еще раз.
- Увеличьте контейнер LUKS так, чтобы он заполнил весь диск.
- Разверните LVM LV, содержащий вашу корневую файловую систему.
Затем вам придется обновить записи в /etc/fstab, создать /etc/crypttab, выполнить chroot в зашифрованную rootfs, обновить initramfs и конфигурацию grub.
Это все еще оставляет /boot незашифрованным. Вы также можете зашифровать /boot, но это добавляет несколько дополнительных шагов, поэтому сначала убедитесь, что все вышеперечисленное работает. Чтобы зашифровать boot, вам нужно переместить содержимое раздела /boot в ваш rootfs/boot/. Затем в /etc/default/grub вам нужно добавить GRUB_ENABLE_CRYPTODISK=y
и удалить старый незашифрованный /boot. Затем вам снова придется обновить записи в /etc/fstab, создать /etc/crypttab, chroot в ваш зашифрованный rootfs, обновить ваши initramfs и конфигурацию grub. После этих шагов grub будет запрашивать парольную фразу перед загрузкой, однако он не передает ее в initramfs при загрузке, поэтому cryptsetup будет запрашивать ее снова. Поэтому вам нужно будет добавить файл ключа luks в ваш контейнер luks и поместить его в ваш initramfs. Например, мой файл /etc/crypttab содержит
luks-MYUUID UUID=MYUUID /boot/crypto_keyfile.bin luks