使用 mkswap 创建交换空间时出错

Ota*_*our 5 partitioning swap

我正在运行 VM Workstation 12 Player 并在 VM 上安装了 Ubuntu 16.10。在不得不删除交换分区以扩展主分区空间之后,我为交换空间创建了一个扩展分区。

我进入

fdisk -l
Run Code Online (Sandbox Code Playgroud)

并得到

Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d4da0a8

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 157700095 157698048 75.2G 83 Linux
/dev/sda2       157700096 159793151   2093056 1022M  5 Extended
Run Code Online (Sandbox Code Playgroud)

然而,当我输入

sudo mkswap /dev/sda2
Run Code Online (Sandbox Code Playgroud)

我得到

mkswap: error: swap area needs to be at least 40 KiB
Run Code Online (Sandbox Code Playgroud)

似乎我在 /dev/sda2 上只有 1 GB 以上的空间

rav*_*ery 9

扩展分区不是真正的分区,它是逻辑驱动器的容器。

您需要在使用所有空间的扩展分区内创建一个逻辑驱动器。

然后将其用于交换分区

或者:

由于您只有两个分区,请删除扩展分区。
然后,创建一个用于交换的主分区


Tho*_*mas 5

您的/dev/sda2分区是一个扩展分区,它充当一种容器来容纳更多可以使用的逻辑分区。扩展分区不能直接使用。

因此,要么分区/dev/sda2为主分区,要么在扩展分区中创建逻辑分区。