我在硬盘上运行了 Seagate 的工具。它报告有错误并给出了 LBA 编号。我想将这些位置上的数据移动到驱动器上的其他位置。
我如何找出这些 LBA 上的数据属于哪些文件?
磁盘为 1TB,使用 NTFS。
我运行的是 Windows 7,64 位平台。
驱动器通过 SATA 接口进行内部连接。
由于驱动器的大小,我无法找到资源来备份它;所以我只想移动处于危险中的文件(即驻留在坏的 LBA 上的文件)。
答案1
如果 LBA 指的是逻辑扇区:
将它们转换为文件系统群集(例如,我的系统每个群集有 8 个扇区):
目录:\>fsutil fsinfo ntfsinfo c: ... 每扇区字节数:512 每簇字节数:4096 ... 目录:\>设置/a 13091568 / (4096 / 512) 1636446
使用
fsutil volume querycluster
:目录:\>fsutil 卷查询群集 c: 1636446 群集 0x000000000018f85e 由 ----D \Users\Mantas\example.txt::$DATA 使用
可选地,核实使用
fsutil file queryextents
或fsutil volume filelayout
,两者都将显示该文件的完整起始和结束范围。