Saturday, December 27, 2014

Гибернация в Linux Mint для зашифрованного HDD


  1. Добавим новый ключ для физического зашифрованного раздела HDD, на котором расположен swap:
    sudo /lib/cryptsetup/scripts/decrypt_derived <dmtable-root-volume-name> | sudo cryptsetup luksAddKey --key-file=<path-to-already-registered-keyfile> /dev/<luks-swap-device> -
    Или зададим ключ при создании LUKS-раздела
    sudo /lib/cryptsetup/scripts/decrypt_derived <dmtable-root-volume-name> | sudo cryptsetup luksFormat /dev/<luks-swap-device> --key-file -
    Этот ключ генерируется на основе ранее созданного зашифрованного root-раздела (параметр <dmtable-root-volume-name>) с помощью скрипта /lib/cryptsetup/scripts/decrypt_derived.
    Параметр <luks-swap-device> - имя физического luks-раздела для swap (например, /dev/sda4).
    Параметр <path-to-already-registered-keyfile> - путь к ранее зарегестрированному файлу-ключу для расшифровки раздела.
  2. Убедимся, что swap создан:
    sudo /lib/cryptsetup/scripts/decrypt_derived <dmtable-root-volume-name> | sudo cryptsetup luksOpen /dev/<luks-swap-device> swap --key-file -
    sudo mkswap /dev/mapper/<dmtable-swap-volume-name>
  3. В файл /etc/crypttab добавим/отредактируем строку для работы с разделом swap:
    swap UUID=<uuid-of-luks-swap-device> <dmtable-root-volume-name> luks,discard,keyscript=/lib/cryptsetup/scripts/decrypt_derived
  4. В файл /etc/initramfs-tools/conf.d/resume добавим/отредактируем строку для восстановления из swap:
    RESUME=UUID=<uuid_of_encrypted_swap_partition>
  5. В файл /etc/fstab добавим/отредактируем строку для монтирования swap:
    /dev/mapper/<dmtable-swap-volume-name>   none      swap    sw           0       0
  6. Обновим initrd для всех установленных ядер:
    chroot <target-system-root>
    update-initramfs -u -k all