扩展加密的LUKS分区

时间:2020-03-21 11:43:32  来源:igfitidea点击:

一般免责声明适用,任何损失或者损坏,使用风险自负并经常备份,概不负责!

情境

我们有一个1TB的三星外部硬盘,目前包含2个分区:

# fdisk -l /dev/sdc
Disk /dev/sdc: 1000.2 GB, 1000194400256 bytes
[...]
Device Boot Start End Blocks Id System
/dev/sdc1 2048 1048578047 524288000 83 Linux
/dev/sdc2 1048578048 1953504687 452463320 7 HPFS/NTFS/exFAT

第一个分区/dev/sdc1是一个加密的LUKS卷。
我们要做的是删除NTFS/dev/sdc2分区,并将其大小用于LUKS分区。

扩展分区

确保未安装或者打开LUKS分区(在/dev/mapper下没有出现)。
现在的想法是从分区表中删除两个分区(而不是实际数据!),并使用与原始LUKS卷相同的开始块(2048,见上文,极为重要)创建一个新分区。

# fdisk /dev/sdc
Command (m for help): p
Disk /dev/sdc: 1000.2 GB, 1000194400256 bytes
[...]
Device Boot Start End Blocks Id System
/dev/sdc1 2048 1048578047 524288000 83 Linux
/dev/sdc2 1048578048 1953504687 452463320 7 HPFS/NTFS/exFAT
Command (m for help): d
Partition number (1-4): 2
Command (m for help): d
Selected partition 1
Command (m for help): p
Disk /dev/sdc: 1000.2 GB, 1000194400256 bytes
[...]
Device Boot Start End Blocks Id System
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-1953504687, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-1953504687, default 1953504687):
Using default value 1953504687
Command (m for help): p
Disk /dev/sdc: 1000.2 GB, 1000194400256 bytes
[...]
Device Boot Start End Blocks Id System
/dev/sdc1 2048 1953504687 976751320 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

解密分区

# cryptsetup luksOpen /dev/sdc1 samsung

运行文件系统检查并调整分区大小

# e2fsck -f /dev/mapper/samsung
e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking dir#ectory structure
Pass 3: Checking directory connectivity
/lost+found not found. Create? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
samsung_luks: * FILE SYSTEM WAS MODIFIED *
samsung_luks: 35603/32768000 files (9.1% non-contiguous), 107366347/131071488 blocks
# resize2fs /dev/mapper/samsung
resize2fs 1.42.5 (29-Jul-2012)
Resizing the filesystem on /dev/mapper/samsung to 244187318 (4k) blocks.
The filesystem on /dev/mapper/samsung is now 244187136 blocks long.

安装卷并检查大小

# mount /dev/mapper/samsung /mnt/
# df -h | grep samsung
/dev/mapper/samsung 917G 402G 469G 47% /mnt