CentOS 文件系统损坏的恢复步骤
一、先判断与准备
- 识别文件系统类型与故障表现:通过可启动介质或救援环境查看分区与类型,执行命令示例:
lsblk -f、blkid、df -hT。常见类型为 ext4/ext3 与 XFS。若系统已变为只读或启动时报 metadata corruption / I/O error,优先保护数据再修复。修复前建议先做整盘或分区镜像备份:dd if=/dev/sda2 of=/sda2.img或dd if=/dev/sda2 | gzip > /path/sda2.img;必要时检查坏道:badblocks -sv /dev/sda。以上操作能显著降低修复过程中的数据丢失风险。
二、进入救援模式
- 挂载 CentOS 安装 ISO 并从光盘/ISO 启动,在启动菜单选择 Troubleshooting → Rescue a CentOS system。进入救援界面后通常有三个关键选项:
- Continue:自动查找已安装系统并以读写挂载到 /mnt/sysimage(适合多数根分区修复)。
- Read-Only:以只读方式挂载(用于只读检查或风险评估)。
- Skip to shell:不自动挂载,直接进入最小化 shell(适合根分区或 LVM 场景,需手动激活与修复)。
- 选择后进入 shell,执行
chroot /mnt/sysimage进入已安装系统的根环境,便于后续检查和修复。
三、按文件系统类型执行修复
- 原则:修复时必须确保目标文件系统处于未挂载状态;对 XFS 尤为重要,强制修复可能导致最近未落盘数据丢失(见下文注意事项)。
- 常见场景与命令:
- ext2/ext3/ext4:先确认分区未挂载,再执行
fsck -y /dev/sdXN(或fsck.ext4 -y /dev/sdXN)。示例:fsck -y /dev/vda1。修复完成后重启。 - XFS:必须卸载后修复。若救援环境自动挂载了根分区,请先切换到 Skip to shell,确保未挂载,再执行
xfs_repair /dev/mapper/centos-root(或具体分区如/dev/sda4)。若仍报错,可在充分评估数据风险后使用xfs_repair -L /dev/mapper/centos-root丢弃日志强行修复。 - LVM 卷:若选择 Skip 导致卷未激活,先执行
lvm vgscan与lvm vgchange -ay,待出现 /dev/mapper/centos-root 等设备后再进行修复。
- ext2/ext3/ext4:先确认分区未挂载,再执行
四、修复完成后的验证与常见注意事项
- 验证与重启:修复完成后执行
reboot重启;若能正常进入系统且mount | grep "ro,"无只读挂载,基本恢复成功。若系统仍反复变为只读,需进一步排查硬件(磁盘/RAID/控制器)与文件系统一致性。 - 关键注意事项:
- 修复前务必备份重要数据;对 XFS 使用
-L会丢弃日志,可能导致最近写入的数据丢失,仅在常规xfs_repair失败且数据风险可控时作为最后手段。 - 修复操作务必在未挂载或救援环境中进行,避免对运行中系统直接执行
fsck/xfs_repair,以免造成更严重的损坏。
- 修复前务必备份重要数据;对 XFS 使用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1453778.html