下一页 上一页 目录

13. 是否有任何工具可以自动化这个过程?

碰巧的是,确实有。不幸的是,我认为它们目前遇到了与手动 inode 修改技术相同的问题:间接块是无法恢复的。然而,考虑到这个问题很快将不再存在,现在就去了解这些程序是非常值得的。

我编写了一个名为 e2recover 的工具,它本质上是 fsgrab 的 Perl 封装。它在处理归零的间接块方面做了相当多的努力,并且只要没有碎片,似乎就能很好地工作。它还能正确设置恢复文件的权限(并在可能的情况下设置所有权),甚至确保恢复的文件具有正确的长度。

我最初编写 e2recover 是为了即将到来的这个 Howto 的主要更新;不幸的是,这意味着关于 e2recover 的大部分有用的文档都计划包含在该更新中。尽管如此,它现在应该是有用的;它可以从 我的网站 下载,很快也会在 Metalab 上提供。

Scott D. Heavner 是 lde,Linux 磁盘编辑器的作者。它可以作为二进制磁盘编辑器使用,也可以作为 ext2 和 minix 文件系统的 debugfs 的等效工具,甚至可以用于 xia 文件系统(尽管 xia 支持在 2.1.x 和 2.2.x 内核中不再可用)。它有一些功能可以辅助恢复删除文件,包括遍历文件的块列表和 grep 磁盘内容。它还提供了一些关于基本文件系统概念的相当有用的文档,以及关于如何使用它进行恢复删除的文档。lde 的 2.4 版本可以在 Metalab 和镜像站点上找到,或者在 作者的网站 上找到。

GNU Midnight Commander,mc,提供了另一种可能性。这是一个全屏幕文件管理工具,据我所知,它基于一个通常被称为“NC”的 MS-DOS 程序。mc 支持 Linux 控制台和 xterm 中的鼠标,并提供虚拟文件系统,允许像 cd 到 tar 文件这样的技巧。在其虚拟文件系统中,有一个用于 ext2 恢复删除。这一切听起来都很方便,尽管我必须承认我自己不使用这个程序——我更喜欢老式的 shell 命令。

要使用恢复删除功能,您必须使用 --with-ext2undel 选项配置程序;您还需要 e2fsprogs 包附带的开发库和头文件。Debian GNU/Linux 中提供的版本就是以这种方式构建的;这可能也适用于其他 Linux 发行版的软件包。程序构建完成后,您可以告诉它 cd undel:/dev/hda5,并获得已删除文件的“目录列表”。像许多当前的恢复删除工具一样,它对归零的间接块处理得很差——它通常只恢复长文件的前 12k。

当前版本可以从 Midnight Commander ftp 站点 下载。


下一页 上一页 目录