重启后swap变成0gb

veg*_*gan 2 partitioning swap gparted 16.04

我使用 live USB 来增加分配给 Ubuntu 的大小。现在我在我的操作系统上。我将交换空间从 8 GB 增加到 11 GB,但现在我看不到它被使用。

\n\n
$ sudo lsblk              \n[sudo] password for caner: \nNAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT\nsdb      8:16   1   7.5G  0 disk \n\xe2\x94\x94\xe2\x94\x80sdb1   8:17   1   7.5G  0 part /media/caner/UBUNTU 16_0\nsda      8:0    0 238.5G  0 disk \n\xe2\x94\x9c\xe2\x94\x80sda2   8:2    0 222.3G  0 part /\n\xe2\x94\x9c\xe2\x94\x80sda3   8:3    0    11G  0 part \n\xe2\x94\x94\xe2\x94\x80sda1   8:1    0   512M  0 part /boot/efi\n\n$ free -m          \n              total        used        free      shared  buff/cache   available\nMem:           7834        5452         245          80        2136        1949\n\n$ df -h\nFilesystem      Size  Used Avail Use% Mounted on\nudev            3.8G     0  3.8G   0% /dev\ntmpfs           784M  9.4M  775M   2% /run\n/dev/sda2       219G   25G  183G  13% /\ntmpfs           3.9G   30M  3.8G   1% /dev/shm\ntmpfs           5.0M  4.0K  5.0M   1% /run/lock\ntmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup\n/dev/sda1       511M   13M  499M   3% /boot/efi\ntmpfs           784M   60K  784M   1% /run/user/1000\n/dev/sdb1       7.5G  1.6G  6.0G  21% /media/caner/UBUNTU 16_0\n\n$ sudo blkid\n/dev/sda1: UUID="32F0-543D" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="16b2efe3-e142-4d6e-bc0a-22fc9dff9d73"\n/dev/sda2: UUID="a18cf8e7-12f8-40df-9e3b-2f0605c6f661" TYPE="ext4" PARTUUID="ffeeec5b-943a-4d86-9836-e1be818b1669"\n/dev/sda3: UUID="9c1fc3a8-ef4a-451a-9e8f-7f07dc18db8d" TYPE="swap" PARTLABEL="linux-swap" PARTUUID="848d50d8-c99d-45c6-83db-d8268eef3871"\n/dev/sdb1: LABEL="UBUNTU 16_0" UUID="ECC1-9477" TYPE="vfat" PARTUUID="001c3909-01"\n\n$ cat /etc/fstab\n# /etc/fstab: static file system information.\n#\n# Use \'blkid\' to print the universally unique identifier for a\n# device; this may be used with UUID= as a more robust way to name devices\n# that works even if disks are added and removed. See fstab(5).\n#\n# <file system> <mount point>   <type>  <options>       <dump>  <pass>\n# / was on /dev/sda2 during installation\nUUID=a18cf8e7-12f8-40df-9e3b-2f0605c6f661 /               ext4    errors=remount-ro 0       1\n# /boot/efi was on /dev/sda1 during installation\n#UUID=32F0-543D  /boot/efi       vfat    umask=0077      0       1\n# swap was on /dev/sda3 during installation\nUUID=f4bb47fb-7475-44ba-9e20-b8f931b22c9b none            swap    sw              0       0\nUUID=32F0-543D  /boot/efi       vfat    defaults        0       1\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不想做任何事情,因为我最近破坏了以前的系统,所以我不想再做一次。

\n\n

在系统上时,如果我使用 GParted 并单击我的 11GB 区域进行“交换”,关闭 GParted 后我会看到交换空间为 11 GB:

\n\n
$ top                                                                                                                                                 \xe2\x9c\xad \xe2\x9c\x88 \xe2\x9c\xb1\ntop - 13:52:43 up 4 min,  2 users,  load average: 4.80, 3.19, 1.29\nTasks: 287 total,   1 running, 227 sleeping,   0 stopped,   0 zombie\n%Cpu(s): 41.7 us,  3.7 sy,  0.0 ni, 54.4 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st\nKiB Mem :  8022928 total,   220828 free,  5531752 used,  2270348 buff/cache\nKiB Swap: 11534332 total, 11534332 free,        0 used.  2061940 avail Mem\n
Run Code Online (Sandbox Code Playgroud)\n\n

但如果我重新启动它就会消失并且需要很多时间才能打开 Ubuntu。

\n\n

我能做些什么?

\n

van*_*ium 5

您的交换分区未被使用,因为它没有在您的配置文件中正确声明/etc/fstab。您的交换文件的/dev/sda3UUID 为“9c1fc3a8-ef4a-451a-9e8f-7f07dc18db8d”。fstab 文件中对它的引用已损坏,因为它仍然列出了UUID更改之前的内容。

要解决该问题,请编辑您的fstab文件。根据您的经验,我提供的说明可能对您来说可能太详细,也可能不太详细。

  1. 以 root 身份打开/etc/fstab配置文件进行编辑:

    sudo nano /etc/fstab
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在交换行中,将现有行替换UUID为正确的行,即sudo blkid命令提供的行。代替:

    UUID=f4bb47fb-7475-44ba-9e20-b8f931b22c9b none    swap    sw     0       0
    
    Run Code Online (Sandbox Code Playgroud)

    经过

    UUID=9c1fc3a8-ef4a-451a-9e8f-7f07dc18db8d none   swap    sw     0       0
    
    Run Code Online (Sandbox Code Playgroud)

    (此处仅更改 UUID 号。

  3. 保存文件并退出。按 Ctrl+S(保存)然后按 Ctrl+X(退出 nano)

您可以快速检查一切是否正常,而无需重新启动:

sudo mount -a
Run Code Online (Sandbox Code Playgroud)

这将重新执行 fstab 文件。该命令不应有输出。任何输出都表明有错误。如果没有输出,请验证您的交换是否处于活动状态

free -m
Run Code Online (Sandbox Code Playgroud)

或者

swapon -s
Run Code Online (Sandbox Code Playgroud)