LUKSパーティションの拡張

LUKSパーティションの拡張

暗号化された永続性を備えたkali live usb 32GBを構築しました。

これで、ddコマンドを使用して32GBのコンテンツを64GBのUSBデバイスにコピーし、すべてが新しい64GBのデバイスで正常に動作します。

64GBスティックには空き容量があるので、暗号化された(LUKS)パーティションを拡張したいと思います。残念ながら、これまでこのパーティション拡張を実装する方法についての信頼できる情報はありません。

誰でもどんな提案がありますか?

とても感謝しています!

答え1

通常、パーティションを拡張するのと同じです。

LUKS ヘッダーにはパーティションのサイズが含まれておらず、パーティションはブロックごとに暗号化されます。したがって、暗号化されたパーティションサイズを拡張すると、マッピングされた(暗号化されていない)パーティションのサイズも自動的に拡張する必要があります。

ただし、LUKSがマウントされたパーティションの変更を検出するかどうかはわかりません。アクティビティマップのサイズを変更するように指示する必要があります。

cryptsetup resize <mapping name>

あるいは、マッピングをオフにして再びオンにするか、システムを再起動することもできます。


疑いを避けるためです。パーティションを拡張する一般的な方法は次のとおりです。

  • パーティションテーブルエントリでサイズを変更します。
  • カーネルに新しいサイズが見つかるようにします(通常は暗黙的に発生します。以下を参照)。
  • パーティションのファイルシステムのサイズを変更します。

パーティションテーブルエントリのサイズを変更するツールはたくさんありますが、私はお勧めしますcfdisk。これは同種製品の中で最もユーザーフレンドリーであり、「サイズ調整」オプションもあります(とは異なりfdisk)。

両方ともカーネルにブロックデバイスの新しいサイズを検索するようにfdisk求められます。cfdisk通常、これを直接行う必要はありません。しかし、そうでない場合は試してみてくださいblockdev --rereadpt ...

ext2/3/4 ファイルシステムのサイズを変更するには、以下を使用できます。2fs サイズ変更。これは、LUKSボリュームを保持する暗号化されたパーティションではなく、暗号化されていない(マッピングされた)ブロックデバイスで実行する必要があることに注意してください。

答え2

私が見つけた情報を考慮して、ついに新しい64GBデバイスのサイズを変更しました。ここ

完全性のために、個々のコマンドの出力を含めました。

  1. raw USBデバイス(32GB)を使用してkali-liveシステムを起動します。

  2. 変更(拡張)するLUKSパーティションを含むUSBフラッシュドライブ(64GB)を挿入します。

  3. 使用ゴポット、新しいパーティション(8 GB)を作成し、残りの空き容量を別の目的に保存します。 ここに画像の説明を入力してください。 ここに画像の説明を入力してください。

  4. LUKSパーティションの削除、追加するパーティション(8GB)削除後に新しいパーティションを作成する(old_LUKS_partition + 8GBサイズ)

    sudo fdisk /dev/sdb
    
    Welcome to fdisk (util-linux 2.37.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): p
    Disk /dev/sdb: 59.63 GiB, 64023257088 bytes, 125045424 sectors
    Disk model: Extreme         
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x59536a28
    
    Device     Boot    Start      End  Sectors  Size Id Type
    /dev/sdb1  *          64  7866239  7866176  3.8G 17 Hidden HPFS/NTFS
    /dev/sdb2        7866240  7867711     1472  736K  1 FAT12
    /dev/sdb3        7868416 60088319 52219904 24.9G 83 Linux
    /dev/sdb4       60088320 76865535 16777216    8G 83 Linux
    
    Command (m for help): d
    Partition number (1-4, default 4): 
    
    Partition 4 has been deleted.
    
    Command (m for help): d
    Partition number (1-3, default 3): 
    
    Partition 3 has been deleted.
    
    Command (m for help): n
    Partition type
       p   primary (2 primary, 0 extended, 2 free)
       e   extended (container for logical partitions)
    Select (default p): p
    Partition number (3,4, default 3): 
    First sector (7867712-125045423, default 7868416): 
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (7868416-125045423, default 125045423): -22.9G
    
    Created a new partition 3 of type 'Linux' and of size 32.9 GiB.
    Partition #3 contains a crypto_LUKS signature.
    
    Do you want to remove the signature? [Y]es/[N]o: N
    
    Command (m for help): w
    
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
  5. パーティションのロック解除:

    sudo cryptsetup luksOpen /dev/sdb3 persistence
    Enter passphrase for /dev/sdb3: 
    
  6. ファイルシステムの確認:

    sudo e2fsck -f /dev/mapper/persistence
    
    e2fsck 1.46.4 (18-Aug-2021)
    persistence: recovering journal
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    Free blocks count wrong (2400085, counted=2397778).
    Fix<y>? yes
    
    Free inodes count wrong (1243709, counted=1243712).
    Fix<y>? yes
    
    persistence: ***** FILE SYSTEM WAS MODIFIED *****
    persistence: 388288/1632000 files (6.2% non-contiguous), 4125614/6523392 blocks
    
  7. パーティションのサイズを変更します。

    sudo resize2fs /dev/mapper/persistence
    
    resize2fs 1.46.4 (18-Aug-2021)
    Resizing the filesystem on /dev/mapper/persistence to 8613632 (4k) blocks.
    The filesystem on /dev/mapper/persistence is now 8613632 (4k) blocks long.
    
  8. 64GBメモリースティックでkali-liveファイルシステム自体を実行した最終結果は次のとおりです。 ここに画像の説明を入力してください。

似たような問題がある人に役立つことを願っています。

関連情報