从损坏的 (NTFS) 分区恢复数据

Mat*_*sen 5 data-recovery ntfs hard-disk testdisk

我正在尝试从由于某种原因变得不可读的 Windows (NTFS) 磁盘恢复数据。我是在 Linux Mint 环境中执行此操作的。

我可以正常看到分区,我也看到了正确的磁盘可用空间。但是,安装它会出现问题:

> sudo ntfs-3g -o force,rw /dev/sdc1 /media/windows2
ntfs_mst_post_read_fixup_warn: magic: 0x43425355  size: 4096   usa_ofs: 33488  usa_count: 34671: Invalid argument
Actual VCN (0x8000020b5080000) of index buffer is different from expected VCN (0x0).
ntfs_mst_post_read_fixup_warn: magic: 0x43425355  size: 4096   usa_ofs: 33488  usa_count: 34671: Invalid argument
Actual VCN (0x8000020b5080000) of index buffer is different from expected VCN (0x0).
ntfs_mst_post_read_fixup_warn: magic: 0x43425355  size: 4096   usa_ofs: 33488  usa_count: 34671: Invalid argument
Actual VCN (0x8000020b5080000) of index buffer is different from expected VCN (0x0).

> ls /media/windows2 
ls: cannot access /media/windows2: Input/output error
Run Code Online (Sandbox Code Playgroud)

我已经尝试运行 testdisk:

Disk /dev/sdb - 500 GB / 465 GiB - CHS 60801 255 63
     Partition               Start        End    Size in sectors
>* HPFS - NTFS              0  32 33    25 126 37     407552
 P HPFS - NTFS             25 126 38 60797  59 62  976297984
Run Code Online (Sandbox Code Playgroud)

如果我选择列表文件,我会看到几个文件/目录,但远非全部。如果我去取消删除,我会看到一些文件,主要是临时 Internet 文件,这些文件可能确实被删除了。我似乎没有办法查看剩余的实际文件。

我已经尝试重建引导扇区并检查 checkdisk 中的 MFT,但这没有帮助。

我也试过运行 ntfsfix:

> sudo ntfsfix /dev/sdc1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdc1 was processed successfully.
Run Code Online (Sandbox Code Playgroud)

磁盘似乎没有任何物理问题:

> sudo badblocks /dev/sdc -sv
Checking blocks 0 to 488386582
Checking for bad blocks (read-only test): 
done                                                 
Pass completed, 0 bad blocks found. (0/0/0 errors)
Run Code Online (Sandbox Code Playgroud)

还有什么我可以尝试访问这些文件的吗?

Mat*_*sen 2

最终我放弃了在Linux上解决问题,转而在Windows上尝试。事实证明这是一个好主意:运行 chkdsk 解决了问题。