南京中泾数据系统有限公司-硬盘存储、格式化及数据恢复基本原理

硬盘存储、格式化及数据恢复基本原理

数据写入:首先它到文件的目录属性去申请空间,还有没有剩余空间让你写入数据,通过位图一看,如果显示空间没有了,就报空间不足,如果位图显示空间还有,就可以开始申请空间,就告诉哪几个簇归这个空间文件使用,然后就在目录结构写入文件名,然后写入属性,然后向对应地址写入数据。


据读取:通过目录区域找到文件起始地址,其次起始地址找到之后,读取文件分配表,文件分配表就告诉这个文件分几块来存放的(放在哪几个房间的意思),然后最后换算成物理地址去读。也就是说数据在写入的时候主要写在三个地方,一个是文件名和文件属性,一个是文件位图,位图的目的就是说这几个空间被占用了,其文件不许占用,位图就是可以标记哪几个房间被占用了,把一个房间比作一个簇的话,位图就是描述所有房间被占用的情况,所以说第一个是写入文件名文件属性,第二个是文件空间位图的管理,第三个是写入文件的实体内容



数据删除:在文件的属性区域打上一个删除标记,表示这个文件被删了,第二个动作是空间位图被清零,表示文件所占用的空间,可以被再次使用,但文件实际占用空间的数据并没有被删除,并没有被清除,所以这个时候文件是可以被恢复的,我用软件扫描看哪边打了删除标记,打了删除标记以后只要能推算出这个文件占用的是哪几个空间,就把这个空间的数据提出来,所以说删除文件是可以恢复的,就是这个原理。也就是说写入的时候是写入三个地方,删除是一个地方打标记,一个地方清除,一个地方不动。

数据删除的时候文件内容不动,文件属性区域打入删除标记,代表文件已经被删了,下次再编辑目录的时候,就自动忽略掉,不显示文件所占用的空间位图清零。


正常删除:基本可以恢复,软件清除基本不能恢复,但其实还能恢复。因为当文件修改过以后,就会在底层生成临时文档

1、为什么会产生临时文档,比如这个文件,我要点修改,只要还没保存那文件一个字节都不动,这个数据是在内存当中的,当超过十分钟就会在硬盘生成一个临时文件,他怕你突然掉电,临时单独在硬盘同一级目录存一个文件,你要点保存,这个文件就保存下来了,原文件删掉了。

2、例如某些清除软件就是删除最后一个保存的文件,但你之前修改的在硬盘中保存的临时文件,大概率还是存在的。这就是粉碎软件的BUG。如果文件没修改过的,直接覆盖上去的,基本上就恢复不了了。


3、一般来说WINDOWS默认是这样的,比如说我同名覆盖一个文件,一般WINDOWS会另外分配一个地址,WINDOWS绝对不会分配原地址,比如这是一个文件,找了一个同名的文件,文件名一模一样,咔嚓往里面一写,一定会单独分配一个地址,然后把这个文件删掉,这个文件再写入,然后再覆盖一次有可能就把他覆盖了。


4、擦除软件针对文件擦除,如果是对整个分区擦除,那整个分区都恢复不了全清零。所以说我们数据恢复过程就是要反推这些底层始类代码。


格式化是:首先底层数据一个地方都不动,他会把根目录清零,有些地方像windows的格式化连根目录都不清,FAT32格式化会把根目录清零,然后空间位图分配表清零,数据一个都不动。这种数据恢复只有一种麻烦,比如说像FAT32有的文件不是连续成套的,目录恢复出来可能打不开,要做碎片拼接。NTFS没有这个问题,甚至可以做到完美恢复。FAT32U盘。所以NTFS格式化以后,如果不写入数据,基本可以完美恢复。一般U盘默认是FAT32格式化方式,但如果U盘是用软件进行指定NTFS格式化,也可以恢复。但如果质量不好的U盘用NTFS格式化,可能会出错,还会变慢。

只有极少出的情况低格是能恢复的,大多数情况下低格是不能恢复的。80%-90%的情况下是不能恢复的。但是很多机器已经没有低格功能了,低级格式化的软件也很少用。LFormat是低格工具。低格还会伤硬盘

机械盘文件恢复比固态盘恢复方便很多。

基本固态盘不管删除或者格式化以后基本不能恢复。文件属性保留,但文件内容没了,所以一般一扫描可以看到文件的目录名跟结构,但是目录里的文件是0,根本不读取实际数据。近三年的固态硬盘或者最新win10系统或者更新补丁的win7删除或者格式化以后都不能恢复。