Lek*_*eyn 19 partition encryption ext4 luks cryptsetup
我正在调整包含单个 ext4 文件系统(没有 LVM 或其他东西)的 LUKS 加密分区的大小。该cryptsetup FAQ建议删除旧的分区并重新创建它,但是,像浪费了很多时间的声音。因此,我想手动进行,仔细调整分区大小。
到目前为止,我认为我需要这样做:
cryptsetup luksOpen /dev/sdXY ExistingExt4
cryptsetup resize /dev/mapper/ExistingExt4 -b $SECTORS
cryptsetup luksClose ExistingExt4
以上步骤是否正确?
在第 4 步中,我应该选择$SECTORS
什么?这一步有必要吗?该cryptsetup
手册是不是真正描述性的resize
选项:
resize <name>
resizes an active mapping <name>.
If --size (in sectors) is not specified, the size of the underlying
block device is used.
Run Code Online (Sandbox Code Playgroud)
最后,如果我将 ext4 分区缩小 15 GiB,我是否可以安全地假设可以使用parted
? 如果是,怎么做?如果重要的话,我的磁盘是 GPT 分区的。
Lek*_*eyn 17
备份(第 1 步)和卸载(第 2 步和第 3 步之间)后,运行fsck
以确保文件系统健康:
e2fsck -f /dev/mapper/ExistingExt4
Run Code Online (Sandbox Code Playgroud)
除此之外,步骤还可以。
cryptsetup resize
命令的目的我应该为 $SECTORS 选择什么?这一步有必要吗?
这一步是必须的,否则分区仍然会出现在旧的一侧。Nautilus 证实了这一点,即使在使用 调整大小后 这一步不是必须的。它只影响文件浏览器中显示的当前大小状态。更改大小并再次关闭/打开分区后,数字将恢复。因此,当关闭 LUKS 分区时(如下所示)将使此功能过时。resize2fs
,LUKS 分区仍显示为旧大小。运行后cryptsetup resize
,显示正确的数字。
$SECTORS
可以通过查看输出来确定cryptsetup status ExistingExt4
:
/dev/mapper/ExistingExt4 处于活动状态。 类型:LUKS1 密码:aes-cbc-essiv:sha256 密钥大小:256 位 设备:/dev/sda2 扇区大小: 512 偏移量:2056 个扇区 大小: 156049348 个扇区 模式:读/写
(从cryptsetup 2.0.0(2017 年 12 月)开始,扇区大小可能大于 512 字节:请参阅cryptsetup(8)
联机帮助页和--sector-size
选项。)
因此,要减去 15 GiB,请使用以下扇区大小156049348 - 15 * 1024 * 1024 * 2 = 124592068
:
cryptsetup resize ExistingExt4 -b 124592068
Run Code Online (Sandbox Code Playgroud)
parted
至于调整分区大小,parted
适用于 GPT 分区。resize
但是,该命令不起作用,作为解决方法(或解决方案),删除分区信息并根据http://ubuntuforums.org/showthread.php?p=8721017#post8721017 的启发创建一个新分区:
# cryptsetup luksClose ExistingExt4 # parted /dev/sda2 GNU 分拆 2.3 使用 /dev/sda 欢迎来到 GNU Parted!键入“help”以查看命令列表。 (parted)单位 s (parted) 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
or extended
(未经测试,在 MBR 上调整分区大小尚未经过测试,不建议使用,因为它未经测试)。
警告:以下命令破坏了数据。不要在不了解发生了什么的情况下复制它。扇区尺寸必须更改,否则您将破坏您的分区。我对您的愚蠢概不负责,在冒着数据风险之前将您的数据备份到第二个存储介质。
(parted) rm 2 (parted) mkpart 一切 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/...
来验证一切正常,然后重新启动。
请注意,KDE 分区管理器 2.2.0可以执行这些步骤并且调整 LUKS 分区的大小可以很好地工作。
归档时间: |
|
查看次数: |
33481 次 |
最近记录: |