我有一台最近“死机”的戴尔笔记本电脑(启动时会出现死机蓝屏),并且硬盘会发出奇怪的周期性咔哒声。
我想看看是否可以使用我的 Linux 机器上的一些工具来恢复数据,所以我把它插到那里。
如果我运行“fdisk”,我会得到:
Disk /dev/sdb: 20.0 GB, 20003880960 bytes
64 heads, 32 sectors/track, 19077 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0x64651a0a
Disk /dev/sdb doesn't contain a valid partition table
好吧,分区表乱了。但是,如果我运行“testdisk”尝试修复该表,它会在此时冻结,发出相同的周期性咔哒声:
Disk /dev/sdb - 20 GB / 18 GiB - CHS 19078 64 32
Analyse cylinder 158/19077: 00%
我其实并不关心硬盘是否能再次工作,我只关心数据,所以我运行了“gpart”来找出分区以前的位置。我得到了这个:
dev(/dev/sdb) mss(512) chs(19077/64/32)(LBA) #s(39069696) size(19077mb)
* Warning: strange partition table magic 0x2A55.
Primary partition(1)
type: 222(0xDE)(UNKNOWN)
size: 15mb #s(31429) s(63-31491)
chs: (0/1/1)-(3/126/63)d (0/1/32)-(15/24/4)r
hex: 00 01 01 00 DE 7E 3F 03 3F 00 00 00 C5 7A 00 00
Primary partition(2)
type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX) (BOOT)
size: 19021mb #s(38956987) s(31492-38988478)
chs: (4/0/1)-(895/126/63)d (15/24/5)-(19037/21/31)r
hex: 80 00 01 04 07 7E FF 7F 04 7B 00 00 BB 6F 52 02
因此我尝试将其挂载到旧的 NTFS 分区,但出现错误:
sudo mount -o loop,ro,offset=16123904 -t ntfs /dev/sdb /mnt/usb
NTFS signature is missing.
呃。好吧。但后来我尝试通过运行获取原始数据转储
dd if=/dev/sdb of=/home/erik/brokenhd skip=31492 count=38956987
但是文件大小达到了 59885568 字节,并且发出了相同的周期性咔哒声。
显然有一个坏扇区,但我不知道该怎么办!
数据仍然在那里...如果我在文本板中查看那个 57MB 的文件...我可以看到文件中的原始数据。
我怎样才能恢复我的数据?
感谢您的任何建议,
解决方案:
我能够恢复大约 90% 的数据:
- 硬盘被冰箱冻住了
- 用过的救援队复制驱动器
- 由于 Ddrescue 无法获取足够的硬盘空间供我使用测试磁盘 为了恢复我的分区/文件系统,我最终使用了照相记录 恢复我的大部分文件
答案1
DDrescue 旨在在这种情况下删除数据。然后尝试安装映像,如果文件丢失,请给 testdisk 和 photorec 一个机会。
答案2
答案3
TestDisk 是一款免费的开源分区扫描器和数据恢复工具。它在恢复丢失的分区方面非常有用。PhotoRec 是另一款免费的常用数据恢复工具。
TestDisk 比 PhotoRec 效率高很多。TestDisk 的问题在于它并不总是能恢复所有已删除的文件。如果您不小心重新格式化了分区,TestDisk 可以恢复数千个文件,并且不会遗漏任何文件,但是如果您通过将文件发送到废纸篓然后清空废纸篓来删除文件,TestDisk 并不总是能恢复它。
因此,请先使用 TestDisk,如果您使用 TestDisk 恢复了所有已删除的文件,那么您就大功告成了。如果您使用 TestDisk 恢复了大部分已删除的文件,您可以决定是否大功告成了。如果运行 TestDisk 后仍未完成,您可以尝试使用 PhotoRec 恢复已删除的文件。PhotoRec 无法恢复已完全覆盖的已删除文件(例如,使用该dd
程序)。在某些情况下,文件名存储在文件本身中。在这种情况下,PhotoRec 会尝试恢复文件名,但大多数情况下 PhotoRec 无法恢复文件名。
使用 PhotoRec 根据文件类型恢复文件
最好在执行这些步骤之前从 Linux 实时 DVD/USB 启动,以避免使用已删除文件所在的操作系统。
如果您的操作系统中尚未安装 TestDisk,请安装它。在 Linux 发行版中,安装 TestDisk 也会同时安装 PhotoRec。
启动 PhotoRec(从实时 CD/USB 中的终端启动或以 root 身份启动)。
选择硬盘。
选择分区类型。
如果你的硬盘有 Linux 分区,那么选择
[Intel]
。选择文件类型选项。
移至
[File Opt]
并按下Enter。在这里,您可以按 禁用所有文件类型s。使用空格切换复选按钮。选择要恢复的文件类型。选择选项。
PhotoRec 也有一系列不同的选项。一般情况下你不需要修改它们。
选择分区。
将选择器移至已删除文件的分区。然后Enter按
[Search]
。选择文件系统类型。
如果您使用的是 Linux,则将为 ext2/ext3/ext4,因此默认选择为
ext2/ext3
。否则,如果您要从格式化为 FAT 或 NTFS 的分区恢复文件,请选择Other
。选择分析的空间。
Free
如果删除特定文件后未写入该分区,请选择,否则选择Whole
。选择要恢复文件的目录。
现在选择恢复文件的存储路径。然后按Y。
PhotoRec 将显示已恢复的文件数量。
答案4
http://www.grc.com/spinrite.htm
我听到过很多有关这个项目的好评。
它的价格相当昂贵(我相信终身许可证的价格是 89.00 美元),我无法从个人经验来谈论它。
但是,如果这不能很好地解决您的问题,我希望社区会对我投反对票 - 在花钱之前等待其他回应(和反馈)。
也就是说,该程序的基本思想是深层扫描驱动器,读取每个扇区,查找缺陷、错误、误读等,然后“修复”它们(将它们交换为好的扇区,或者干脆让 HD 自己做)。
不管怎样,我建议你一把数据从驱动器中取出就换一个新的!点击非常非常糟糕!