フラッシュドライブでLUKS暗号化ドライブを起動し、キーボードにフォールバックする

フラッシュドライブでLUKS暗号化ドライブを起動し、キーボードにフォールバックする

ブートローダーとして GRUB を使用し、暗号化されていないブート パーティションと LVM-on-LUKS を使用するその他のすべてを使用して構成されたシステムがいくつかあります。現在、システムのロックを解除する唯一の方法は、物理的にキーボードに移動してパスワードを入力することです。USB ドライブにキー ファイルを保存し、USB ドライブが存在する場合にシステムを自動的に起動できるようにしたいと考えています。

このブログ投稿アーカイブ)、このSOの投稿そしてこのフォーラム投稿アーカイブ) ではそれぞれこれを行う方法が説明されていますが、いずれの場合も基本的に「構成を編集する」という手順があります/etc/crypttabが、 を開くと/etc/crypttab、上部のコメントに次のように表示されます。

# NOTE: Do not list your root (/) partition here, it must be set up
        beforehand by the initramfs (/etc/mkinitcpio.conf)

そして実際私のシステムはないここに root のエントリはありません。代わりに、次の行がある grub 構成で設定されます。

GRUB_CMDLINE_LINUX="... root=/dev/mapper/vg-root cryptdevice=UUID={uuid}:cryptlvm"

この通知は/etc/crypttab間違っていますか? または、編集を伴うこれらの方法には異なるブート構成があると考えている人はいるのでしょうか/etc/crypttab? この通知が正しい場合、GRUB に USB ドライブ内のキーファイルを検索させる正しい方法は何ですか?

注記:この質問もこの/etc/crypttab方法を支持する形で解決されます。

答え1

実際に動作するかどうかは分かりません/etc/crypttabが、設定だけで動作させることはできましたgrub。これは実際にはかなりよく文書化されていました。ArchLinux Wiki で(通常はそうなります)。私の場合は、 でext4フォーマットされた USB ドライブを持っていたので、 に移動して に/etc/mkinitcpio.conf追加しました:ext4MODULES

MODULES=(ext4)

次に、 で、次のようにパラメータを追加するように/etc/default/grub変更しました。GRUB_CMDLINE_LINUXcryptkey

GRUB_CMDLINE_LINUX="quiet ... cryptkey=LABEL=my_usb_label:ext4:/path/to/keyfile

/path/to/keyfileUSBドライブ上のキーファイルへのパスはどこにありますか?/ルートとしてUSBドライブのencryptフックの使用に関する詳細情報は、ここ

関連情報