我已经构建了一个具有加密持久性的 kali live usb 32GB。
现在,我已使用 dd 命令将 32GB 内容复制到 64GB USB 设备,并且在新的 64GB 设备上一切正常。
由于 64 GB 棒有可用空间,我想扩展加密 (LUKS) 分区。不幸的是,到目前为止我还没有关于如何实现这个分区扩展的可靠信息。
有没有人有什么建议?
非常感谢!
答案1
就像您通常扩展分区一样。
LUKS 标头不包含分区大小,并且分区是逐块加密的。因此,当您扩展加密分区大小时,它应该自动扩展映射(未加密)分区的大小。
但是我不确定 LUKS 是否会检测到已安装分区上的更改。您可能需要指示它调整活动映射的大小:
cryptsetup resize <mapping name>
或者,您可以关闭并重新打开映射或重新启动系统。
只是为了避免任何疑问。扩展分区的正常方法是
- 在分区表条目中调整它的大小
- 让内核发现新的大小(通常是隐式发生的,见下文)
- 调整分区上文件系统的大小。
有很多工具可以调整分区表条目的大小,但我推荐cfdisk。它是迄今为止此类工具中最用户友好的,甚至具有“调整大小”选项(与 不同fdisk
)。
两者fdisk
都会cfdisk
提示内核发现块设备的新大小。您通常不需要自己执行此操作。但如果没有,你可以尝试一下blockdev --rereadpt ...
。
要调整 ext2/3/4 文件系统的大小,您可以使用调整2fs大小。请记住,这需要对未加密(映射)的块设备执行,而不是对保存 LUKS 卷的加密分区执行。
答案2
考虑到找到的信息,我终于设法调整了新的 64GB 设备的大小这里。
为了完整起见,我包含了单个命令的输出。
使用原始USB设备(32GB)启动kali-live系统。
插入包含要修改(扩展)的LUKS分区的U盘(64GB)。
删除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.
解锁分区:
sudo cryptsetup luksOpen /dev/sdb3 persistence Enter passphrase for /dev/sdb3:
文件系统检查:
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
调整分区大小:
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.
我希望这可以帮助有类似问题的人。