ubuntu swap分区故障如何修复
导读:Ubuntu Swap 分区故障修复步骤 一 快速定位问题 查看是否启用:free -h、swapon --show、cat /proc/swaps。若未启用,说明 swap 未挂载或被禁用。 查看日志定位错误:sudo journalc...
Ubuntu Swap 分区故障修复步骤
一 快速定位问题
- 查看是否启用:free -h、swapon --show、cat /proc/swaps。若未启用,说明 swap 未挂载或被禁用。
- 查看日志定位错误:sudo journalctl -xe | grep -i swap、grep -i swap /var/log/syslog、dmesg | grep -i swap,关注关键词如 “error”“failed”“unable”。
- 检查配置文件:/etc/fstab 中 swap 条目是否正确;用 sudo blkid 获取设备 UUID,确保与 fstab 一致。
- 检查资源与健康:df -h(磁盘空间)、free -h(内存)、必要时用 fsck(离线检查文件系统)、Memtest86+(内存检测)。
二 常见修复操作
- 激活或临时启用
- 激活指定分区:sudo swapon /dev/sdXY;或一次性启用全部:sudo swapon -a。
- 修复 fstab 错误(含启动卡在 “A start job is running for … /dev/disk/by-uuid/…”)
- 核对 UUID:用 blkid 得到实际 UUID,与 /etc/fstab 比对并修正;或暂时注释掉 fstab 中的 swap 行以恢复启动,再重建 swap。
- 重新创建分区或文件
- 分区方案:先 sudo swapoff -a;可选清零头部:sudo dd if=/dev/zero of=/dev/sdXY bs=1M count=8192(示例 8GB,可按需调整);再 sudo mkswap /dev/sdXY 与 sudo swapon /dev/sdXY。
- 文件方案:创建文件(如 /swapfile)、sudo mkswap /swapfile、sudo swapon /swapfile,并在 /etc/fstab 写入:/swapfile none swap sw 0 0。
- 调整 swappiness(性能优化)
- 查看:cat /proc/sys/vm/swappiness;临时:sudo sysctl vm.swappiness=10;永久:在 /etc/sysctl.conf 添加 vm.swappiness=10 后重启。
- 启动阶段卡住的处理
- 进入恢复模式(GRUB → Advanced options → Recovery mode → Drop to root shell),先注释 fstab 中 swap 行以正常启动,再按上法修复;必要时检查 /etc/fstab 的 UUID 是否变更。
三 启动失败与 GRUB 相关处理
- 使用恢复模式临时禁用 swap 并修正 /etc/fstab 后再重启。
- 若因设备名变化导致挂载失败,优先改用 UUID 方式在 fstab 中声明 swap。
- 若仍有引导异常,可重装 GRUB:sudo grub-install /dev/sdX 与 sudo update-grub(/dev/sdX 为系统盘)。
四 验证与优化
- 验证:swapon --show 应能看到 NAME、SIZE、USED;free -h 显示 Swap 容量非 0;cat /proc/swaps 列出已激活的交换区。
- 优化:根据内存大小设置 vm.swappiness(如内存小于 8GB 设为 10–30,大于 8GB 设为 10 或更低),以减少不必要的换页。
五 数据安全与硬件排查
- 操作分区与 dd 前务必备份重要数据;不确定时先咨询专业人士。
- 检查磁盘健康与空间:df -h、fsck(需离线)、必要时运行 Memtest86+ 排除内存故障。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu swap分区故障如何修复
本文地址: https://pptw.com/jishu/784100.html
