问题

问题

问题

为什么我的交换分区在重启后被使用?

语境

我的系统在 Linux Ubuntu 中有两个交换区域:

sudo swapon --show
NAME                 TYPE      SIZE USED PRIO
/dev/nvme0n1p7       partition 977M   0B   -2
/media/EXT4/swapfile file        4G   0B   -3

我禁用了交换分区:

sudo swapon --show
NAME                 TYPE      SIZE USED PRIO
/media/EXT4/swapfile file        4G   0B   -3

并编辑/etc/fstab:

UUID=8a098c42-9f6a-4f04-8dac-87298f1f460d /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=CC3B-B509  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/nvme0n1p7 during installation
# UUID=0379c3e0-faa9-4bd8-a7ce-4bc1d2d1d9a2 none            swap    sw              0       0

# 4TB HDD, linux partition
UUID="847df9cc-ba11-469f-a36e-ac4228c005f8" /media/EXT4 ext4 user,errors=remount-ro,auto,exec,rw
# 4TB HDD, windows partition
UUID="2A2506563E8741C6" /media/NTFS ntfs user,errors=remount-ro,auto,exec,rw,uid=1000,gid=1000

/media/EXT4/swapfile none swap sw 0 0

问题

重启后该分区将用作交换区域:

sudo swapon --show
NAME                 TYPE      SIZE USED PRIO
/dev/nvme0n1p7       partition 977M   0B   -2
/media/EXT4/swapfile file        4G   0B   -3

更多信息

以下是linux-swap的信息:

linux-swap 信息

它显示 fstab 中的 UUID 已被注释掉用于交换分区。

这些是 linux-swap 的标志: (均未使用)

在此处输入图片描述

我没有 Autofs安装在我的系统上。

答案1

除了@Raffa 的建议之外,您可能还需要禁用 systemd 中检测到的交换空间在启动时的自动激活,为此,请通过运行以下命令找出负责的 .swap 单元:

sudo systemctl --type swap

然后应该会以以下格式列出当前交换单元(在我的情况下,交换单元名称是dev-sda7.swap):

  UNIT          LOAD   ACTIVE SUB    DESCRIPTION
  dev-sda7.swap loaded active active Swap Partition

  LOAD   = Reflects whether the unit definition was properly loaded.
  ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
  SUB    = The low-level unit activation state, values depend on unit type.

通过屏蔽该交换单元来禁止其在启动时启动:

sudo systemctl mask dev-sda7.swap

答案2

看来您确实在文件中禁用了该交换分区/etc/fstab

然而,我建议再采取一步措施。

  1. 请先关闭所有交换swapoff -a。然后在终端中输入:

    sudo nano /etc/initramfs-tools/conf.d/resume

检查文件中是否存在已禁用交换的 UUID。

如果是,请在该行前添加注释#。保存文件并退出。

  1. 重新创建启动映像:

    sudo update-initramfs -u -k all

  2. 更新 GRUB:

    sudo update-grub

然后,请重新启动并查看是否有效。

您可能还想删除交换分区,然后扩展系统分区以利用未使用的空间。

答案3

@PJConnol,

谢谢,你太完美了!这帮我解决了这个问题。

首先禁用交换条目/etc/fstab:

执行

# Be careful, if possible reboot before then execute next steps
swapoff -a 

sudo systemctl --type swap

 UNIT          LOAD   ACTIVE SUB    DESCRIPTION
 dev-sda7.swap loaded active active Swap Partition

 LOAD   = Reflects whether the unit definition was properly loaded.
 ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
 SUB    = The low-level unit activation state, values depend on unit type.

然后禁用它:

sudo systemctl mask dev-sda7.swap

然后重新启动并验证

free -m
               total        used        free      shared  buff/cache   available
 Mem:           7933        1560        5011           3        1361        6130
 Swap:             0           0           0

相关内容