温馨提示×

Ubuntu分区如何恢复误删文件

小樊
53
2025-09-27 04:14:15
栏目: 智能运维

Ubuntu分区恢复误删文件的常用方法

一、优先尝试:从回收站(Trash)恢复

若文件是通过图形界面(如Nautilus文件管理器)删除(右键选择“Move to Trash”),或使用trash-put命令删除,文件会存储在回收站中,可直接恢复。

  • 图形界面恢复:打开文件管理器,点击左侧“回收站”,找到误删文件,右键选择“Restore”即可还原至原路径。
  • 命令行恢复:若已安装trash-cli(默认未安装),可通过以下命令操作:
    trash-list       # 查看回收站内文件列表
    trash-restore    # 按提示选择需恢复的文件(输入编号)
    

二、针对ext3/ext4文件系统:使用extundelete工具

extundelete是专为ext3/ext4设计的恢复工具,需在未向目标分区写入新数据的前提下使用(否则可能覆盖被删文件)。

  1. 安装工具
    sudo apt-get install extundelete
    
  2. 确定目标分区:通过df -Th命令查看文件所在分区(如/dev/sda1挂载于/home)。
  3. 恢复操作
    • 恢复单个文件
      sudo extundelete /dev/sdXY --restore-file /path/to/deleted/file
      
      (例如:sudo extundelete /dev/sda1 --restore-file /home/user/document.txt
    • 恢复整个目录
      sudo extundelete /dev/sdXY --restore-directory /path/to/deleted/directory
      
    • 恢复所有可恢复文件
      sudo extundelete /dev/sdXY --restore-all
      
    恢复的文件会保存在当前目录下的RECOVERED_FILES文件夹中,文件名可能被修改(可通过文件内容筛选)。

三、通用型恢复:使用TestDisk+PhotoRec组合

TestDisk主要用于分区修复,其附带的PhotoRec工具专注于文件恢复,支持ext3/ext4、FAT32、NTFS等多种文件系统,适合跨分区或格式化后的恢复。

  1. 安装工具
    sudo apt-get install testdisk
    
  2. 启动PhotoRec
    sudo photorec
    
  3. 操作步骤
    • 选择目标磁盘(如/dev/sda,而非分区/dev/sda1);
    • 选择分区类型(Intel/EFI,通常选“Intel”);
    • 选择文件系统类型(自动检测或手动指定,如“Ext4”);
    • 选择扫描模式(“Quick Scan”快速扫描、“Deep Scan”深度扫描,深度扫描耗时更长但更彻底);
    • 选择恢复文件的存储路径(务必选择与目标分区不同的磁盘,避免覆盖);
    • 开始扫描并恢复(按提示操作)。

四、进阶调试:使用debugfs工具(需熟悉文件系统)

debugfs是ext2/ext3/ext4的调试工具,可通过inode直接恢复文件,适合有一定技术基础的用户。

  1. 进入调试模式
    sudo debugfs /dev/sdXY
    
  2. 查询被删文件
    lsdel
    
    输出会显示被删文件的inode编号(如24681)、大小、删除时间等信息。
  3. 恢复文件
    dump <inode编号> /path/to/save/file
    
    (例如:dump 24681 /mnt/recovery/important.doc

五、恢复注意事项

  • 立即停止写入:误删文件后,切勿向目标分区复制、下载或修改文件,避免覆盖被删数据;
  • 卸载分区(可选但推荐):若文件在挂载的分区中,可通过sudo umount /dev/sdXY卸载,防止系统后台进程写入数据;
  • 备份优先:恢复前尽量备份当前分区数据(如使用rsync或外部存储),防止二次丢失;
  • 成功率判断:文件删除时间越短、分区使用频率越低,恢复成功率越高;若分区被频繁写入,可能无法恢复。

以上方法覆盖了Ubuntu下常见的误删场景,可根据实际情况选择合适的方式。若数据极其重要且自行恢复失败,建议寻求专业数据恢复服务。

0