全部AIだけで解決しました。
教えることに関して文句を言うやつはAI以下だ。
🧭 まず確認するファイル
/etc/crypttab
/etc/fstab
この2つに書かれているUUIDが、実際のblkidの出力と一致している必要があります。
① UUIDの確認コマンド
sudo blkid
たとえば出力がこうだったとします:
/dev/sdb1: UUID="f27a5e6e-****-****-****-07b2e6e4b3b7" TYPE="crypto_LUKS"
/dev/mapper/mydata: UUID="f8882f54-****-****-****-b1123abc5678" TYPE="ext4"
ここで重要なのは:
| 種類 | デバイス | TYPE | 用途 |
|---|---|---|---|
| 暗号化前の物理デバイス | /dev/sdb1 |
crypto_LUKS |
/etc/crypttab に書く |
| 復号後の仮想デバイス | /dev/mapper/mydata |
ext4 |
/etc/fstab に書く |
② /etc/crypttab の書式
書式:
<名前> <デバイス> <鍵ファイル> <オプション>
例(UUIDで書く場合):
mydata UUID=f27a5e6e---****-07b2e6e4b3b7 /root/keys/mydata.key luks
💡ポイント:
ここに書くのは crypto_LUKS の UUID(つまり /dev/sdb1 のUUID)
blkid の出力で TYPE="crypto_LUKS" の方を使います。
③ /etc/fstab の書式
書式:
<デバイス> <マウント先> <ファイルシステム> <オプション>
例(UUIDで書く場合):
UUID=f8882f54---****-b1123abc5678 /mnt/mydata ext4 defaults 0 2
💡ポイント:
ここに書くのは 復号後の ext4 のUUID(つまり /dev/mapper/mydata のUUID)
TYPE="ext4" の方を使います。
④ よくある間違い
| 誤り | 原因 |
|---|---|
/etc/fstab に crypto_LUKS の UUID を書いた |
→ 復号される前なので ext4 としてマウントできず失敗 |
/etc/crypttab に /dev/mapper/mydata の UUID を書いた |
→ まだ作られていないデバイスなので待ち状態でブートが遅くなる |
UUID= の前後のスペースや引用符 |
→ systemd-cryptsetup が正しく認識しない |
⑤ 修正したら確認
修正後、次のコマンドでテスト:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart systemd-cryptsetup@mydata.service
sudo mount -a
エラーが出なければOK。
その後、再起動して確認してください。
・どのUUIDを使うか判断する場合の参考
| ファイル | UUIDに対応するTYPE | 例 | 意味 |
|---|---|---|---|
/etc/crypttab |
crypto_LUKS |
/dev/sd* |
暗号化されている「物理」パーティション |
/etc/fstab |
ext4, xfs など |
/dev/mapper/mydata |
復号後にマウントするファイルシステム |