web-dev-qa-db-ja.com

暗号化されたスワップパーティションが/ 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
    
  • Cryptdisks設定をリロードします。

    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

ここで何がうまくいかず、暗号化されたスワップパーティションを機能させるにはどうすればよいですか?

2
Byte Commander

/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を保持する必要があるため、これはNot™ではありません。スワップを1024ブロックだけオフセットすることにより、UUIDを含む重要なファイルシステム情報を保持します。

3
Kaz Wolfe