grub.cfgのカーネルパラメータとしてUUIDを介したUSB-Stickアドレッシング

grub.cfgのカーネルパラメータとしてUUIDを介したUSB-Stickアドレッシング

私はArch Linuxを使用しており、Luks暗号化ルートパーティション(起動は暗号化されていません)の復号化キーでUSBスティックを設定しています。私は既にで説明しました。この問題

これで、dm-cryptに使用されたキーが実際に保存されます。今後スティックの最初のパーティションは次のように作成されます。

sudo dd if=tempKey.bin of=/dev/sdd bs=512 seek=1 count=6

したがって、3072はセクタ1..6(0インデックス)に書き込まれます。次のカーネルパラメータを使用するとgrub.cfg機能します。

cryptkey=/dev/sdd:512:3072

しかし、そのスティックが常にsddにマップされるとは信じられません。そのため、Arch-WikiではディスクIDの使用をお勧めします。つまり:

cryptkey=/dev/disk/by-id/$ID_OF_USB_STICK$:512:3072

ただし、USBスティックはコロンを含むIDを取得するため、バックスラッシュでコロンをエスケープしようとすると起動時にデバイスが見つかりません。システムは常にコロンの前にIDを探しているようです。

スペース/セクターを使用している場合にのみcryptkey=UUID=...機能します。~へ以前または間ではないパーティションです。

だから私は本当にここに閉じ込められています。 sdXに依存せずにこの問題を解決する方法と、誤ってキーをパーティションに入れてキーを上書きまたは削除する可能性について提案がある人はいますか? USBスティックのID(およびシンボリックリンク)の生成方法を変更するrules.dために実行できるアクションはありますか?udev

ベストアンサー1

アクセスしたいデバイスパスにこの文字が含まれている場合は、:バックスラッシュでエスケープする必要があります\。この場合、cryptkeyパラメータは次のとおりです。IDcryptkey=/dev/disk/by-id/usb-123456-0\:0:0:512を持つUSBキーの場合usb-123456-0:0

おすすめ記事