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

相关推荐
于慨29 分钟前
tauri
java·服务器·前端
2501_9181269141 分钟前
学习所有6502写游戏控制器的语句
java·linux·网络·汇编·嵌入式硬件
JuckenBoy42 分钟前
Linux环境安装SGLang框架运行自选大模型(以Rocky9.7为例)
linux·运维·大模型·qwen·rocky·deepseek·sglang
十巷无终1 小时前
Kali Virtual Machines(虚拟机镜像)安装后问题及解决办法
linux·运维·服务器
赵民勇1 小时前
gtkmm库之GtkWindow与ApplicationWindow用法详解
linux·c++
BestOrNothing_20151 小时前
(4)Ubuntu 22.04 安装后使用 GParted 重新分区实战记录
linux·gparted·ubuntu22.04·ubuntu磁盘分区
架构指南1 小时前
Centos上安装Claude Code报GLIBC_2.27 not found
linux·运维·centos
Predestination王瀞潞1 小时前
4.3.1 存储->微软文件系统标准(微软,自有技术标准):exFAT(Extended File Allocation Table)扩展文件分配表系统
linux·运维·microsoft·exfat·ex4
你有按下913的勇气吗1 小时前
【Agent,RAG,Transform】
linux·运维·服务器
ken22321 小时前
linux OS : apt update 使用代理与环境变量
linux