用于移动文件的群集/扇区的工具

时间:2014-04-15 20:16:03

标签: file ntfs defragmentation

我知道在文件系统(例如NTFS或FAT32)上分配文件时,文件系统会为其分配一些群集/扇区。分配文件后,是否有工具可以将分配给文件的集群从一个位置移动到另一个位置,并更新文件系统元数据?这就像手动对文件进行碎片整理一样。

1 个答案:

答案 0 :(得分:0)

引用MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363911(v=vs.85).aspx

对文件进行碎片整理 使用FSCTL_GET_VOLUME_BITMAP控制代码在卷上找到足够大的位置以接受整个文件。 注意如有必要,请移动其他文件以创建足够大的位置。理想情况下,在文件的第一个范围之后有足够的未分配的集群,您可以将后续扩展区移动到第一个扩展区之后的空间中。 使用FSCTL_GET_RETRIEVAL_POINTERS控制代码获取磁盘上文件当前布局的映射。 走FSCTL_GET_RETRIEVAL_POINTERS返回的RETRIEVAL_POINTERS_BUFFER结构。 使用FSCTL_MOVE_FILE控制代码在您遍历结构时移动每个群集。 注意当其他进程写入磁盘时,您可能需要在不同时间更新位图或检索结构,或两者都更新。