Зашифрованный раздел подкачки не отображается в /dev/mapper

Я выполнил эти шаги, чтобы конвертировать мой обычный обмен /dev/sda4 (UUID 5da9c956-e544-47e3-bb8e-fe18d9531b2f) в зашифрованный раздел подкачки 16.04:

  • Отключите старый раздел подкачки и перезапишите его нулями:

    sudo swapoff -a
    sudo dd if=/dev/zero of=/dev/sda4 bs=4M
    
  • устанавливать cryptsetup:

    sudo apt install cryptsetup
    
  • редактировать /etc/crypttab содержать это:

    # <target name> <source device>                 <key file>  <options>
    cryptswap   UUID=5da9c956-e544-47e3-bb8e-fe18d9531b2f   /dev/urandom    swap
    
  • редактировать /etc/fstab удалить старую строку подкачки и заменить ее следующей:

    # cryptswap on /dev/sda4 configured in /etc/crypttab
    /dev/mapper/cryptswap               none        swap    sw  0   0
    
  • Перезагрузите конфигурацию криптодисков:

    sudo service cryptdisks reload
    sudo service cryptdisks-early reload
    
  • Включите новый зашифрованный своп:

    sudo swapon -a
    

Однако этот последний шаг дал мне следующее сообщение об ошибке:

swapon: stat of /dev/mapper/cryptswap failed: No such file or directory

Действительно, зашифрованный файл устройства, кажется, не был создан:

$ ls -la /dev/mapper/
total 0
drwxr-xr-x  2 root root      60 Aug 10 18:50 .
drwxr-xr-x 20 root root    4780 Aug 10 20:16 ..
crw-------  1 root root 10, 236 Aug 10 18:50 control

Что здесь пошло не так и как мне заставить работать мой зашифрованный раздел подкачки?

1 ответ

Решение

У вас проблема с вашим /etc/crypttab файл, который заставляет все идти на юг, и проблема с вашим разделом подкачки.

Прежде всего, вам нужно mkswap раздел, который вы хотите использовать для зашифрованного файла подкачки. Утилита cryptdisk ожидает, что ваш раздел будет заменен, поэтому вы должны сохранить его так:

sudo mkswap /dev/sda4

Теперь обратите внимание, что это изменит UUID раздела. Получите новый с помощью следующей команды и запишите это:

sudo blkid /dev/sda4

Теперь нам нужно разобраться с более крупной проблемой: /etc/crypttab файл. Замените его следующим:

# <target name>  <source device>        <key file>     <options>
cryptswap        UUID=<Your new UUID>   /dev/urandom   swap,offset=1024

Перезагрузите систему, и у вас должен получиться рабочий своп!


У вас есть cryptswap настроить в настоящее время, чтобы воссоздать весь раздел как зашифрованный раздел. Это не хорошо ™, потому что нам нужно сохранить UUID. Смещая своп на 1024 блока, мы сохраняем важную информацию о файловой системе, включая UUID.

Другие вопросы по тегам