起動中は、LVMでルートLUKSデバイスを開くことができません。

起動中は、LVMでルートLUKSデバイスを開くことができません。

LUKSを使用してLVMパーティションを暗号化しました。私のルートパーティションは次のとおり/dev/HDD/rootです

LVM group "HDD" (at /dev/HDD):
  Encrypted LUKS device "root" at /dev/HDD/root

grubパラメータでパスワードを復号化しようとしていますGRUB_CMDLINE_LINUX

dolvm crypt_root=/dev/HDD/root root=/dev/mapper/root root_keydev=UUID=<usb-uuid> root_key=hdd.key

LUKSのキーはUSBデバイスにあります/hdd.key

ただし、ロードするとエラーメッセージが表示されます。

>> Scanning for and activating Volume Groups
  Reading all physical volumes. This may take a while...
  Found volume group "HDD" using metadata type lvm
  3 logical volume(s) in volume group "HDD" now active
>> Using key device /dev/sdc2.
>> Removable device /dev/sdc2 mounted.
>> hdd.key on device /dev/sdc2 found
No key available with this passphrase.
!! Failed to open LUKS device /dev/HDD/root
!! Could not find the root in /dev/HDD/root.
!! Please specify another value or:
!! - press Enter for the same
!! - type "shell" for a shell
!! - type "q" to skip...

ログによると、ボリュームグループが見つかり、キーを持つデバイスが正常にマウントされ、デバイスのキーが見つかりましたが、LUKSを使用して開くことができませんでした。

その後、shellオプションを使用して手動で修正しました。キー付きのデバイスがインストールされているので、/mnt/keyここでそのキーを見つけて、このキーを使用してLUKSデバイスを開くことができます。

cat /mnt/key/hdd.key | cryptsetup luksOpen /dev/HDD/root root

このコマンドはLUKSデバイスを開いて/dev/mapper/rootシェルを終了し、qこのエラーをスキップできます。その後、システムが正常に起動します。

LUKSデバイスを開き、キーを使用して手動でインストールできるため、grubの設定に問題があるようです。したがって、grub2を使用して起動時にLUKSデバイスを自動的に開くように問題を解決するにはどうすればよいですか?

ベストアンサー1

問題は、キーファイルの代わりにLUKSのパスワードとしてキーを使用していることです。キーファイルに変換するには、キーファイルを追加してcryptsetupパスワードを削除してください。

cat /bood/hdd.key | cryptsetup luksAddKey -d /bood/hdd.key /dev/root
cat /bood/hdd.key | cryptsetup luksRemoveKey /dev/root

おすすめ記事