恢复损坏或删除的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
表示丢失文件目录。
有关其他详细信息,说明和注意事项,请参阅本文顶部的两个链接。