澄清与总体思路
FetchLinux是用于构建和部署 Linux 发行版的自动化工具,并非数据恢复软件。若需要在 Ubuntu 上恢复数据,应按数据丢失的场景选择专业工具与流程:先停止对目标盘写入、优先尝试回收站/备份,其次针对 ext3/ext4 使用 extundelete,分区/引导损坏用 TestDisk,通用文件恢复用 PhotoRec,磁盘有坏扇区先镜像再恢复。
快速判断与首选路径
- 图形界面误删:打开桌面“回收站/Trash”,找到文件右键“还原”。这是成功率最高且零风险的第一步。
- 有备份:使用 Deja Dup、Timeshift 等按时间点还原。
- 服务器/命令行删除且无回收站:立即对目标分区“只读”处理(卸载或切换到只读挂载),避免任何写入(日志、下载、缓存、更新等)。
- 不确定文件系统或分区表是否损坏:先做整盘只读镜像(如 dd/ddrescue),再在镜像上恢复,避免二次损伤源盘。
按场景的恢复步骤
- ext3/ext4 文件被 rm 删除(未覆盖)
- 确认分区与挂载点:例如分区为 /dev/sda1,原挂载在 /home。
- 卸载分区:sudo umount /dev/sda1(若提示忙,先结束占用进程或切换到 LiveCD/救援模式)。
- 安装工具:sudo apt-get install extundelete。
- 恢复单文件:sudo extundelete /dev/sda1 --restore-file /home/user/file.txt
恢复目录:sudo extundelete /dev/sda1 --restore-directory /home/user/docs
恢复全部:sudo extundelete /dev/sda1 --restore-all(会恢复到当前工作目录下的 RECOVERED_FILES/)。
- 将恢复出的文件复制到安全位置,核对完整性后再拷回原路径。
- 分区丢失/误格式化/引导扇区损坏
- 安装:sudo apt-get install testdisk。
- 启动:sudo testdisk,选择磁盘 → 选择分区表类型 → Analyze → Quick Search/Deep Search → 按提示保存分区结构。
- 若只是文件系统损坏,可在 TestDisk 的 Advanced 中尝试修复;若需提取文件,转用 PhotoRec。
- 不知道文件系统或文件类型、或 extundelete 不适用
- 安装:sudo apt-get install testdisk(内含 PhotoRec)。
- 启动:sudo photorec /dev/sda(或选择具体分区),选择文件系统类型与要恢复的文件类型,指定输出目录(务必在另一块磁盘),开始扫描并恢复。
- 磁盘出现 I/O 错误或坏扇区
- 先整盘只读镜像:例如 sudo ddrescue /dev/sda /mnt/backup/sda.img /mnt/backup/sda.log(若有坏块可加重试参数)。
- 在镜像上运行 TestDisk/PhotoRec/extundelete 进行恢复,避免继续磨损源盘。
注意事项与成功率
- 立刻停止写入、越早恢复成功率越高;恢复文件务必输出到不同物理盘,避免覆盖源数据。
- 恢复后务必校验:检查文件大小、校验和(如 md5/sha256)、能否正常打开/挂载。
- 文件系统修复(如 fsck)可能重新排列元数据,存在覆盖风险,通常应在镜像上先行验证后再对原盘操作。
- 若数据极其重要或涉及硬件故障,建议尽快联系专业数据恢复服务。