清除已删除的目录条目并整理目录

清除已删除的目录条目并整理目录

编辑

我想我应该澄清一下,我们的目标不是安全地擦除数据或清除活动痕迹。我们的目标是碎片整理文件夹。对于那些熟悉 FAT* 结构及其工作原理的人来说,更容易理解我想要什么。

我见过许多应用程序擦除磁盘上的可用空间(通常通过创建一个与剩余空间一样大的文件)或对文件进行碎片整理(通常通过使用 MoveFile API 将其复制到新的连续区域)。

我拥有的不是但是,我看到的是一个可以清除已删除目录条目的程序。也就是说,当文件被删除时,其信息(名称、日期等)仍保留在目录中,但只是标记为空。这会将所有类型的信息留在目录条目中,还会浪费空间,因为(至少在 FAT 驱动器上)目录可能使用多个群集。例如,如果目录曾经有很多文件,它将被扩展以使用可能位于磁盘上任何位置的另一个群集。这意味着目录是碎片化的,并且可能使用的群集比需要的多,活动文件之间可能有 100 个未使用的(即“已删除文件”)条目。

有人知道可以对目录进行碎片整理/合并的程序吗(即,清除未使用的条目,并将活动条目一起移动)?

(我真的不想再自己编写了。)
非常感谢。

编辑 抱歉,我应该说,对于 FAT*/NTFS,是 Windows 和/或 DOS。

答案1

橡皮可能是同类产品中最好的。它能够擦除单个文件、整个目录和可用空间。后者包括目录条目、群集提示、MFT 和备用数据流。

答案2

如果你能找到 fdrlab 的早期版本 Undelete Plus,版本 2.8.2.0 或更早,它有“清理驱动器”功能,可以删除目录条目,这是一款不错的程序,较新的版本删除了该功能

答案3

tl;dr 版本 - 不,我不知道有哪个特定的实用程序可以满足您的要求。

您没有指定操作系统和文件系统。您也没有真正详细说明您想要完成的任务。

我已经对类 Unix 文件系统下的安全删除程序进行了一些测试,但没有一个能解决您提出的具体问题。至少有一个(来自 thc.org 的“sfill”)会通过用随机命名的文件淹没 inode 条目来安全地删除目录条目,这种方法有效,但会使 inode 增长到最大大小,从而浪费磁盘空间(尽管信息安全移除)。

我的观点是我在其他地方读到的:如果你担心信息泄露到文件名都会成为问题的地步,那么唯一合理安全的解决方案是使用全盘加密,而不是事后使用方法删除数据。

如果您的问题仅仅是文件系统使用效率问题,而不是数据安全性问题,那么旧的备份/重新格式化/恢复方法在许多情况下都会有效。

相关内容