误执行dd命令覆盖外部硬盘分区后的850GB数据恢复求助
误执行dd命令覆盖外部硬盘分区后的850GB数据恢复求助
别慌,这种情况还是有很大概率找回你的850GB文件的,但第一要务是立刻停止对/dev/sdb的任何写入操作——绝对不要往这个硬盘里存新文件、不要格式化、不要尝试重新分区,任何写入行为都会覆盖残留的可恢复数据,彻底把文件推到找不回来的地步。
下面是具体的恢复步骤,按优先级来:
第一步:先给受损磁盘做镜像(可选但强烈推荐)
如果有另一个容量≥1TB的空闲磁盘,先给/dev/sdb做一个完整镜像,后续所有恢复操作都在镜像文件上进行,避免操作失误损坏原盘数据:
# 安装ddrescue(比dd更可靠,能跳过坏块并记录进度) sudo apt install gddrescue # 执行镜像命令,把/dev/sdb备份到另一个磁盘的backup.img文件 sudo ddrescue -d -r3 /dev/sdb /mnt/another-drive/backup.img /mnt/another-drive/rescue.log
-d表示直接访问磁盘(跳过缓存),-r3表示最多重试3次坏块,日志文件能记录进度,中途中断可以续传。
第二步:用TestDisk恢复原NTFS分区
TestDisk是专门恢复丢失分区的免费工具,大概率能找回你原来的sdb1分区:
- 安装TestDisk:
sudo apt install testdisk
- 运行工具:
sudo testdisk
- 按提示选择
Create创建日志文件,然后选中你的外部硬盘(/dev/sdb,或者刚才做的镜像文件/mnt/another-drive/backup.img),按回车确认。 - 选择磁盘的分区表类型:如果你的外部硬盘之前是GPT(现在大部分新硬盘都是)就选
[EFI GPT],如果是老硬盘可能是[Intel],TestDisk也会自动检测推荐。 - 进入
[Analyze]选项,选择[Quick Search]开始扫描丢失的分区。 - 扫描完成后,找到标注为
NTFS的那个大分区(也就是你原来的sdb1),选中它按P键预览里面的文件——如果能看到视频、音乐、PDF这些原文件,说明找对了。 - 确认分区正确后,按
Q退出预览,然后按Enter选中这个分区,选择[Write]把分区表写回磁盘(或镜像),按Y确认。 - 重启系统或者重新挂载硬盘,应该就能看到原来的NTFS分区了。
第三步:如果TestDisk没恢复成功,用PhotoRec恢复单个文件
如果分区表损坏太严重,TestDisk找不回完整分区,就用PhotoRec(TestDisk的姊妹工具)直接恢复单个文件:
- 运行PhotoRec:
sudo photorec
- 选中你的外部硬盘(或镜像文件),按回车。
- 选择文件系统类型,这里选
[NTFS],按回车。 - 选择要恢复文件的保存目录——必须选另一个磁盘的空闲目录,绝对不能选/dev/sdb上的目录。
- 按
C开始扫描恢复,这个过程可能需要几个小时(取决于磁盘大小),耐心等待即可。扫描完成后,保存目录里会按文件类型分类存放恢复出来的文件。
额外提醒
- 恢复过程中不要中断,尤其是扫描和镜像阶段,否则可能前功尽弃。
- 如果自己操作没把握,或者磁盘有物理损坏,建议找专业的数据恢复公司,但费用会比较高。
备注:内容来源于stack exchange,提问作者fany
相关产品推荐
相关产品推荐

