Возможно ли перевести ноутбук с ОС 16.04 LTS на полное шифрование диска (LUKS)?

Возможно ли перевести ноутбук с ОС 16.04 LTS на полное шифрование диска (LUKS)?

Итак, у меня есть ноутбук, и я хочу посмотреть, насколько сложно перейти на полное шифрование диска. Я уже делал это с чистой установки и даже написал 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

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