centos swap分区丢失怎么办
导读:CentOS Swap分区丢失的解决方法 一、临时恢复(进入系统后) 若系统已启动但提示swap分区不存在,可通过以下步骤快速恢复: 检查当前swap状态:运行swapon --show或free -h,确认是否有swap分区/文件启用。...
CentOS Swap分区丢失的解决方法
一、临时恢复(进入系统后)
若系统已启动但提示swap分区不存在,可通过以下步骤快速恢复:
- 检查当前swap状态:运行
swapon --show或free -h,确认是否有swap分区/文件启用。若无,继续下一步。 - 创建临时swap文件(若无可用分区):
# 创建1G大小的swap文件(可根据需求调整大小,如2G则count=2048) dd if=/dev/zero of=/swapfile bs=1M count=1024 # 设置权限(仅root可读写) chmod 600 /swapfile # 格式化为swap空间 mkswap /swapfile # 启用swap文件 swapon /swapfile - 验证swap是否启用:再次运行
swapon --show,应显示新创建的swap文件。
二、永久恢复(需修改配置文件)
临时恢复仅对当前会话有效,重启后会失效。需通过以下步骤永久恢复:
- 编辑
/etc/fstab文件:vi /etc/fstab- 若之前使用swap文件:添加一行(替换为你的swap文件路径):
/swapfile none swap sw 0 0 - 若之前使用LVM swap分区:添加对应的LVM逻辑卷(替换为你的实际路径,如
/dev/mapper/centos-swap):/dev/mapper/centos-swap swap swap defaults 0 0 - 若之前使用普通分区:添加对应的分区设备(替换为你的实际分区,如
/dev/sda3):/dev/sda3 swap swap defaults 0 0
- 若之前使用swap文件:添加一行(替换为你的swap文件路径):
- 保存并退出:按
Esc→输入:wq→回车。 - 重新启用swap:
swapon -a # 启用/etc/fstab中定义的所有swap - 验证永久生效:重启系统后运行
free -h,确认swap空间已自动启用。
三、若系统无法启动(进入dracut模式)
若删除swap分区后系统无法启动(如提示/dev/centos/swap does not exist),需进入dracut救援模式修复:
- 进入dracut模式:重启系统,在GRUB菜单选择“Rescue a CentOS system”或按
Ctrl+Alt+F2进入命令行。 - 挂载系统根分区:
mkdir /tmp1 mount /dev/centos/root /tmp1 # 替换为你的根分区(可通过`lsblk`查看) - 修改GRUB配置:
- 编辑
/tmp1/etc/default/grub,找到GRUB_CMDLINE_LINUX行,删除rd.lvm.lv=centos/swap(若有)。 - 编辑
/tmp1/boot/grub2/grub.cfg,删除所有rd.lvm.lv=centos/swap(通常有两处,需全部删除)。
- 编辑
- 重新生成initramfs(可选,确保配置生效):
chroot /tmp1 dracut -f exit - 重启系统:
reboot
四、预防措施
- 定期备份swap配置:
# 备份/etc/fstab cp /etc/fstab /backup/fstab.bak # 若使用LVM,备份VG/LV信息 vgcfgbackup -f /backup/vg_backup.txt centos - 避免手动删除swap分区:删除前需确认分区用途,可通过
lsblk或blkid查看分区类型。 - 使用swap文件替代分区(可选):swap文件更灵活,无需修改分区表,删除或创建更方便。
以上步骤覆盖了CentOS swap分区丢失的常见场景及解决方法,操作前请务必备份重要数据,避免误操作导致数据丢失。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos swap分区丢失怎么办
本文地址: https://pptw.com/jishu/743534.html
