我想要一张从到 的dd
图像,但是因为一个小时前我已经进行了不同的设置,所以我只是复制了相同的命令:sdb
sdc
dd if=/home/user/Downloads/ubuntu.iso of=/dev/rsdb bs=2M; sync
sda = 内置硬盘
sdb = USB 硬盘(现在启动)
sdc = USB 记忆棒
我启动的硬盘上有 3 个分区,我猜其他 2 个分区处于只读模式,我尝试了两次后,shell 中出现了错误:
568328192 bytes (568 MB) copied, 38,5818 s, 14,7 MB/s
dd: error writing ‘/dev/rsdb’: No space left on device
715128832 bytes (715 MB) copied, 17,1752 s, 41,6 MB/s
现在我意识到我覆盖了启动硬盘上的 1GB 数据(使用rsdb
)。我还没有关闭电脑。我会丢失此硬盘上的所有数据吗?我现在可以恢复任何数据吗?
这是我的/proc/partitions
:
8 0 156290904 sda
8 1 154218496 sda1
8 2 1 sda2
8 5 2069504 sda5
8 16 244198582 sdb
8 17 31457280 sdb1
8 18 20971520 sdb2
8 19 191768576 sdb3
8 32 2011136 sdc
8 33 2011135 sdc1
答案1
您已破坏了前约 1 GB,其中包括分区表和第一个分区的文件/目录列表。不过,您仍然可以重建分区表并发现 sdb2 和 sdb3 未受影响。
从终端运行此脚本,并记下它报告的开始/大小/结束数字(以防万一):
for part in /sys/class/block/sdb[0-9]*; do
num=$(<$part/partition)
start=$(<$part/start)
size=$(<$part/size)
end=$((start+size-1))
echo "partition $num: start $start, size $size, end $end"
done
然后使用parted /dev/sdb
或fdisk /dev/sdb
手动创建匹配的分区。例如,如果它打印:
partition 1: start 2048, size 204800, end 206847
那么你可以使用:
parted /dev/sdb mkpart primary 2048s 206847s
(注意s
最后的单位)
答案2
TestDisk
您可以使用(photorec)恢复数据
TestDisk 是开源软件,根据 GNU 通用公共许可证 (GPL v2+) 的条款获得许可。
TestDisk 是一款功能强大的免费数据恢复软件!它主要用于帮助恢复丢失的分区和/或使非启动磁盘再次可启动,当这些症状是由软件故障引起的:某些类型的病毒或人为错误(例如意外删除分区表)。使用 TestDisk 恢复分区表非常简单。
TestDisk 可以
修复分区表,恢复已删除的分区
从备份中恢复 FAT32 启动扇区
重建 FAT12/FAT16/FAT32 引导扇区
修复 FAT 表
重建 NTFS 引导扇区
从备份中恢复 NTFS 引导扇区
使用 MFT 镜像修复 MFT
找到 ext2/ext3/ext4 备份超级块
从 FAT、exFAT、NTFS 和 ext2 文件系统中恢复已删除的文件 从已删除的 FAT、exFAT、NTFS 和 ext2/ext3/ext4 分区中复制文件。TestDisk 具有适合新手和专家的功能。对于那些对数据恢复技术知之甚少或一无所知的人来说,TestDisk 可用于收集有关非启动驱动器的详细信息,然后可以将其发送给技术人员进行进一步分析。那些更熟悉此类程序的人会发现 TestDisk 是执行现场恢复的便捷工具。
从 Linux live usb 启动。
安装TestDisk
类型:
sudo apt-get install testdisk
跑步TestDisk
sudo testdisk
有一个教程:测试磁盘步骤
答案3
我强烈推荐雷库瓦。
大约 2 天前,我犯了同样的错误,非常担心,于是想到了这个话题。但是分区脚本和 testdisk 都没有帮助我。尝试了 photorec 并保存了一些照片,但大多数都是 3 天前上传的,旧照片都丢失了。
当时我正准备放弃,将整个硬盘格式化为 NTFS(因为 MBR 已损坏),并使用我朋友的 Windows PC 使用 Recuva。它成功了,(不是全部,但)很多文件都恢复了。它甚至恢复了文件名和上次修改时间(photorec 无法恢复)。