起動時に systemd を使用して暗号化されたスワップをマウントする方法を教えてください。状況は次のとおりです。
私は Crunchbang++ フレーバーの Debian 9 システムを持っています。インストール中に、LVM ボリューム上にある暗号化されたパーティションとして swap を設定しました。
起動中にパスフレーズの入力を求められると予想していたので、正しいパスフレーズを入力すると、スワップがマウントされました。
ただし、プロンプトは表示されませんでした。代わりに、「crypt_init() が失敗しました: ブロックデバイスが必要です」という systemd メッセージが表示されます。
少し調べてみると、/var/run/systemd/generator に生成されたサービス ユニット ファイルがあり、 でコマンドを試したExecStart
ところ、パスフレーズを要求され、正常にマウントされました。この時点で、スワップがマウントされ、シェル アクセスを除くすべての機能が備わった実行中のシステムになっています。
したがって、マウントの順序と暗号化されたパーティションを開く順序に何か問題があるのではないかと思います。ただし、私は Linux に関しては素人であり、systemd に関してはさらに素人です。現時点で私が収集できるのはこれだけです。何か見落としている点がありましたら、ご指摘いただければ大変ありがたく思います。
/var/log/syslog
:
Nov 23 14:27:09 cbpp systemd[1]: Starting Cryptography Setup for cbpp-swap_crypt...
Nov 23 14:27:09 cbpp systemd-cryptsetup[1478]: crypt_init() failed: Block device required
Nov 23 14:27:09 cbpp systemd[1]: systemd-cryptsetup@cbpp\x2dswap_crypt.service: Main process exited, code=exited, status=1/FAILURE
Nov 23 14:27:09 cbpp systemd[1]: Failed to start Cryptography Setup for cbpp-swap_crypt.
/etc/crypttab
:
cbpp-swap_crypt UUID=da050680-aa68-4e5b-bd89-aa9eb719dfae none luks
/etc/fstab
:
/dev/mapper/cbpp-swap_crypt none swap sw 0 0
lsblk -o +UUID
スワップがマウントされている場合:
|─cbpp-swap 254:2 0 7.5G 0 lvm da050680-aa68-4e5b-bd89-aa9eb719dfae
│ └─cbpp-swap_crypt 254:8 0 7.5G 0 crypt a917edd3-863f-4619-9006-9036acf5e075
swapon -s
:
Filename Type Size Used Priority
/dev/dm-8 partition 7809020 0 -1