恢复硬盘数据

恢复硬盘数据

我有一台最近“死机”的戴尔笔记本电脑(启动时会出现死机蓝屏),并且硬盘会发出奇怪的周期性咔哒声。

我想看看是否可以使用我的 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% 的数据:

  1. 硬盘被冰箱冻住了
  2. 用过的救援队复制驱动器
  3. 由于 Ddrescue 无法获取足够的硬盘空间供我使用测试磁盘 为了恢复我的分区/文件系统,我最终使用了照相记录 恢复我的大部分文件

答案1

DDrescue 旨在在这种情况下删除数据。然后尝试安装映像,如果文件丢失,请给 testdisk 和 photorec 一个机会。

答案2

由于您熟悉 Linux,请尝试同时运行测试盘相簿在驱动器上。或者更好的是,尝试获取驱动器的 dd 映像并让它们在其中爬行。发出噪音的硬盘往往会出现严重问题,并且在发出噪音后不会持续很长时间。

答案3

TestDisk 是一款免费的开源分区扫描器和数据恢复工具。它在恢复丢失的分区方面非常有用。PhotoRec 是另一款免费的常用数据恢复工具。

TestDisk 比 PhotoRec 效率高很多。TestDisk 的问题在于它并不总是能恢复所有已删除的文件。如果您不小心重新格式化了分区,TestDisk 可以恢复数千个文件,并且不会遗漏任何文件,但是如果您通过将文件发送到废纸篓然后清空废纸篓来删除文件,TestDisk 并不总是能恢复它。

因此,请先使用 TestDisk,如果您使用 TestDisk 恢复了所有已删除的文件,那么您就大功告成了。如果您使用 TestDisk 恢复了大部分已删除的文件,您可以决定是否大功告成了。如果运行 TestDisk 后仍未完成,您可以尝试使用 PhotoRec 恢复已删除的文件。PhotoRec 无法恢复已完全覆盖的已删除文件(例如,使用该dd程序)。在某些情况下,文件名存储在文件本身中。在这种情况下,PhotoRec 会尝试恢复文件名,但大多数情况下 PhotoRec 无法恢复文件名。


使用 PhotoRec 根据文件类型恢复文件

最好在执行这些步骤之前从 Linux 实时 DVD/USB 启动,以避免使用已删除文件所在的操作系统。

  1. 如果您的操作系统中尚未安装 TestDisk,请安装它。在 Linux 发行版中,安装 TestDisk 也会同时安装 PhotoRec。

  2. 启动 PhotoRec(从实时 CD/USB 中的终端启动或以 root 身份启动)。

  3. 选择硬盘。

  4. 选择分区类型。

    如果你的硬盘有 Linux 分区,那么选择[Intel]

  5. 选择文件类型选项。

    移至[File Opt]并按下Enter。在这里,您可以按 禁用所有文件类型s。使用空格切换复选按钮。选择要恢复的文件类型。

  6. 选择选项。

    PhotoRec 也有一系列不同的选项。一般情况下你不需要修改它们。

  7. 选择分区。

    将选择器移至已删除文件的分区。然后Enter[Search]

  8. 选择文件系统类型。

    如果您使用的是 Linux,则将为 ext2/ext3/ext4,因此默认选择为ext2/ext3。否则,如果您要从格式化为 FAT 或 NTFS 的分区恢复文件,请选择Other

  9. 选择分析的空间。

    Free如果删除特定文件后未写入该分区,请选择,否则选择Whole

  10. 选择要恢复文件的目录。

    现在选择恢复文件的存储路径。然后按Y

PhotoRec 将显示已恢复的文件数量。

答案4

http://www.grc.com/spinrite.htm

我听到过很多有关这个项目的好评。

它的价格相当昂贵(我相信终身许可证的价格是 89.00 美元),我无法从个人经验来谈论它。

但是,如果这不能很好地解决您的问题,我希望社区会对我投反对票 - 在花钱之前等待其他回应(和反馈)。

也就是说,该程序的基本思想是深层扫描驱动器,读取每个扇区,查找缺陷、错误、误读等,然后“修复”它们(将它们交换为好的扇区,或者干脆让 HD 自己做)。

不管怎样,我建议你一把数据从驱动器中取出就换一个新的!点击非常非常糟糕!

相关内容