gpt4 book ai didi

windows - 如何查找 NTFS 逻辑簇是否空闲?

转载 作者:可可西里 更新时间:2023-11-01 09:31:42 26 4
gpt4 key购买 nike

我想编写一个程序来读取 NTFS 卷上所有未使用的簇。 (我正在寻找从意外截断的文件中恢复数据的方法)。

根据 this page我可以在卷句柄上调用 SetFilePointer() 和 ReadFile() 来遍历卷上的每个逻辑簇。但我如何知道文件正在使用哪些集群,哪些是免费的?

最佳答案

为了获得 NTFS 卷上所有未使用的簇,您必须构建所有文件和流的所有分配的映射。这非常复杂,因为您必须解析非常驻文件属性的扩展列表。还有 MFT。

但是您可以在截断的文件上使用 IOCTL 或 fsutil 文件 queryallocranges 并读取最后一个范围及以后的范围。计算当前文件的结束位置,您将得到文件松弛部分。

也就是说,如果文件未压缩或 EFS 加密。

在这里,免费或商业数据恢复程序会是更快捷的方法。

关于windows - 如何查找 NTFS 逻辑簇是否空闲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3264994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com