LUKSパーティションの縮小方法と「cryptsetupのサイズ変更」の機能は何ですか?

LUKSパーティションの縮小方法と「cryptsetupのサイズ変更」の機能は何ですか?

単一のext4ファイルシステム(LVMなどなし)を含むLUKS暗号化パーティションのサイズを変更しています。これパスワード設定に関するよくある質問既存のパーティションを削除して再作成することをお勧めしますが、これは時間の無駄のように聞こえます。だから私は手動で慎重にパーティションのサイズを変更したいと思います。

これまで私がすべきことは次のとおりです。

  1. ファイルシステムの(暗号化された)バックアップを作成します。重要!次のタスクの実行中にデータが失われる最初の人ではありません。
  2. 既存のext4ファイルシステムをマウント解除します(例:Live CDの起動)。 Live CDから起動する場合は、次のコマンドを使用して暗号化されたパーティションをマウントします。cryptsetup luksOpen /dev/sdXY ExistingExt4
  3. 既存のext4ファイルシステムのサイズ変更
  4. cryptsetup resize /dev/mapper/ExistingExt4 -b $SECTORS
  5. 次のコマンドを使用して、LUKSパーティションをシャットダウン/「アンマウント」します。cryptsetup luksClose ExistingExt4
  6. パーティションのサイズを小さくします。

上記のステップは正しいですか?

ステップ4では何を選ぶべきですか$SECTORS?このステップはまだ必要ですか?マニュアルcryptsetupページには実際にオプションは記載されていませんresize

resize <name>
    resizes an active mapping <name>.
    If --size (in sectors) is not specified, the size of the underlying
    block device is used.

最後に、ext4パーティションを15GiB縮小すると、を使用して既存のパーティションから15GiBを削除できると安全に想定できますかparted?では、どうすればよいですか?マイディスクはGPTでパーティション化されています(存在する場合)。

ベストアンサー1

バックアップ(手順1)とアンマウント(手順2と手順3の間)の後、次の手順を実行してfsckファイルシステムが正常であることを確認します。

e2fsck -f /dev/mapper/ExistingExt4

それ以外はステップが大丈夫です。

cryptsetup resizeコマンドの目的

$ SECTORSには何を選ぶべきですか?このステップはまだ必要ですか?

このステップは必要です。それ以外の場合、パーティションはまだ前面に表示されます。 Nautilusはこれを確認しましたが、resizeを使用した後もresize2fsLUKSパーティションはまだ古いサイズで表示されます。実行後、cryptsetup resize正しい数字が表示されます。 このステップは必須ではありません。ファイルブラウザに表示されている現在のサイズの状態にのみ影響します。サイズを変更してパーティションを再度閉じるか開くと、番号が復元されました。したがって、この操作はLUKSパーティションが終了した後に使用されなくなります(後で表示)。

$SECTORSこれは、次の出力を見ると確認できますcryptsetup status ExistingExt4

    /dev/mapper/ExistingExt4が有効になっています。
      タイプ: LUKS1
      パスワード: aes-cbc-essiv:sha256
      キーサイズ:256ビット
      デバイス: /dev/sda2
      セクターサイズ:  第512話
      オフセット:2056セクター
      サイズ:    156049348部門
      モード:読み取り/書き込み

(ようにcryptsetup 2.0.0(2017年12月)、セクタサイズは512バイトを超えることがあります。参考cryptsetup(8)マンページそして--sector-sizeオプション。 )

したがって、15GiBを減算するにはセクタサイズを使用してください156049348 - 15 * 1024 * 1024 * 2 = 124592068

cryptsetup resize ExistingExt4 -b 124592068

パーティションのサイズ変更parted

パーティションのサイズ変更の場合、partedGPTパーティションはうまく機能します。ただし、resizeコマンドは機能しません。解決策(または解決策)でパーティション情報を削除し、以下からインスピレーションを得て新しいパーティションを作成します。http://ubuntuforums.org/showthread.php?p=8721017#post8721017:

#cryptsetup luksは既存のExt4を閉じます。
#/dev/sda2を取り外します。
GNU 別途 2.3
/dev/sdaを使う
GNU Partedへようこそ!コマンドのリストを表示するには、「help」と入力します。
(分離)単位
(分離)
モデル: ATA INTEL SSDSA2CW08(scsi)
ディスク/開発者/sda: 156301488s
セクタサイズ(論理的/物理的):512B/512B
パーティションテーブル:gpt

番号開始終了サイズファイルシステム名フラグ
 1 34秒2082秒2049秒bios_grub開始
 3 2083s 250034s 247952s ext2 ルートブート
2 250035s 156301438s 156051404s すべて

15GiBをカットする必要があるため、新しい端はになります156301438 - 15 * 1024 * 1024 * 2 = 124844158。パーティション2を変更したいので、まずパーティションを削除してから、「Everything」というラベルで再作成する必要があります(必要に応じて変更できます)。ノート:ディスクにGPTレイアウトがあります。 MBRの場合、EverythingまたはprimaryextendedテストされていないMBRのパーティションのサイズ変更は、いいえテスト済みいいえテストされていないのでお勧めです。)

警告する: 次のコマンドでは破損したデータ。何が起こっているのか理解せずにコピーしないでください。部門規模〜しなければならない変更されることがあります。そうでなければ〜するパーティションを破壊します。私はあなたの愚かさについて責任を負わないバックアップバックアップバックアップあなたのデータ第二データが危険にさらされる前に、ストレージメディアを確認してください。

(分離)RM2
(分離)mkpart すべて 250035s 124844158s
警告:結果のパーティションは、最適なパフォーマンスのために正しく整列されていません。
無視/キャンセルしますか?無視する
(分離)
モデル: ATA INTEL SSDSA2CW08(scsi)
ディスク/開発者/sda: 156301488s
セクタサイズ(論理/物理):512B/512B
パーティションテーブル:要約表

番号開始終了サイズファイルシステム名フラグ
 1 34秒2082秒2049秒bios_grub開始
 3 2083s 250034s 247952s ext2 ルートブート
 2 250035秒  124844158s 124594124s               すべて
(分離)辞める

上記の例では、parted私のセクターは整列していません。これは初期インストールエラーなので、あまり心配しないでください。

今正しい!cryptsetup statusとを使用して、file -Ls /dev/...すべてが正しく機能していることを確認してから再起動できます。

おすすめ記事