在备份(步骤1)并卸载(在2和3之间)之后,运行fsck
以确保文件系统运行状况良好:
e2fsck -f /dev/mapper/ExistingExt4
除此之外,这些步骤都可以。
我应该为$ SECTORS选择什么?这一步是否有必要?
此步骤是必需的,否则分区仍将显示在较旧的一侧。使用Nautilus可以确认这一点,即使使用调整了大小之后resize2fs
,LUKS分区也显示为旧大小。运行后cryptsetup resize
,将显示正确的数字。 此步骤不是必需的。它仅影响当前大小状态,如文件浏览器中所示。更改大小并再次关闭/打开分区后,该数字将恢复。因此,如稍后所示关闭LUKS分区时,将使其过时。
$SECTORS
可以通过查看以下命令的输出来确定cryptsetup status ExistingExt4
:
/ dev / mapper / ExistingExt4已激活。
类型:LUKS1
密码:aes-cbc-essiv:sha256
密钥大小:256位
设备:/ dev / sda2
抵消:2056个行业
大小: 156049348扇区
模式:读/写
一个扇区总是512字节(在cryptsetup
手册页中提到)。因此,要减去15 GiB,请使用以下扇区大小156049348 - 15 * 1024 * 1024 * 2 = 124592068
:
cryptsetup resize ExistingExt4 -b 124592068
至于调整分区大小,parted
可以与GPT分区配合使用。resize
但是,此命令不起作用,作为一种解决方法(或解决方案),请删除分区信息并根据http://ubuntuforums.org/showthread.php?p=8721017#post8721017的启发创建一个新分区:
#cryptsetup luksClose ExistingExt4
#深裂的/ dev / SDA2
GNU Parted 2.3
使用/ dev / sda
欢迎来到GNU Parted!键入“ help”以查看命令列表。
(分)单位s
(分)p
型号:ATA INTEL SSDSA2CW08(scsi)
磁盘/ dev / sda:156301488s
扇区大小(逻辑/物理):512B / 512B
分区表:gpt
编号开始结束大小文件系统名称标志
1 34s 2082s 2049s引导bios_grub
3 2083s 250034s 247952s ext2 RootBoot
2 250035s 156301438s 156051404s一切
由于必须刮掉15 GiB,因此新的末端变为156301438 - 15 * 1024 * 1024 * 2 = 124844158
。由于我要更改分区2,因此我首先必须将其删除,然后使用标签“ Everything”重新创建(如果您愿意,可以更改)。注意:此磁盘具有GPT布局。对于MBR,则应更换Everything
通过primary
或extended
(未经测试,调整对MBR分区还没有经过测试和不推荐,因为它是未经测试)。
警告:以下命令破坏了数据。不要在不了解情况的情况下进行复制。扇区尺寸必须更改,否则您将破坏分区。对于您的愚蠢行为,我绝不负责。在将数据冒险之前,请先将数据备份到第二个存储介质。
(parted)RM 2
(parted)mkpart Everything 250035s 124844158s
警告:生成的分区未正确对齐以获得最佳性能。
忽略/取消?忽略
(分开)p
型号:ATA INTEL SSDSA2CW08(scsi)
磁盘/ dev / sda:156301488s
扇区大小(逻辑/物理):512B / 512B
分区表:gpt
编号开始结束大小文件系统名称标志
1 34s 2082s 2049s引导bios_grub
3 2083s 250034s 247952s ext2 RootBoot
2 250035s 124844158s 124594124s 一切
(分开)退出
在上面的parted
示例中,我的扇区未对齐,这是较早安装的错误,因此请不要过多注意。
这就对了!您可以使用cryptsetup status
和file -Ls /dev/...
验证一切正常,然后重新启动。