据我所知,文件系统上的文件有两个组成部分。
- 存储文件目录路径的指针。还存储文件在磁盘上所组成的扇区/块的列表。
- 磁盘上存储文件数据的实际扇区/块。
删除文件时,指针会被删除,而不会对块进行任何更改。但块列表会被标记为空闲,以便在写入数据时使用。考虑到没有覆盖数据,
- 如果指针被完全移除,恢复程序如何恢复文件?
- 这些恢复程序从什么来源获取已删除文件所组成的块列表?
和,
- 我可以在不覆盖其块的情况下粉碎文件吗?通过完全清除要删除的文件所包含的块列表。
- 我可以通过不覆盖可用空间来使已删除的文件无法恢复吗?通过完全清除已删除文件所包含的块列表。
考虑一个 512 字节物理扇区大小的磁盘上的碎片文件系统(如 ext4)。当无法知道已删除文件的块列表时,文件恢复几乎毫无用处。如果这样的事情是可能的,也许它会让磁盘多一点生命力。
答案1
如果指针被完全移除,恢复程序如何恢复文件?
它查看文件系统中未被标记为任何文件正在使用的磁盘块,并检查内容中是否存在非随机数据。例如,已知文件格式的标题或文本。
这些恢复程序从什么来源获取已删除文件所组成的块列表?
首先列出所有标记为已使用的块,然后查找所有其他块。但是,有些文件系统会记录最近删除的文件的区块链,以帮助恢复
我可以在不覆盖其块的情况下粉碎文件吗?通过完全清除要删除的文件所包含的块列表。
如果一个块包含一些可识别的数据(例如 JPEG 标头),它仍然是可发现的,并且可以恢复图像的其余部分。
我可以通过不覆盖可用空间来使已删除的文件无法恢复吗?
不,数据仍然在磁盘上,可能可以被检测到。
通过彻底清除已删除文件所组成的块列表。
我对文件系统的了解有些过时,但它们过去常常将下一个块的链接存储在前一个块的末尾,因此您只需识别一个数据块并从该点开始获取文件的其余部分。主索引表只需存储文件中第一个块的位置。我不知道这是否适用于现代(例如 NTFS/EXT4)文件系统。