所谓的日志型文件系统,就是文件系统中做了什么操作,操作系统就把它记录下来,比如创建一个新文件,操作系统会在日志文件中记录下来, 删除一个文件,操作系统也会在日志文件中记录下来,记录的信息包括文件名称、文件ionde信息等。它的操作步骤是:假如我删除一个文件,操作系统会把这个文件的文件名和inode等信息写到日志文件中,然后把文件删除,并清空删除文件的原始inode数据指针,这个删除过程就完成了!我们可以发现,这个被删除的文件在临死之前,操作系统把它的文件名和inode信息记录了一份,这就给数据恢复留了一手!
我们虽然找到了恢复的门路,但细心的人会发觉,这个Journal文件大小是固定的,它所记录的内容是有限的,如果 Journal文件存满了,它会自动释放前面的空间,循环使用,周而复始,所以Journal文件记录的永远是最新的操作记录。
我们举个例子,删除100 个文件和删除10万个文件的区别,删除100个文件时,假如只需要记录100个文件名和100个inode信息,这个Journal文件能轻松存放这些信息。删除10万个文件时,需要记录10万个文件名和10万个inode信息,这个数量这个Journal文件恐怕不能一次性保存下来,它只能循环使用它的空间,只记录最后操作删除文件的信息。从这个角度看,Ext3/Ext4文件系统数据删除以后的是否能恢复,是有条件的。
下面我们用达思数据恢复软件D-Recovery For Linux来演示一下怎样恢复Ext3/Ext4文件系统删除后的数据。
1、首先我们在VMWARE下的Linux虚拟机格式化一个10GB的硬盘,格式化成Ext3文件系统