恢复损坏或删除的NTFS分区


13

大约两周前,我的PC出现问题,哥哥在使用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 (e.g. /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 (e.g. /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.

如果您确定sda2是NTFS,请使用ntfs-3g作为类型。如果它不起作用,则意味着您的文件系统需要重新整理
Mostafa Ahangarha '16

@MostafaAhangarha我认为这是NTFS,因为它是WIN7的分区。我也遇到了同样的错误-t ntfs-3g
Notbeginner Norexpert,2016年

然后,我认为您的分区已损坏。运行此 ntfsfix /dev/sdb2结果并共享结果
Mostafa Ahangarha '16

@NotbeginnerNorexpert抱歉,我现在看到了您的照片,我有些困惑。在您写的问题中,sdb2但图片显示这也是sdb5一个NTFS分区。您想访问哪一个?
Andrea Lazzarotto

Answers:


11

免责声明:在这里这里都对类似问题提供了答案。这是这两个答案的总结。而且,我是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表示丢失的文件目录。

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


谢谢您的帮助!我目前正在恢复Ubuntu的文件系统,但是之后,我将尝试您编写的内容。
Notbeginner Norexpert '16

1
@Notbeginner Norexpert:如果我的回答对您有所帮助,请考虑将其标记为可接受的答案,以便将来其他人更容易找到它。这也是一种礼貌的方式,要感谢回答您问题的人为您提供帮助。
安德里亚·拉扎罗托

@NotbeginnerNorexpert,它对您有用吗?因此,我可以更有信心为用户指出这篇文章,因为这确实是一个艰巨的话题。
user.dz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.