暗号化されたパーティション番号を変更する - sda3からsda5へ

暗号化されたパーティション番号を変更する - sda3からsda5へ

crypt-luks現在名前が付けられた暗号化されたパーティションがあり、sda3ディスクの最後のパーティションです。つまり、sda4またはがありませんsda5。暗号化されたパーティションには、ファイルシステムを含む3つの論理ボリュームが含まれています。

パーティション名をから変更できますかsda3sda5これは新しくインストールするので、データが失われても大丈夫です。可能であれば、回復USBスティックを使用してパーティション番号を再割り当てします。

詳細モードを試してみて、gdiskそのオプションを使用してディスク名を変更しましたt。しかし、今はディスクから起動できません。暗号化されたパスワードを入力して入力するとループバックします。これを行う正しい方法は何ですか?

(疑問のある方のために、自動化されたスクリプトは私の暗号化されたパーティションがあると予想しているので、これが必要です。sda5残念ながら、スクリプトはネットワーク起動時に実行され、私はそれを制御できません。)

答え1

最も簡単な方法(しかし最善ではないかもしれません)はシンボリックリンクを作成することです。

ln -nsf /dev/sda3 /dev/sda5

編集:これは起動時に削除される可能性が高いため、起動プロセスの最初にスクリプトを作成する必要があります。

編集:コメントのroaimaのおかげで、次のudevルールは自動的にリンクを作成する必要があります。/etc/udev/rules.d/82-cryptsetup.rules次の内容でファイルを作成します。

SUBSYSTEM=="block", KERNEL=="sda3", SYMLINK+="sda5"

答え2

次の解決策はフォーラム投稿に基づいています。シンボリックリンクのudevルール

Lost Deviceという項目があり、/dev/sda3その項目へのシンボリックリンクを作成して合成しようとしています/dev/sda5

cd /dev && ln -s sda3 sda5

udevこれは、ブロックデバイスと一致する単純なルールを使用して起動時に管理できますsda3

ファイルを生成する/etc/udev/rules.d/80-localか、同じ名前のファイルを使用して次の行を追加します。

# symlink existing /dev/sda3 to new sda5
SUBSYSTEM=="block", KERNEL=="sda3" SYMLINK+="sda5"

気になる場合は、SUBSYSTEM出力を見て合算値を適切な一致で選択してみました。 (UUIDまたは他の一意の識別子を一致させたいが見つかりません。)KERNELudevadm info -a -n /dev/sda3

udevこれでルールを再ロードし、新しい一致を実行するように指示します。

udevadm control --reload-rules
udevadm trigger --attr-match=subsystem=block

自動的に生成されたシンボリックリンクが表示されます。

ls -l /dev/sda5
lrwxrwxrwx 1 root root    4 Jan  7 17:18 /dev/sda5 -> sda3

次の手順をテストすることはできませんが、起動プロセス中にこのシンボリックリンクを作成する場所に応じて更新する必要がありますinitramfs。私のDebianシステムでは、次のように動作します。

update-initramfs -u

関連情報