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目录后重启系统

相关推荐
玖石书13 分钟前
WSL2 手动安装 Ubuntu 24.04 到指定磁盘位置
linux·运维·ubuntu·wsl
库玛西1 小时前
深入浅出传输层:UDP 与 TCP 协议全景指南
linux·服务器·网络·c++·笔记·tcp/ip·udp
随便做点啥1 小时前
32卡-64G-910B4-16后端-(Qwen3.8-27B-W8A8)集群部署报告
运维·服务器·经验分享·docker·vllm
薛定谔的悦5 小时前
储能 EMS 的功率策略:从一块电表到一次逆流的 200 毫秒
大数据·linux·能源·储能·bms
2601_962218477 小时前
万象生鲜系统区块链溯源技术帮助生鲜企业搭建食品安全数字化体系
大数据·运维·微服务·云原生·架构
智塑未来8 小时前
中小公司在线文档选型:从协作入口到安全边界
运维·安全
新时代牛马8 小时前
Linux 内核入门地图:架构、源码目录与五大子系统
linux·运维·架构
智购科技无人售货机厂家8 小时前
2026自动售货机制冷系统维护指南:从散热器清洁到压缩机换油的工程实践~YH
运维·redis·物联网·缓存·架构
剑客的茶馆8 小时前
开发者,运维怎样转行FDE?
运维·ai·开发·fde
Julien20048 小时前
控制 SELinux 文件上下文
linux·运维·服务器