Debian From Scratch 数据恢复实战指南
一、先判断场景与准备
lsblk、sudo fdisk -l 确认如 /dev/sda、/dev/sda1 等,避免误操作。二、按场景的恢复步骤
sudo apt-get update && sudo apt-get install extundeletesudo mount -o ro /dev/sda1 /mntsudo extundelete /dev/sda1 --restore-file /path/to/filesudo extundelete /dev/sda1 --restore-directory /path/to/dirsudo extundelete /dev/sda1 --restore-all(会在当前目录生成 RECOVERED_FILES)sudo apt-get install testdisk && sudo testdisksudo fsck -n /dev/sda1(仅检查不修复)sudo fsck -fy /dev/sda1(-f 强制检查,-y 自动回答 yes)sudo tar -xzvf /backup/full-backup-YYYYMMDD.tar.gz -C /mntsudo rsync -avz /backup/home/ /mnt/home/三、常用工具与命令速查
| 工具 | 适用场景 | 关键命令示例 |
|---|---|---|
| extundelete | ext3/ext4 误删文件 | extundelete /dev/sda1 --restore-file /path/file;--restore-directory;--restore-all |
| TestDisk | 分区丢失/分区表损坏 | testdisk → Analyse → Quick/Deep Search → Write |
| PhotoRec | 文件被覆盖或未知类型、跨文件系统 | photorec /dev/sda1(按向导选择分区、文件系统与文件类型) |
| fsck | 文件系统错误、无法挂载 | fsck -n /dev/sda1(检查);fsck -fy /dev/sda1(修复) |
| tar / rsync | 有备份时的系统/数据恢复 | tar -xzvf backup.tar.gz -C /mnt;rsync -avz /backup/ /mnt/ |
| Timeshift / Clonezilla | 系统快照/整盘镜像恢复 | timeshift --restore;Clonezilla 选择镜像与目标盘恢复 |
四、成功率与风险控制
dd if=/dev/sda of=pt_backup.img bs=512 count=1 备份前 512 字节的 MBR)。五、没有备份时的应急与后续
sudo tar -czvf /backup/full-$(date +%F).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/run --exclude=/lost+found /rsync -avz --delete /home /backup/home/