如何确定文件在 Windows 上占用的扇区?

chu*_*ill 9 hard-drive windows-10

我想确定文件在 HDD 上占用的扇区。我想知道一个文件是否被分成不同的非连续扇区。
有没有办法在 Windows 10 上做到这一点?

理想的解决方案是拥有一个硬盘驱动器所有扇区的映射,然后在选择一个文件后,它会标记或着色该文件占用的所有扇区。

use*_*686 18

工具可以使用Defrag API,特别是FSCTL_GET_RETRIEVAL_POINTERS来获取给定文件的范围(扇区范围)列表。您可以在fsutilWindows 内置的命令行上使用它:

fsutil file queryextents C:\MyFile.ext
Run Code Online (Sandbox Code Playgroud)

其他各种第三方碎片整理应用程序也经常具有仅分析单个文件的功能。例如,SysInternals Contig

contig -a C:\MyFile.ext
Run Code Online (Sandbox Code Playgroud)

再举一个例子,Piriform Defraggler 会自动列出最碎片化的文件;选择一个文件将在图形视图中显示其位置,反之亦然。

在此处输入图片说明 在此处输入图片说明


Linux 等效项是FIEMAP ioctl,它返回文件“范围”列表(以及返回块列表的旧 FIBMAP)。它可以通过诸如filefragxfs_io 之类的工具使用。