Luks

擴展 LUKS 分區

  • January 11, 2022

我已經建構了一個具有加密持久性的 kali live usb 32GB。

現在我已經使用 dd 命令將 32GB 的內容複製到了 64GB 的 USB 設備上,並且在新的 64GB 設備上一切正常。

由於 64 GB 記憶棒有可用空間,我想擴展加密 (LUKS) 分區。不幸的是,到目前為止,我還沒有關於如何實現這個分區擴展的可靠資訊。

有沒有人有什麼建議?

非常感謝!

考慮到此處找到的資訊,我終於設法調整了新的 64GB 設備的大小。

為了完整起見,我已經包含了單個命令的輸出。

  1. 使用原來的 USB 設備(32GB)啟動 kali-live 系統。
  2. 插入包含要修改(擴展)的 LUKS 分區的 U 盤(64GB)。
  3. 使用GParted創建一個新分區 (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.
  1. 解鎖分區:
sudo cryptsetup luksOpen /dev/sdb3 persistence
Enter passphrase for /dev/sdb3: 
  1. 文件系統檢查:
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
  1. 調整分區大小:
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.
  1. 在 64GB 儲存棒上執行 kali-live 文件系統本身的最終結果: 在此處輸入圖像描述

我希望這可以幫助有類似問題的人。

就像您通常會擴展分區一樣。

LUKS 標頭不包括分區大小,並且分區是逐塊加密的。因此,當您擴展加密分區大小時,它應該自動擴展映射(未加密)分區的大小。

但是我不確定 LUKS 是否會檢測到已安裝分區的更改。您可能需要指示它調整活動映射的大小:

cryptsetup resize <mapping name>

或者,您可以關閉並重新打開映射或重新啟動系統。


只是為了避免任何疑問。擴展分區的正常方法是

  • 在分區表條目中調整它的大小
  • 讓核心發現新的大小(通常隱式發生,見下文)
  • 調整分區上文件系統的大小。

有很多工具可以調整分區表條目的大小,但我推薦cfdisk。它是迄今為止此類工具中對使用者最友好的,甚至還有“調整大小”選項(不像fdisk)。

兩者都fdisk提示cfdisk核心發現塊設備的新大小。您通常不需要自己執行此操作。但如果沒有,你可以試試blockdev --rereadpt ...

要調整 ext2/3/4 文件系統的大小,您可以使用resize2fs。請記住,這需要對未加密(映射)的塊設備進行,而不是對保存 LUKS 卷的加密分區進行。

引用自:https://unix.stackexchange.com/questions/685585