CentOS如何恢复误删除文件系统
小樊
35
2025-11-21 18:47:04
CentOS误删除文件系统的恢复指南
一、先判断与准备
- 明确丢失的是“目录/文件”还是“整个分区/分区表”。若是后者,优先做整盘镜像再恢复,避免二次损伤。
- 立刻停止对受影响分区的写入(停止服务、卸载分区、避免日志/缓存写入),并将恢复目标指向另一块磁盘或网络存储,不要写回原盘。
- 准备CentOS安装介质或救援环境,必要时以只读方式挂载原盘进行只读分析。
- 若有历史备份(如xfsdump/xfsrestore、tar、rsync、dd/Clonezilla镜像),优先从备份恢复,成功率最高。
二、按文件系统选择恢复方案
-
ext3/ext4
- 工具:extundelete。
- 步骤:
- 卸载分区:
umount /dev/sdXY;
- 预览可恢复文件:
extundelete /dev/sdXY --inode 2;
- 恢复:单文件
extundelete /dev/sdXY --restore-file 路径,或整分区 extundelete /dev/sdXY --restore-all;
- 恢复结果位于当前目录的RECOVERED_FILES。
- 说明:extundelete仅适用于ext3/ext4,对XFS不适用。
-
XFS
- 工具:xfsdump/xfsrestore(需事先有备份)。
- 步骤:
- 备份现有状态(可选):
xfsdump -f /safe/xfsbackup /dev/sdXY;
- 恢复:
xfsrestore -f /safe/xfsbackup /restore/dir;
- 说明:XFS没有类似extundelete的通用“按inode反删除”工具,若无备份,恢复难度高,建议寻求专业数据恢复服务。
-
分区表/分区丢失或跨文件系统恢复
- 工具:TestDisk(分区与引导恢复)、PhotoRec(按文件类型盲扫,适合照片/文档/压缩包等)。
- 步骤:
- 安装:
yum install testdisk;
- 运行:
testdisk → 选择磁盘 → Analyse/Quick Search/Deep Search → 按向导恢复分区或拷贝文件;
- 文件类型恢复:
photorec /dev/sdXY,选择文件系统类型与文件类别,指定另一块磁盘保存结果。
三、关键注意事项与成功率
- 越早介入成功率越高;删除后的写入活动会显著降低可恢复性。
- 恢复过程务必只读或离线进行,恢复文件必须写入不同物理磁盘。
- 对XFS务必依赖备份;对ext4优先用extundelete,恢复失败或文件量大时再考虑TestDisk/PhotoRec。
- 恢复完成后用md5sum/sha256sum校验关键文件一致性。
四、无法自行恢复时的建议
- 立刻断电并保护现场,避免任何写入;
- 使用救援环境对原盘做只读镜像(
dd if=/dev/sdX of=/backup.img bs=4M),后续在镜像上尝试恢复;
- 寻求专业数据恢复服务,并说明文件系统类型、删除时间与后续写入情况。