恢复未分配空间上的数据

2 data-recovery

我正在尝试恢复已删除的分区。无法从分区表中恢复分区。

我试过 EaseUS Data Recovery,它可以找到文件但中途崩溃。我也试过 Find and Mount ,它似乎没有找到任何东西,甚至没有找到驱动器上的有效分区。

我的问题:

  1. 您会推荐什么工具来恢复未分配空间中的数据?
  2. 将新的空分区写在数据曾经所在的位置以尝试其他恢复工具是否有害?

GnP*_*GnP 5

切勿向您尝试从中恢复数据的磁盘写入任何内容

此外,如果可能,请与磁盘的图像ddddrescue或任何适合你。

下载一个 linux live cd(我强烈推荐System Rescue CD

使用testdisk恢复旧的分区表。这将是基本步骤:

  1. 运行fdisk -l以找出您的磁盘设备节点
  2. 相应地运行testdisk </dev/sdX>替换
  3. 选择分区表类型(通常为Intel
  4. 选择Analyze命令

从这里开始,这取决于它是否找到了您丢失的分区并且是否可以恢复。请按照分步指南获取更详细的步骤。

如果testdisk没有设法找到丢失的分区,则部分信息可能会被覆盖。现在一个不错的选择是使用photorec尝试从中恢复尽可能多的文件。

photorec将读取磁盘批量并使用启发式方法从原始数据中恢复尽可能多的文件。然后由您来浏览恢复的文件并找出有用的和无用的。

双方testdiskphotorec都包含在系统救援光盘。

编辑:

您也可以尝试仅制作未分配空间的图像,然后在该图像上运行 photorec。它应该更快。我假设您已经在以下位置拥有磁盘映像image-file

bash # sfdisk -l -uS image-file

Disk image-file: 0 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
image-file1   *      2048    206847     204800  83  Linux
image-file2        206848   4401151    4194304  82  Linux swap / Solaris
image-file3       4401152 312581807  308180656  83  Linux
image-file4             0         -          0   0  Empty
Run Code Online (Sandbox Code Playgroud)

所以从这个信息我们知道块大小是 512,最后一个分区结束于 312581807。我们需要从那里提取:

dd if=image-file of=unallocated-space bs=512 skip=312581807
Run Code Online (Sandbox Code Playgroud)

来源。