Ubuntu Swap分区损坏如何修复
导读:Ubuntu Swap 分区损坏修复指南 一、快速判断与应急处理 查看当前交换状态:swapon --show、cat /proc/swaps。若无输出,说明交换未启用或不存在。 若开机卡在“A start job is running...
Ubuntu Swap 分区损坏修复指南
一、快速判断与应急处理
- 查看当前交换状态:
swapon --show、cat /proc/swaps。若无输出,说明交换未启用或不存在。 - 若开机卡在“A start job is running for /dev/disk/by-uuid/xxxxx (20s / 1min 30s)”,高概率是 /etc/fstab 中的 swap UUID 与实际不一致 或设备不存在。
- 临时恢复:先注释掉 /etc/fstab 中的 swap 行,重启进入系统后再修复;或先启用一个临时交换文件保证基本可用性(见下文)。
- 如系统提示无法停用交换(如 GParted 显示锁定或报 “Cannot allocate memory”),先在终端执行
sudo swapoff -a再操作分区。
二、修复步骤
- 确认设备与当前 UUID
- 列出块设备与文件系统:
sudo blkid,在输出中找到类型为 swap 的分区(如 /dev/sda5)及其 UUID。 - 对比
/etc/fstab中 swap 行的 UUID,若不一致或设备路径变更,需修正。
- 方案A 保留原分区并重新初始化
- 停用交换:
sudo swapoff /dev/sda5(若已启用)。 - 重新初始化为 swap:
sudo mkswap /dev/sda5。 - 更新 /etc/fstab:将 swap 行改为
UUID=< 新UUID> none swap sw 0 0,保存。 - 启用并验证:
sudo swapon -a,再用swapon --show或free -h检查。
- 方案B 重建分区并修复 fstab
- 使用 GParted 将目标分区格式化为 linux-swap(右键分区 → Format to → linux-swap → Apply)。
- 在 GParted 中查看该分区的 UUID 并复制。
- 编辑 /etc/fstab:将 swap 行改为
UUID=< 复制的UUID> none swap sw 0 0,保存。 - 启用并验证:
sudo swapon -a,检查是否生效。
- 方案C 无法立即修复时启用临时交换文件
- 创建 2GB 交换文件:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 - 设置权限:
sudo chmod 600 /swapfile - 初始化并启用:
sudo mkswap /swapfile & & sudo swapon /swapfile - 将
/etc/fstab中的 swap 行改为/swapfile none swap sw 0 0,确保重启后自动挂载。
- 修复后验证
swapon --show、cat /proc/swaps、free -h均应能看到已启用的 swap。
三、常见故障与对策
-
启动卡在 “A start job is running for /dev/disk/by-uuid/xxxxx”
- 原因:UUID 不一致/设备不存在。
- 处理:用
blkid获取正确 UUID,修正 /etc/fstab;或先注释 swap 行以正常启动,再按上文重建/修复。
-
GParted 分区被锁定或报 “Cannot allocate memory”
- 处理:在终端执行
sudo swapoff -a后再进行删除/格式化/启用操作。
- 处理:在终端执行
-
误把 swap 分区格式化成 ext4 或类型错误
- 处理:在 GParted 将其改回 linux-swap 类型,或
sudo mkswap /dev/sdX重新初始化,并更新 /etc/fstab 的 UUID。
- 处理:在 GParted 将其改回 linux-swap 类型,或
-
虚拟机扩容/克隆后 swap 不可用
- 处理:扩容后分区表变化导致 UUID/路径改变,按“方案B”重建分区并修正 /etc/fstab;或先用临时交换文件恢复系统可用性。
四、数据安全与回退建议
- 操作分区和 /etc/fstab 前先备份:
sudo cp /etc/fstab /etc/fstab.bak-$(date +%F)。 - 修改 /etc/fstab 前,可先注释 swap 行并重启,确认系统能正常进入后再启用修复后的 swap。
- 若磁盘存在 I/O 错误迹象,优先备份重要数据,再考虑磁盘检测与更换。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Swap分区损坏如何修复
本文地址: https://pptw.com/jishu/755186.html
