CentOS文件系统损坏修复步骤
在进行任何修复操作前,务必通过tar、rsync或外部存储设备备份系统关键数据(如/home、/var等目录),避免修复过程中数据丢失。
救援模式是修复文件系统的核心环境,需通过系统镜像或Live USB启动:
e键编辑内核启动参数,在linux或linux16行末尾添加init=/bin/bash,按Ctrl+X启动进入单用户模式(无需密码)。若系统使用LVM管理磁盘,需手动激活卷组以识别逻辑卷:
lvm vgscan # 扫描卷组
lvm vgchange -ay # 激活所有卷组
激活后,逻辑卷会出现在/dev/mapper/目录下(如/dev/mapper/centos-root)。
修复前必须卸载目标分区(若分区为根分区,需在救援模式下操作):
umount /dev/sdXN # 替换为实际分区(如/dev/sda1)
若提示“target is busy”,可使用lsof /dev/sdXN查看占用进程,终止相关进程后再卸载。
e2fsck)-n选项模拟修复过程,查看问题而不修改数据:e2fsck -n /dev/sdXN
-y选项自动回答“yes”以修复所有问题:e2fsck -y /dev/sdXN
fsck是e2fsck的封装,可直接指定文件系统类型:fsck -t ext4 -y /dev/sdXN
xfs_repair)-n选项检查文件系统完整性(不修复):xfs_repair -n /dev/mapper/centos-root
xfs_repair(需卸载分区):xfs_repair /dev/mapper/centos-root
-L选项清空日志(可能丢失最近未写入数据):xfs_repair -L /dev/mapper/centos-root
若系统无法启动因/etc/fstab配置错误,可通过救援模式的文本编辑器(如vi)修改:
vi /etc/fstab
修正错误配置(如分区UUID、挂载点或文件系统类型),保存后退出。
修复完成后,重启系统并退出救援模式:
reboot -f
观察系统是否能正常启动,若仍存在问题,可重复上述步骤或尝试第三方工具(如TestDisk修复分区表、extundelete恢复误删除文件)。
-L选项会清除日志,需谨慎使用。extundelete(针对ext3/ext4)或testdisk(通用分区恢复)工具恢复。