【行业资讯】数据恢复的那些事
来源:厚朴HOPE工作室
我们的硬盘中储存着非常重要的信息,但经常会发生意外情况使这些数据“丢失”,如果没有备份,那么就只能通过不稳定的数据恢复进行最后的补救了。那么也许你就会问:为什么已经消失的数据还有办法找回来呢?为什么看起来空荡荡的硬盘中还能有这么多数据呢?数据恢复的原理是什么呢?
结构
要想了解数据恢复的原理,首先我们要了解数据的储存方式。硬盘中的数据不是简单的呈现在我们面前,而是有一定的储存结构。以过去的Win9x系统为例,一般将硬盘分成主引导扇区(MBR)、操作系统引导扇区(OBR)、FAT表、DIR目录区和Data数据区等五部分。
MBR
主引导扇区(MBR)位于整个硬盘的0磁道0柱面1扇区,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。MBR的作用就是检查分区表是否正确以及判别哪个分区为可引导分区,并在程序结束时把操作系统引导扇区(OBR)调入内存加以执行。
OBR
操作系统引导扇区(OBR)通常位于硬盘的0磁道1柱面1扇区,是操作系统可直接访问的第一个扇区,其主要任务是判断本分区根目录前两个文件是否为操作系统的引导文件,如是,就把第一个文件读入内存,并把控制权交予该文件。
FAT
FAT(File Allocation Table)即文件分配表,是DOS/Win9x系统的文件寻址系统。为了防止意外损坏,FAT一般做两个,第二FAT为第一FAT的备份, FAT区紧接在OBR之后(对于FAT32格式,位置是从引导扇区开始的第32个扇区就是第一个FAT表的位置),其大小由这个分区的空间大小及文件分配单元的大小决定。
DIR
DIR是根目录区的简写,它记录着每个文件(目录)的文件名,扩展名,是否支持长文件各,起始单元(这是最重要的)、文件的属性,大小,创建日期,修改日期等住处内容。操作系统在读写文件时,根据DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置,然后顺序读取每个簇的内容就可以了。
DATA
Data就是我们熟悉的数据储存的地方,是一个硬盘的主体部分,占据了硬盘的绝大部分空间,但是如果我们直接去看,只会看到一堆毫无用处的0和1,没有任何意义。因为没有MBR、OBR、FAT、DIR,我们的数据毫无意义,这也是数据可以恢复的关键点。
流程
看到这样的结构,你是不是想到了其中的奥妙呢?如果没有的话没关系,我们接着看看数据的读取、写入、删除和格式化是怎么进行的。
读取
正常的文件读取是先读取某一分区的BPB参数至内存,当需要读取某一文件时,就先读取文件的目录表,找到相对应文件的首扇区和FAT表的入口后,再从FAT表中找到后续扇区的相应链接,移动磁臂到对应的位置进行文件读取,就完成了某一个文件的读写操作。
写入
当我们要写入文件时,操作系统首先在DIR区中找到空闲区写入文件名、大小和创建时间等相应信息,然后在数据DATA区找出空闲区域将文件保存,再将Data区的第一个簇写入DIR区,同时完成FAT表的填写,具体的动作和文件读取动作差不多。
删除
删除工作非常很简单的,只是将目录区中该文件的第一个字符改为“E5”来表示该文件已经删除,同时改写引导扇区的第二个扇区中表示该分区点用空间大小的相应信息。其实数据并没有真正删除,只是被挂上了“我已经被删除了”的牌子,让FAT觉得这篇区域是空的。只要数据没有被覆盖,就还有救。
格式化
格式化操作和删除相似,都只是操作FAT,不过格式化是将所有文件都加上删除标志,或干脆将文件分配表清空,系统将认为硬盘分区上不存在任何内容。说白了格式化就是大型删除AOE,但实际上也是没有真正对数据下手。
覆盖
那么基础讲完了,相信你已经能猜出数据恢复是怎样一个原理了吧,没错,真正对数据有威胁的罪魁祸首就是物理伤害!这种伤害基本上没救了,自求多福吧。开玩笑的,其实真正对数据有威胁的是——覆盖。
因为不论删除还是格式化还是分区错误,我们都是对Data之前的各种分区表进行操作,Data里面的0和1虽然瑟瑟发抖,但是并没有什么实质性的损伤,只有覆盖是让这些0和1重新排列,打消你恢复数据的想法。举个例子:
这是一个充满数据的硬盘,里面没有可用空间。
我们在PC上通过删除操作把一个文件【香蕉】删除了,实际上储存【香蕉】的数据没有变化,只是对于分区表来说,它觉得【香蕉】这块地方是空的,是可用空间。这个时候如果我们通过数据恢复软件是可以找到【香蕉】的,因为本质上【香蕉】的数据就在那里没有受到任何影响,只是它“被删除”了。
但是如果我们把【火龙果】覆盖进来,分区表让【火龙果】覆盖他认为是空的【香蕉】的地盘,【香蕉】的数据就被覆盖了,我们再想通过数据恢复工具找到它就十分困难。
接着我们把硬盘格式化,所有占用状态变为空,但是数据没有动,这个时候是可以恢复的。
最后我们再一次不完全覆盖,可以看到有部分数据永远离开了我们,但是还有的没有被覆盖,这些没有被覆盖的也还是有救的。
可以看出,即使是误删误格式的数据,我们仍然有方法让他们现出原形,不过这并不是一定能成功的,时常备份才是万全之策。所以说,数据无价,不要在危机实时刻才想起备份的可贵,不要在危难关头才去找恢复数据的方法,这些都是没有办法的办法。为了自己和数据的安全,请时常备份,以绝后患。