在 LBA (NTFS) 处确定文件名

Tho*_*ews 5 windows-7 ntfs hard-drive filenames hard-drive-recovery

我在硬盘上运行希捷的工具。它报告存在错误并提供 LBA 编号。我想将这些位置的数据移动到驱动器上的其他位置。

如何找出这些 LBA 中的数据属于哪些文件?

磁盘为 1TB,使用 NTFS。
我正在运行 Windows 7,64 位平台。
驱动器通过 SATA 接口进行内部连接。

由于驱动器的大小,我在寻找资源来备份它时遇到问题;所以我只想移动有危险的文件(即驻留在坏的 LBA 上)。

use*_*686 7

如果 LBA 是指逻辑扇区:

  1. 将它们转换为文件系统集群(例如,我的系统每个集群有 8 个扇区):

    C:\> fsutil fsinfo ntfsinfo c:
    ...
    每扇区字节数:512
    每个簇的字节数:4096
    ...
    
    C:\>设置/a 13091568 / (4096 / 512)
    1636446
    
  2. 使用fsutil volume querycluster

    C:\> fsutil 卷查询集群 c: 1636446
    ----D \Users\Mantas\example.txt::$DATA 使用的集群 0x000000000018f85e
    
  3. 或者,使用或 进行验证,这两者都将显示该文件的完整开始-结束范围。fsutil file queryextentsfsutil volume filelayout

  • 我很确定你必须先减去分区的偏移量 (3认同)