恢复损坏或删除的NTFS分区

大约两个星期前,我的电脑出了问题,我的兄弟在使用Windows 7自动修复后写了一个关于PC无法启动的问题。

我还没有解决问题,所以我的电脑现在无法使用。

现在我认为重新安装Win7和Ubuntu比修复它们更简单,但是它们的分区上有一些数据。 我想恢复这些数据。

由于某种原因,这些分区无法安装。 我不知道为什么。

关于有问题的分区的sudo fdisk -l

 Device Boot Start End Blocks Id System /dev/sda1 2048 147912703 73955328 83 Linux /dev/sdb2 206848 174079999 86936576 7 HPFS/NTFS/exFAT 

在GParted中:

在此处输入图像描述

在此处输入图像描述

以及mount命令的错误:

 Failed to mount '/dev/sdb2': Invalid argument The device '/dev/sdb2' doesn't seem to have a valid NTFS. Maybe the wrong device is used? Or the whole disk instead of a partition (eg /dev/sda, not /dev/sda1)? Or the other way around? 

/dev/sda1完全相同的消息

如何从这些硬盘驱动器恢复数据?

编辑

我试图指定驱动器的类型:

 $ sudo mount -t ext4 /dev/sda1 /olddisk mount: wrong fs type, bad option, bad superblock on /dev/sda1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so $ sudo mount -t ntfs /dev/sdb2 /olddisk NTFS signature is missing. Failed to mount '/dev/sdb2': Invalid argument The device '/dev/sdb2' doesn't seem to have a valid NTFS. Maybe the wrong device is used? Or the whole disk instead of a partition (eg /dev/sda, not /dev/sda1)? Or the other way around? 

编辑

sudo ntfsfix /dev/sdb2返回:

 Mounting volume... NTFS signature is missing. FAILED Attempting to correct errors... NTFS signature is missing. FAILED Failed to startup volume: Invalid argument NTFS signature is missing. Trying the alternate boot sector Unrecoverable error Volume is corrupt. You should run chkdsk. 

免责声明:我在这里和这里提供了类似问题的答案。 这是这两个答案的摘要。 此外,我是RecuperaBit的开发人员。

您的NTFS分区已损坏。 为了恢复数据,您需要复制它(理想情况下),然后使用NTFS重建软件来恢复其内容。

克隆驱动器

你真的应该将驱动器克隆在外部磁盘上的文件中,除非它太大,你找不到可以包含它的另一个驱动器。

如果你确定 NTFS分区与/dev/sdb2一致,那么使用ddrescue只复制那个:

 sudo ddrescue /dev/sdb2 /media/user/External/copy.img /media/user/External/status.log 

如果您不确定,那么克隆整个/dev/sdb驱动器要好得多。 当然,这将占用更多空间:

 sudo ddrescue /dev/sdb /media/user/External/copy.img /media/user/External/status.log 

status.log文件不是必需的,但如果要暂停该过程并稍后继续,则需要该文件。

分析并重建文件系统

如果文件系统只是略有损坏,那么你可能会对testdisk有好运:

 testdisk /media/External/copy.img 

按照CLI中的分步过程,您将能够使用P键列出分区的内容, 假设它几乎完好无损。

如果伤害更严重,你还需要别的东西。 您可以使用RecuperaBit恢复(可能严重)损坏的NTFS分区。 RecuperaBit尝试重建文件系统结构并恢复文件。 无论以下情况如何,RecuperaBit都会尝试重建目录结构:

  • 缺少分区表
  • 未知的分区边界
  • 部分覆盖的元数据
  • 快速格式化

目前,它不需要安装,您需要从GitHub下载存档并将其解压缩到您选择的目录中。

之后,为输出创建一个目录并启动程序:

 mkdir /media/user/External/recovered_files cd [full path of recuperabit] pypy main.py /media/user/External/copy.img -o /media/user/External/recovered_files -s /media/user/External/savefile.save 

您也可以使用python ,但pypy更快。 扫描过程需要一段时间。 完成后,键入recoverable并找到分区的ID。 如果是例如2,请键入:

 restore 2 5 restore 2 -1 

5表示目录, -1表示丢失文件目录。

有关其他详细信息,说明和注意事项,请参阅本文顶部的两个链接。