如何使用 LVM 扩展加密的 ubuntu 分区

Joh*_*rry 9 encryption partitioning lvm

我在 VB 上安装了 Ubuntu Mate Trusty,我想将其迁移到物理笔记本电脑。通过遵循本指南,我能够启动并运行它。现在唯一的问题是我想扩展当前分区以填满磁盘的其余部分,并且它已加密并使用 LVM。Gparted 不支持这种类型的操作,所以我不得不求助于 CLI。但是,我对手动调整分区大小一无所知,我能找到的所有指南要么专注于缩小分区,要么已经过时了。

某些分区大师可以为我提供指导吗?

谢谢

Joh*_*rry 5

在摆弄了很长时间并多次失败(感谢上帝的备份)之后,我能够调整它的大小。这是我的指南。

这假设您有一个像我这样的分区表:sda1 是交换区,大约 250MB,sda2 是一个带有 sda5(我们的加密卷)和 sda2 前面有很多可用空间的容器,就像这样

|sda1|sda2 (sda5)|free space|
Run Code Online (Sandbox Code Playgroud)

启动到您最喜欢的发行版的 LiveCD。运行 gparted 并将您的 sda1 分区缩小大约 20MB。这是因为 fdisk 需要在 sda2 和 sda5 的开头之间有一个未分配空间的缓冲区,不知道为什么。当你在它的时候,尽可能地增加 sda2 的大小,一直到右边。你应该结束

|sda1|free space|sda2 (sda5)|
Run Code Online (Sandbox Code Playgroud)

继续并启动 fdisk

sudo fdisk /dev/sda
Run Code Online (Sandbox Code Playgroud)

按 p 打印出当前的分区方案。记下 sda5 的起始位置。

按 d 先删除 sda5,然后删除 sda2。害怕。

现在按 n 创建一个新卷。按 e 选择扩展类型并将其编号为 2。开始和结束的默认值应该没问题。

现在新建一个分区,类型是Linux(应该是default),编号为5。起始值应该和你之前为sda5写的一样,结束值是默认值(尽可能)。

再次按 p 以确保一切正常,然后按 w 将更改写入磁盘。

再次重新启动到您的 Live CD。

如果你打开 gparted 你现在应该有

|sda1|sda2 (free space) (sda5)|
Run Code Online (Sandbox Code Playgroud)

请按照以下步骤操作

解密您的文件系统。

sudo cryptsetup luksOpen /dev/sda5 crypt1
Run Code Online (Sandbox Code Playgroud)

获取 Live CD 以识别(激活)您的 LVM。

sudo vgscan --mknodes
sudo vgchange -ay
Run Code Online (Sandbox Code Playgroud)

调整地穴大小。

sudo cryptsetup resize crypt1
Run Code Online (Sandbox Code Playgroud)

调整 (LVM) 物理卷的大小。

sudo pvresize /dev/mapper/crypt1
Run Code Online (Sandbox Code Playgroud)

调整根 (LVM) 逻辑卷的大小。

解锁 (LVM) 物理卷。

 sudo pvchange -x y /dev/mapper/crypt1
Run Code Online (Sandbox Code Playgroud)

调整 (LVM) 物理卷的大小。

 sudo lvresize -l +100%FREE /dev/ubuntu-vg/root
Run Code Online (Sandbox Code Playgroud)

重新锁定物理卷。

 sudo pvchange -x n /dev/mapper/crypt1
Run Code Online (Sandbox Code Playgroud)

调整文件系统的大小。

sudo e2fsck -f /dev/mapper/ubuntu--vg-root
sudo resize2fs -p /dev/mapper/ubuntu--vg-root
Run Code Online (Sandbox Code Playgroud)

现在您应该可以重新启动,如果一切顺利,您应该有一个更大的加密分区。

注意:此方法的缺点是会占用您大约 20MB 的交换空间。如果未完成交换调整大小,fdisk 将不会让您在所需位置写入 sda5(我怀疑这可能会导致损坏)。这个警告是必要的,直到有人确切地解释了 fdisk 在幕后做了什么,以及是否有任何方法可以让它按照我们的要求进行。