当前位置: 首页 > news >正文

Gparted重新分配swap空间之后,linux电脑读不到swap空间

问题背景

在这里插入图片描述lsblk 显示存在物理设备(如 /dev/nvme0n1),但 swapon --show 无输出
说明 系统未启用任何 Swap 设备


问题原因分析

  1. /etc/fstab 中 Swap 的 UUID 配置错误
    从图片中看到执行 sudo swapon -a 时报错:

    swapoff: cannot find the device for UUID=7c428630-813b-...  # 提示 UUID 无效
    

    这通常是因为 /etc/fstab(系统自动挂载配置文件)中定义了 Swap 分区的 UUID,但实际磁盘中不存在该 UUID 对应的分区。可能原因:

    • 分区被删除或重新格式化。
    • 手动修改了 UUID 但未更新 /etc/fstab
    • 复制了其他机器的 fstab 配置导致 UUID 冲突。
  2. Swap 分区未正确格式化或未启用

    • 如果 Swap 分区未格式化为 linux-swap 类型,系统无法识别。
    • 即使分区存在,若未执行 swapon 命令,Swap 也不会被激活。

解决方案

1. 检查 /etc/fstab 中的 Swap 配置
cat /etc/fstab | grep swap  # 查看 Swap 相关配置行
  • 如果输出类似以下内容:
    UUID=7c428630-... none swap sw 0 0  # 但此 UUID 实际不存在
    
    说明配置的 UUID 无效,需修正或删除此行。
2. 确认磁盘上的真实 Swap 分区
  • 列出所有磁盘分区的 UUID

    sudo blkid | grep -i swap  # 检查是否有标记为 "swap" 的分区
    

    如果有输出(如 /dev/nvme0n1pX: UUID="..." TYPE="swap"),记录其 UUID 和设备路径(如 /dev/nvme0n1pX)。
    若无输出,说明磁盘上无 Swap 分区

  • 检查分区类型(若分区存在但未格式化为 Swap):

    sudo fdisk -l /dev/nvme0n1  # 查看分区表,确认是否有 "Linux swap" 类型分区
    

    若分区类型不是 Linux swap,需重新格式化:

    sudo mkswap /dev/nvme0n1pX  # 格式化指定分区为 Swap
    sudo swapon /dev/nvme0n1pX   # 临时启用 Swap(重启后失效)
    
3. 修正 /etc/fstab 或手动启用 Swap
  • 若磁盘上有 Swap 分区
    更新 /etc/fstab 中的 UUID 为真实的 UUID(通过 sudo blkid 获取)或直接使用设备路径:

    # 替换为真实 UUID 或设备路径(二选一)
    UUID=正确的-UUID-here none swap sw 0 0
    # 或
    /dev/nvme0n1pX none swap sw 0 0
    

    保存后执行:

    sudo swapoff -a  # 关闭所有 Swap
    sudo swapon -a    # 重新启用 Swap(此时应无报错)
    
  • 若磁盘上无 Swap 分区
    删除或注释掉 /etc/fstab 中无效的 Swap 配置行,然后选择以下方案之一:

    • 方案 1:创建 Swap 文件(推荐,无需分区)
      sudo fallocate -l 4G /swapfile     # 创建 4GB 文件(大小自定)
      sudo chmod 600 /swapfile           # 设置权限
      sudo mkswap /swapfile              # 格式化为 Swap
      sudo swapon /swapfile              # 启用 Swap
      echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab  # 永久生效
      
    • 方案 2:新建 Swap 分区
      使用 gpartedfdisk 工具创建一个新分区并格式化为 linux-swap,再更新 /etc/fstab
4. 验证 Swap 是否生效
swapon --show    # 应显示已启用的 Swap 设备
free -h          # 检查 "Swap" 行是否有使用量

图片中其他问题的解释

  • sudo weapon 报错:这是命令拼写错误,正确命令是 sudo swapon
  • Swap 总量 59Gi 但使用 0B:系统检测到 Swap 设备的总容量,但因未正确启用,实际未使用。
  • 🔑 图标未显示:与加密无关,因当前问题集中在 Swap 配置,加密图标可能因分区未加密或无解锁操作导致。

操作总结

  1. 删除或修正 /etc/fstab 中的无效 Swap 配置。
  2. 确认磁盘上的 Swap 分区是否存在并正确格式化。
  3. 若无 Swap 分区,建议直接创建 Swap 文件(更简单且无需分区)。
  4. 更新配置后执行 swapon -a 并验证。

执行完上述步骤后,swapon --show 应有输出,且 free -h 会显示 Swap 使用量。

相关文章:

  • 为什么要外参标定?
  • 网络编程 - 1
  • linux——iptables防火墙
  • 考研系列-计算机网络-第一章、计算机网络体系结构
  • OPAL:机器人学习中编码物理系统的因果理解
  • 如何自学机器学习?零基础到实战的完整路径
  • 如何对Flutter应用程序进行单元测试
  • 【软件工程大系】基于构件的软件工程(CBSE)
  • 【cocos creator 3.x】cocos creator2.x项目升级3.x项目改动点
  • genhtml 工具使用说明
  • 何时选择for,何时使用while?
  • 进行性核上性麻痹:合理饮食,提升生活质量
  • 【天梯赛练习】L2-035 完全二叉树的层序遍历
  • C++学习:六个月从基础到就业——面向对象编程:重载运算符(上)
  • Scala 入门指南
  • C++23 新预处理器指令详解:#elifdef、#elifndef 和 #warning
  • 数据结构与算法[零基础]---5.图
  • WIN11运行游戏时出现“ms-gamingoverlay”弹框的问题
  • package.json 中的那些版本数字前面的符号是什么意思?
  • WSL2-Ubuntu22.04安装URSim5.21.3
  • 西北大学副校长成陕西首富?旗下巨子生物去年净利超20亿,到底持股多少
  • 美股全线收涨:道指涨逾千点,纳斯达克中国金龙指数涨5.4%
  • 国家统计局今年将在全国开展两次人口固定样本跟访调查
  • 第一集丨《亲爱的仇敌》和《姜颂》,都有耐人寻味的“她”
  • 美国再工业化进程需要中国的产业支持
  • 人民日报刊文:加快解放和发展新质战斗力