在Windows系统中基于C# .NET实现已删除文件清零及磁盘未分配空间覆写的技术方案问询
在Windows系统中基于C# .NET实现已删除文件清零及磁盘未分配空间覆写的技术方案问询
我最近研究了Windows下NTFS文件系统里,跳过回收站直接删除文件后各类恢复工具的工作原理。目前我想要实现两个核心目标:
- 定位已删除的文件并对其进行覆写清零操作
- 扫描磁盘上的所有未分配空间,将这些空间的内容全部清零。原本我以为第二种方法可以直接覆盖第一个需求的场景,但实际发现有些程序访问MFT(主文件表)时只能做到部分效果——MFT会带着特定标记保留已删除的条目一段时间,之后才会彻底清除这些记录。
我平时用C# .NET进行开发,现在困惑的是:该如何着手实现「访问指定磁盘上所有无活跃文件数据的空间,并将其清零」这个需求?
我考虑过参考磁盘碎片整理工具的源代码,但还是没搞懂怎么直接访问未分配空间并对其进行操作。
编辑补充:请注意,这个问题和磁盘格式化没有关系。
备注:内容来源于stack exchange,提问作者Raheel Khan




