Ubuntu中文件误删了怎么恢复
导读:Ubuntu 误删文件的恢复步骤 一、立即止损与准备 立刻停止对原磁盘/分区的写入操作(下载、解压、缓存、日志等),避免被删除数据块被新写入覆盖。 优先从备份恢复:检查是否有 rsync、tar、Bacula/Amanda、云备份 等最近...
Ubuntu 误删文件的恢复步骤
一、立即止损与准备
- 立刻停止对原磁盘/分区的写入操作(下载、解压、缓存、日志等),避免被删除数据块被新写入覆盖。
- 优先从备份恢复:检查是否有 rsync、tar、Bacula/Amanda、云备份 等最近备份可用。
- 若系统无法启动或分区已卸载困难,使用 Ubuntu Live USB 启动后再进行恢复操作。
- 准备一个容量足够的外接硬盘/另一个分区用于保存恢复结果,切勿把恢复文件写回原分区。
二、优先尝试的方案
- 图形界面回收站:如使用 GNOME/KDE 桌面,打开桌面上的 Trash(回收站),找到文件后右键选择 Restore(恢复)。
- 系统仍运行且文件被某进程占用:用 lsof 查找仍打开被删文件的进程,从 /proc//fd/ 复制回原路径。例如:
- 查找:lsof | grep deleted
- 复制:cp /proc//fd/ /path/to/restore/file
- 包管理器误删系统目录(如 /usr/include):用 dlocate 定位所属包并重装,例如:
- 列出缺失文件所属包:dlocate --package-only /usr/include
- 重装:sudo apt-get install --reinstall $(dlocate --package-only /usr/include)
三、按文件系统选择恢复工具
- 先确认文件系统与分区:df -Th 或 lsblk,确定是否为 ext3/ext4,以及目标分区如 /dev/sda1。
- ext3/ext4 首选 extundelete(基于文件系统日志与元数据):
- 安装:sudo apt-get install extundelete
- 按文件恢复:sudo extundelete /dev/sda1 --restore-file /home/user/file
- 按 inode 恢复:sudo extundelete /dev/sda1 --restore-inode
- 全分区扫描:sudo extundelete /dev/sda1 --restore-all(结果在 RECOVERED_FILES/)
- ext2/ext3/ext4 的底层方案 debugfs(文件系统未严重损坏时):
- 进入:sudo debugfs /dev/sda1
- 列出已删项:debugfs: lsdel(记下 inode)
- 查看详情:debugfs: stat
- 导出数据:debugfs: dump /path/to/save/file
- 分区丢失/跨文件系统或文件被覆盖:TestDisk/PhotoRec
- 安装:sudo apt-get install testdisk
- 分区与引导恢复:sudo testdisk,按向导 Analyse → Advanced
- 文件雕刻恢复:sudo photorec,选择磁盘/分区、文件类型,设置输出目录到另一块盘
- 仅恢复特定格式(文件雕刻):foremost
- 安装:sudo apt-get install foremost
- 恢复 PNG:foremost -t png -i /dev/sdX -o /recover/out
- 恢复多类型:foremost -t doc,pdf,jpg -i /dev/sdX -o /recover/out
四、常见场景与命令速查
| 场景 | 工具 | 关键命令示例 |
|---|---|---|
| 回收站可找回 | 桌面回收站 | 打开 Trash → 右键 Restore |
| 进程仍占用被删文件 | lsof + /proc | lsof |
| ext3/ext4 按文件名 | extundelete | extundelete /dev/sda1 --restore-file /home/user/file |
| ext3/ext4 按 inode | extundelete | extundelete /dev/sda1 --restore-inode |
| ext2/ext3/ext4 底层导出 | debugfs | debugfs: lsdel;stat ;dump /restore/file |
| 分区丢失/结构损坏 | TestDisk | sudo testdisk → Analyse/Advanced |
| 文件被覆盖/跨FS | PhotoRec | sudo photorec → 选盘/分区/类型 → 设置输出目录 |
| 特定格式批量 | foremost | foremost -t jpg,pdf -i /dev/sdX -o /recover/out |
五、成功率与后续建议
- 成功率取决于删除后的写入量、时间、文件系统类型;越早开始、越少写入,成功率越高。
- 恢复文件务必输出到不同物理盘/分区,避免二次覆盖。
- 重要数据建议尽快寻求专业数据恢复服务;同时建立定期备份(如 rsync、tar、Bacula/Amanda、云备份)以防再次丢失。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中文件误删了怎么恢复
本文地址: https://pptw.com/jishu/784727.html
