如何扩大加密交换分区?

如何扩大加密交换分区?

我给上网本加了一些 RAM。我想保存一个选项来休眠我的电脑,所以我必须将 SWAP 从 2GiB 增加到 4GiB。

我的/etc/fstab样子是这样的:

UUID=57b6e4ca-86f6-440d-8d45-2295a86a946b /               ext4    errors=remount-ro 0       1
/dev/mapper/sda6_crypt /home           ext4    defaults        0       2
/dev/mapper/sda5_crypt none            swap    sw              0       0

我的/etc/crypttab样子是这样的:

sda5_crypt UUID=17ec5831-e49e-4eb0-aa63-05101038a85c none luks,swap
sda6_crypt UUID=2a01b2a0-e954-4a97-9202-6cdbc0152e73 none luks

感谢任何帮助。

答案1

应该很简单。假设sda5_crypt您的交换如下:

sudo swapoff -a                   # turns all swaps off
sudo cryptsetup resize sda5_crypt # grows to maximum possible size
sudo mkswap /dev/sda5_crypt       # makes new swap using the new size
sudo swapon -a                    # turns all swaps on again

我刚刚在 Ubuntu 16.04 上测试了这一点。

答案2

由于分区已加密,因此无法使用 parted/gparted 等常规工具调整其大小。这是因为磁盘上的实际分区不是有效的文件系统,而只是一个加密块,看起来像一串看似随机的数据。

您可以删除它们并完全重新创建它们。如果您只需要调整交换分区的大小,而为此您不需要调整任何其他(加密)分区的大小,那么删除并重新安装它将很容易。但我认为情况并非如此,因为如果他们想增加交换分区(除非您能够将其扩展到未加密的根分区?),没有多少人会在驱动器上留下未分配的空间。否则,您可能能够重新创建交换分区和主分区,并从外部驱动器复制文件。您可能需要熟悉 cryptsetup 和 luks 的工作方式。否则,需要进行全新安装。

LUKS 的常见配置是在其上使用 LVM,这为您提供了一种更简单的方法来调整加密块内的分区大小 - 因为 LUKS 意味着您在同一个块内有多个分区,所以您无需调整容器大小即可调整内部分区的大小。如果您要诉诸全新安装,备用安装程序 CD 可让您轻松设置带有 LVM 的 LUKS 分区。

您会发现大多数有关调整 LUKS 分区大小的在线教程实际上都是关于调整其中一个 LVM 卷的大小。

答案3

尝试在 Live CD 或 Live USB 上启动。然后选择“尝试 Ubuntu 而不安装它”。进入桌面后,启动名为 Gparted 的应用程序。

在此应用程序中,您将能够更改分区的大小,包括交换分区。但后者需要您先右键单击交换分区行并选择“关闭交换”。然后您就可以进行更改。

答案4

加密的交换分区没有办法扩大,解决办法是重装系统,设置新的分区。

相关内容