linux XFS文件系统误删救星——筑梦之路

XFS文件恢复工具指南

项目信息

开源项目地址:https://github.com/ianka/xfs_undelete

环境说明

  • 操作系统:CentOS 7

依赖安装

bash 复制代码
# 安装必要依赖
yum install -y tcl tcllib coreutils file

依赖说明:

  • tcl:Tcl语言运行环境(必需)
  • tcllib:Tcl扩展功能库
  • coreutils:基础系统工具集
  • file:文件类型识别工具

工具安装

bash 复制代码
git clone https://github.com/ianka/xfs_undelete
cd xfs_undelete
chmod +x xfs_undelete

恢复操作指南

注意事项

  • 恢复前必须停止对目标分区的写入操作

  • 执行以下命令卸载目标分区(以/dev/sda4为例):

    bash 复制代码
    umount /dev/sda4
  • 延迟操作会降低恢复成功率

基本恢复

bash 复制代码
# 恢复/dev/sda4所有删除文件到当前目录的xfs_undeleted文件夹
./xfs_undelete /dev/sda4

高级选项

  1. 时间筛选恢复

    bash 复制代码
    # 恢复最近48小时内删除的文件
    ./xfs_undelete -t 48h /dev/sda4
    
    # 恢复2026-01-16之后删除的文件
    ./xfs_undelete -t "2026-01-16.." /dev/sda4
    
    # 恢复2026-01-16至2026-01-19期间删除的文件
    ./xfs_undelete -t "2026-01-16..2026-01-19" /dev/sda4
  2. 文件类型筛选

    bash 复制代码
    # 仅恢复图片文件
    ./xfs_undelete -r "image/*" /dev/sda4
    
    # 仅恢复文档文件
    ./xfs_undelete -r "text/plain,application/pdf,application/vnd.openxmlformats-officedocument.wordprocessingml.document" /dev/sda3
  3. 指定输出目录

    bash 复制代码
    # 创建专用恢复目录(必须位于其他分区)
    mkdir -p /mnt/recovery
    
    # 指定输出目录
    ./xfs_undelete -o /mnt/recovery /dev/sda4

实战案例:恢复误删系统文件

场景:误删/usr/bin/ls等系统命令导致功能异常

操作步骤

  1. 重启服务器,在GRUB界面按e编辑启动项,添加init=/bin/bash进入单用户模式

  2. 以只读模式重新挂载根分区:

    bash 复制代码
    mount -o remount,ro /
  3. 挂载外部存储设备:

    bash 复制代码
    mount /dev/sdc1 /mnt/usb
  4. 执行恢复命令:

    bash 复制代码
    ./xfs_undelete -r "application/x-executable" -o /mnt/usb/recovery /dev/sda1
  5. 将恢复的文件复制到/usr/bin目录后重启系统

相关推荐
慧一居士2 小时前
同一个服务器上不同的域名跳往不同的前端项目页面,不显示端口号 ngnix根据不同域名跳转
运维·服务器·前端
m0_737302582 小时前
云服务器:企业数字化转型的核心引擎与价值重构
服务器
凯子坚持 c2 小时前
从 DeepSeek 的服务器繁忙到 Claude Code 全栈交付:2025 年 AI 原生开发实录
运维·服务器·人工智能
Coder_Boy_2 小时前
基于SpringAI的在线考试系统-数据库设计关联关系设计
服务器·网络·数据库
燃于AC之乐2 小时前
【Linux系统编程】进程管理探秘:从硬件架构到僵尸/孤儿进程
linux·操作系统·硬件架构·进程管理·系统编程·冯诺依曼架构·僵尸、孤儿进程
Molesidy2 小时前
【SOC】【Linux】基于全志F133+Linux内核的嵌入式Linux开发的学习过程记录
linux
重生之绝世牛码2 小时前
Linux软件安装 —— Flink集群安装(集成Zookeeper、Hadoop高可用)
大数据·linux·运维·hadoop·zookeeper·flink·软件安装
乾元2 小时前
黑盒之光——机器学习三要素在安全领域的投影
运维·网络·人工智能·网络协议·安全·机器学习·架构
艾莉丝努力练剑2 小时前
【QT】Qt 从零上手:Hello World、项目文件与实战避坑指南
linux·运维·开发语言·c++·qt·继承·qt5