web-dev-qa-db-ja.com

Linuxで事前定義されたUUIDを使用して暗号化されたdm-crypt / LUKSパーティションを再作成するにはどうすればよいですか?

Dm-crypt/LUKSで暗号化されたUbuntu14.04 LTS(およびLinux Mint 17.1 LTS)の/およびスワップ領域があります。 /およびスワップ領域/ dev/mapper/UUID_1および/ dev/mapper/UUID_2に存在します。 / dev/mapper/UUID(たとえば、別のハードドライブ上)を(もちろん同じUUIDで)再作成することは可能ですか?これにより、災害時にTARを使用してシステムを復旧できます。ご存知のように、TARはコピーされたパーティションのUUIDを記録します。さらに、grub.cfg、/ etc/fstab、およびinitframsにも番号が含まれています。

Sudo tune2fs/dev/mapper/UUID ‐U UUID

コマンドが機能しません。

cryptsetup luksUUID/device/--[〜#〜] uuid [〜#〜]

外部コンテナのUUIDのみを変更できます。

ご回答ありがとうございます。

1
Christianus

指定されたUUIDでcryptluksパーティションを再作成するには、次のように入力します。

Sudo cryptsetup luksFormat --verify-passphrase --uuid dec95850-23ad-4f54-b5c2-4f13ea48c571 /dev/sdb4

(/ dev/sdb4パーティションをcryptluksで暗号化するため)、

Sudo cryptsetup open --type luks /dev/sdb4 sdb4_crypt

luksコンテナーを開き、/ dev/mapper/sdb4_cryptとしてアタッチします)、

Sudo mke2fs -v -t ext4 -U f65aa2cb-d7a3-4e45-858b-2b12a50e1b45 /dev/mapper/sdb4_crypt

luksコンテナをext4ファイルシステムとしてフォーマットし、指定されたUUIDを割り当てる)、

mount /dev/mapper/sdb4_crypt /media/<user>/f65aa2cb-d7a3-4e45-858b-2b12a50e1b45

(マウントするにはluksコンテナ指定されたパスの下にあります。)

ジョブが終了したら、コンテナーをアンマウントしてコンテナーを閉じることができます。

Sudo umount /media/<user>/f65aa2cb-d7a3-4e45-858b-2b12a50e1b45
Sudo cryptsetup luksClose sdb4_crypt

指定されたUUIDでスワップパーティションを再作成するには:

Sudo cryptsetup luksFormat --verify-passphrase --uuid e1baa59a-f24f-450c-a5a8-67f9d2f3338e /dev/sdc2
Sudo cryptsetup open --type luks /dev/sdc2 sdc2_crypt
Sudo mkswap -U 5313264e-6212-46f5-936d-f903eb2a2231 /dev/mapper/sdc2_crypt

コンテナは次のコマンドで閉じることができます:

cryptsetup luksClose sdc2_crypt
0
Christianus

暗号化されたパーティションごとに2つのUUIDがあります。

ファイルシステムのUUID

/etc/fstabおよびGRUBで使用されます(変更後はSudo update-grubを使用することを忘れないでください)。次のように変更できます。

Sudo tune2fs ‐U "<fsUUID>" /dev/mapper/<luksUUID>

...対応するLUKSパーティションのUUID(/etc/crypttabで検索できます)はどこにあり、<fsUUID>はファイルシステムのUUIDを設定する必要があります。例えば:

Sudo tune2fs ‐U "81db8bc2-6cc1-4272-beab-8c1d667cfa93" /dev/mapper/310919c2-aec9-4641-b3d2-6d523395db34

LUKSパーティションのUUID

/etc/crypttabで使用されます。次のように変更できます:

Sudo cryptsetup luksUUID --uuid "<luksUUID>" /dev/sdxX

...ここで、LUKSパーティションのUUIDを設定する必要があります。/ dev/sdxXはLUKSで暗号化されたデバイス名です。例えば:

Sudo cryptsetup luksUUID --uuid "310919c2-aec9-4641-b3d2-6d523395db34" /dev/sda1

ただし、LUKSヘッダー全体を復元することをお勧めします(暗号化キーを変更しない場合)。 LUKSヘッダーはパーティションサイズを格納しないため、事実上すべてのパーティションサイズに復元するために使用できます。また、LUKSパーティションのフォーマットを再現するには、ヘッダーを復元するだけで十分です(つまり、この場合、luksFormatは必要ありません)。 luksHeaderRestoreで実行できます(バックアップはluksHeaderBackupとほぼ同じ方法で実行されます):

Sudo cryptsetup luksHeaderRestore --header-backup-file "<HeaderBackupFile>" /dev/sdxX

... LUKSパーティションのUUIDはどこに設定する必要がありますか。例えば:

Sudo cryptsetup luksHeaderRestore --header-backup-file "/home/user/MyLuksHeader.Backup" /dev/sda1

概要

したがって、復元手順は次のとおりです。

  1. 新しいパーティションを作成します。
  2. LUKSヘッダーを復元します。
  3. LUKSパーティションのロックを解除する
  4. 次のいずれかを使用してファイルシステムを復元します:
    • ファイルシステムイメージを復元します(例:partcloneを使用)。
    • ファイルシステムを再作成します:
      1. 新しいデバイスをフォーマットします。
      2. Untarバックアップ。
      3. 必要に応じて、ファイルシステムのUUIDを復元します。

また

UUIDの代わりにLUKSとファイルシステムのラベルを使用すると、構成が簡素化され、読みやすくなることに注意してください。

0
dess