为什么我无法创建 SWAP 分区?

为什么我无法创建 SWAP 分区?

在调整 Ubuntu 分区大小后,我在 GParted 中创建了 SWAP 分区。所有操作都顺利完成。当我右键单击 SWAP 驱动器时,它显示“SWAPON”,因此我单击它并激活了 SWAP。然后我重新启动机器,它再次将 SWAP 显示为 SWAPON,因此我点击它并无法激活它,并显示以下错误消息:

然后我关闭机器并重新启动。硬盘现在如下所示:

然后我尝试格式化sda15linux-swap无法执行并显示错误消息:

为了提供一些背景信息,我之前问过一个关于如何重新分区我的 Ubuntu 硬盘的问题:我如何查看 Ubuntu 安装在我的硬盘上的哪个位置?我重新分区了(并且实际上重新安装了)Ubuntu,但现在我想创建一个 SWAP 分区。

答案1

为什么不直接在未使用的空间中创建交换文件呢?快速又简单:

添加 512MiB 交换

Creating a file for 512MiB  adjust size as desired to the size you want: 

我们将创建一个 /mnt/512MiB.swap 交换文件并设置权限,以便用户无法直接读取它。

sudo fallocate -l 512m /mnt/512MiB.swap sudo chmod 600 /mnt/512MiB.swap

fallocate 长度后缀为:k、m、g、t、p、e(参见 man fallocate)。

默认情况下,您的交换文件可能被创建为可供所有人读取。我们设置了 600 模式权限,以防止用户从交换文件中读取潜在的敏感信息。

如果 fallocate 失败并显示“fallocate 失败:不支持操作”,就像我的 Maverick 机器上目前出现的情况一样,您可以按照老方法执行此操作,同样是 512 兆字节:

sudo dd if=/dev/zero of=/mnt/512MiB.swap bs=1024 count=524288 sudo chmod 600 /mnt/512MiB.swap

Formatting that file to create a swapping device: 

sudo mkswap /mnt/512MiB.swap

Adding the swap to the running system: 

sudo swapon /mnt/512MiB.swap

额外的交换现已可用,并且可以通过cat /proc/meminfo或查看free

Making the change permanent: 

编辑 /etc/fstab:

gksudo gedit /etc/fstab

在文件末尾添加此行:

/mnt/512MiB.swap none swap sw 0 0

保存。下次重启后,交换将自动使用。

制作交换文件的示例

这是在没有交换分区的计算机上创建和使用交换文件的示例。出现提示时,输入以下命令和您的密码: sudo fallocate -l 512m /mnt/512MiB.swap

然后这个命令:

sudo mkswap /mnt/512MiB.swap

输出将类似于以下内容。

Setting up swapspace version 1, size = 536866 kB

no label, UUID=dd6a01c8-93f0-41e0-9b7a-306956d8821b

然后发出命令:

sudo swapon /mnt/512MiB.swap

以下命令显示结果:

cat /proc/meminfo

内存总量:499496 kB

可用内存:9156 kB

缓冲区:4748 kB

缓存:233140 kB

交换缓存:724 kB

活动:254432 kB

不活动:157920 kB

最高总计:0 kB

高可用:0 kB

低总计:499496 kB

低免费:9156 kB

交换总量:524280 kB

可用交换空间:523556 kB

脏:128 kB

回写:0 kB

映射:243420 kB

板坯:20672 kB

提交限制:774028 kB

已提交:648680 kB

页表:2224 kB

Vmalloc总计:524280 kB

已使用 Vmalloc:5708 kB

VmallocChunk:518176 kB

通过编辑 fstab 使更改永久生效

gksudo gedit /etc/fstab

添加以下行:

/mnt/512MiB.swap 无 交换 sw 0 0

查看用法的简单命令是:

free

              total       used       free     shared    buffers     cached
 Mem:        499496     479488      20008          0       8256     215892
 -/+ buffers/cache:     255340     244156
 Swap:       524280       3856     520424

然后,运行了更多程序之后……

free

              total       used       free     shared    buffers     cached
 Mem:        499496     492768       6728          0       1240     142336
 -/+ buffers/cache:     349192     150304
 Swap:       524280      53384     470896

接下来,重新启动以确保它能正常工作。

free

              total       used       free     shared    buffers     cached
 Mem:        499496     493136       6360          0       7528     174700
 -/+ buffers/cache:     310908     188588
 Swap:       524280      17148     507132

来源:https://help.ubuntu.com/community/SwapFaq

答案2

正如您的快照所示,您的系统上有许多分区。因此,首先检查主分区的数量是否超出限制(我记不清是 3 还是 4)。如果没有超出该限制,则先尝试创建交换区域,然后再进行 ext4 分区。

相关内容