确定 LBA (NTFS) 上的文件名

确定 LBA (NTFS) 上的文件名

我在硬盘上运行了 Seagate 的工具。它报告有错误并给出了 LBA 编号。我想将这些位置上的数据移动到驱动器上的其他位置。

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

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

由于驱动器的大小,我无法找到资源来备份它;所以我只想移动处于危险中的文件(即驻留在坏的 LBA 上的文件)。

答案1

如果 LBA 指的是逻辑扇区:

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

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

    目录:\>fsutil 卷查询群集 c: 1636446
    群集 0x000000000018f85e 由 ----D \Users\Mantas\example.txt::$DATA 使用
    
  3. 可选地,核实使用fsutil file queryextentsfsutil volume filelayout,两者都将显示该文件的完整起始和结束范围。

相关内容