问题描述
在Ubuntu安装期间,我没有选择交换分区。后来我释放了一些空间,并创建了一个交换分区。现在启动后,我手动打开gparted和right-clicking交换分区,并使用’swapon’选项将其打开。
我怎样才能每次自动启用交换分区?
最佳解决方法
您需要编辑/etc/fstab
并添加新的交换分区。
sudo nano /etc/fstab
你需要添加一个看起来像的线
UUID=735b3be3-779c-4d21-a944-b033225f3ab4 none swap sw 0 0
并使用该命令获取UUID
sudo blkid /dev/sda3
(用适当的设备名称替换/dev/sda3
)。
有关:
次佳解决方法
要在安装后创建交换分区,请创建一个空洞的分区。您可以使用以下格式来格式化此分区
sudo mkswap /dev/sdX
用您的分区替换/dex/sdX
。将此分区安装为交换
sudo swapon -U UUID
其中UUID是/dev/sdX
的UUID,如下所示:
blkid /dev/sdX
在/etc/fstab
中添加以下行,将新交换绑定在一起:
UUID=xxx none swap sw 0 0
如果您想使用交换进行休眠,则需要使用此内容RESUME=UUID=xxx
更新/etc/initramfs-tools/conf.d/resume
中的UUID。别忘了$ sudo update-initramfs -u
。
要完成这些事情:如果我们没有备用分区,也可以创建一个交换文件。 This answer为您提供了如何创建这样的文件并在启动时启用它的想法。
第三种解决方法
如果你不想或者你不确定如何创建一个交换分区,你可以创建一个交换文件,这个交换文件的工作方式与分区相同。以下是使用终端的步骤:
-
创建一个空文件(1K * 4M = 4 GiB)。
sudo mkdir -v /var/cache/swap cd /var/cache/swap sudo dd if=/dev/zero of=swapfile bs=1K count=4M sudo chmod 600 swapfile
-
将新创建的文件转换为交换空间文件。
sudo mkswap swapfile
-
启用文件进行分页和交换。
sudo swapon swapfile
通过以下方式验证:
swapon -s
或top
:top -bn1 | grep -i swap
应显示如下行:
KiB Swap: 4194300 total, 4194300 free
要禁用,请使用
sudo swapoff swapfile
命令。 -
将其添加到
fstab
文件中以使其在下次系统引导时保持不变。echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
-
Re-test启动时的交换文件:
sudo swapoff swapfile sudo swapon -va
注意:上面的命令re-checks是
fstab
文件的语法,否则你的Linux无法正常启动。
第四种方法
有一种使用gparted的图形化方法。
运行Gparted:
sudo gparted
如果您没有安装,可以使用安装
sudo apt-get install gparted
一旦gparted正在运行:
-
按照您通过right-clicking分配任何未分配的块并单击
new
-
将分区格式化为
linux-swap
-
Right-click分区并单击
swapon
一旦完成,分区名称旁边应该有一个关键图标
第五种方法
从linux.com开始只需创建交换文件,因为它更加灵活,您可以动态调整您拥有的交换存储的数量和大小。这也允许您将交换分区从系统磁盘移开,从而使系统更快。此外,如果您使用多个交换空间,请将其使用优先级调整为相同的值,因此round-robin用于写入它们,从而可以进一步提高速度。
附:我会使用UUID而不是设备名称,因为如果偶然将USB存储器留在USB插槽内,并简单地移除并插回sata电缆,很容易就可以更改设备顺序 – 您无需担心太多驱动器连接的位置。