0

假设我在 linux 分区的未分配空间中有一个已删除的文件,我想检索它。

假设我可以通过检查文件头来获得文件的起始地址。

有没有一种方法可以估计要分析的块数(这取决于图像的大小。)

4

1 回答 1

1

一般来说,Linux/Unix 不支持恢复被删除的文件——如果它被删除了,它就应该消失了。这也有利于安全 - 一个用户不应该能够通过创建跨越几乎所有可用空间的巨大空文件来恢复被另一个用户删除的文件中的数据。

一些文件系统甚至支持所谓的安全删除——也就是说,它们可以在删除时自动擦除文件块(但这并不常见)。

您可以尝试编写一个实用程序,它将您的文件系统安装在的整个分区(例如,/dev/sda2)打开为一个大文件,并读取它并扫描原始数据的残余,但如果文件是碎片化的(这很可能) ,您能够以某种可用形式恢复大部分数据的可能性非常小。

说了这么多,有一些实用程序试图比简单的扫描更智能,并且可以尝试在 Linux 上取消删除您的文件,例如extundelete。它可能对你有用,但永远不能保证成功。当然,您必须是 root 才能使用它。

最后,如果您希望能够从该文件系统中恢复任何内容,您应该立即卸载它,并使用或压缩dd管道对其进行备份以节省所需空间。ddgzip

于 2013-01-09T05:56:43.417 回答