温馨提示×

CentOS如何恢复误删除文件系统

小樊
35
2025-11-21 18:47:04
栏目: 智能运维

CentOS误删除文件系统的恢复指南

一、先判断与准备

  • 明确丢失的是“目录/文件”还是“整个分区/分区表”。若是后者,优先做整盘镜像再恢复,避免二次损伤。
  • 立刻停止对受影响分区的写入(停止服务、卸载分区、避免日志/缓存写入),并将恢复目标指向另一块磁盘或网络存储,不要写回原盘。
  • 准备CentOS安装介质或救援环境,必要时以只读方式挂载原盘进行只读分析。
  • 若有历史备份(如xfsdump/xfsrestore、tar、rsync、dd/Clonezilla镜像),优先从备份恢复,成功率最高。

二、按文件系统选择恢复方案

  • ext3/ext4

    • 工具:extundelete
    • 步骤:
      1. 卸载分区:umount /dev/sdXY
      2. 预览可恢复文件:extundelete /dev/sdXY --inode 2
      3. 恢复:单文件 extundelete /dev/sdXY --restore-file 路径,或整分区 extundelete /dev/sdXY --restore-all
      4. 恢复结果位于当前目录的RECOVERED_FILES
    • 说明:extundelete仅适用于ext3/ext4,对XFS不适用。
  • XFS

    • 工具:xfsdump/xfsrestore(需事先有备份)。
    • 步骤:
      1. 备份现有状态(可选):xfsdump -f /safe/xfsbackup /dev/sdXY
      2. 恢复:xfsrestore -f /safe/xfsbackup /restore/dir
    • 说明:XFS没有类似extundelete的通用“按inode反删除”工具,若无备份,恢复难度高,建议寻求专业数据恢复服务。
  • 分区表/分区丢失或跨文件系统恢复

    • 工具:TestDisk(分区与引导恢复)、PhotoRec(按文件类型盲扫,适合照片/文档/压缩包等)。
    • 步骤:
      1. 安装:yum install testdisk
      2. 运行:testdisk → 选择磁盘 → Analyse/Quick Search/Deep Search → 按向导恢复分区或拷贝文件;
      3. 文件类型恢复:photorec /dev/sdXY,选择文件系统类型与文件类别,指定另一块磁盘保存结果。

三、关键注意事项与成功率

  • 越早介入成功率越高;删除后的写入活动会显著降低可恢复性。
  • 恢复过程务必只读或离线进行,恢复文件必须写入不同物理磁盘
  • XFS务必依赖备份;对ext4优先用extundelete,恢复失败或文件量大时再考虑TestDisk/PhotoRec。
  • 恢复完成后用md5sum/sha256sum校验关键文件一致性。

四、无法自行恢复时的建议

  • 立刻断电并保护现场,避免任何写入;
  • 使用救援环境对原盘做只读镜像dd if=/dev/sdX of=/backup.img bs=4M),后续在镜像上尝试恢复;
  • 寻求专业数据恢复服务,并说明文件系统类型、删除时间与后续写入情况。

0