首页 > 恢复资讯 > 恢复教程 > 正文

硬盘上面的数据删除 真的删除了吗?可以数据恢复的!

2017-09-08 15:04:45   来源:华军数据恢复

    想要了解如何能够恢复,首先得看文件是怎么删除的。

    我们知道每次文件被删除时,盘片上记录该文件的“点点”并没有被毁掉,那么操作系统是如何“骗”我们以为文件被删了?这是问题的关键,只要能练出火眼金睛防止“被骗”,理论上我们就能够找到文件所在。

“删”不是真的“删”!

    从物理层面转换到逻辑层面,“中间人”的角色很重要,「他」究竟怎么传达用户的信息然后指挥机械属性的硬盘存储或删除文件的?让我们首先来看看操作系统管理文件的那些事儿。

▍文件的存储和管理

    操作系统中有个「文件系统」,专门用于明确存储设备或分区上文件的数据结构,即在存储设备上组织文件的方法。

    打个形象的比喻,文件系统会给每个文件安排一个房间,房间大小视文件大小而定,所有的房间总和即对应磁盘存储的大小。文件系统专门管着各个文件的“登记入住”、“房间分配”和“退房”等事宜。


一个文件一间房,就像一个萝卜一个坑

    一旦某个文件住进去了,那么文件系统就会在这个房间挂上该文件的名牌,即标记文件的各种目录信息。所有的文件都会分到属于自己的房间里,一旦住进去,就不会再挪窝儿了。(物理层面决定的哦,所以我们移动文件等各种操作不影响文件的位置)

    如果这个时候,你开始删除文件了,那么文件系统就像宿管大妈一样又要开始忙活。

▍删?不,是「隐藏」!
    第一种常见情况:删除至回收站。

    把文件删除扔到回收站时,我们可以随时反悔,这是因为回收站其实是一个有隐藏属性的文件夹,专门用来暂时存放被删除的文件。


隐形的是房间(文件夹),不是萝卜(文件)哦!

    我们发出删除指令时,文件系统会把文件放入这个文件夹进行“隐身”,但文件的相关数据没有任何变化。只要不清空回收站(即彻底删除),恢复文件只是让其“现身”罢了。

▍删?不,是「标记」!
    第二种情况:我们常以为的“彻底删除”、格式化等。

    彻底删除时,文件系统就会对文件做一些“标记”的小动作了。

    首先,文件系统会给该文件对应目录项的第一个字节改标记为“已删除对象”,这就好比在文件住的房间上换了个牌——“客户已退房”。(但其实它还住在里面呢)

    还没完呢,接着文件系统就在其记录文件分配表的状态值改为“未分配簇”,也就是在客户登记入住手册上记着“空房可以入住”的意思啦。


我还在呢!为嘛操作系统看不见我……


    文件系统这样一标记,操作系统可不就以为文件被删除了么,因为查询目录找不到啊,就这样我们被“骗”了!但实际上,文件依然还在它原来的位置,它只是失去了房间的所有权,但只有没有新用户入住,它就能一直在里面住下去!

    “除”是什么被“除”?

    不是“除”,是「改」!

   
    以上删除的意思大家明白了,我们现在来看看文件系统具体是如何实现这些“退房” “空房可入住”等管理操作的。

    这一段,我们以Windows系统的「FAT文件系统」(FAT16)为例进行演示,只要看懂了基层原理,道理相通,以后再探究不同文件系统下的文件恢复就不是问题了。

▍FAT文件系统组成
    围绕今天的主题,我们只要知道FAT文件系统有这样四个部分:保留扇区、FAT表、目录表、DATA区。(旁的以后专题讲)

    保留扇区:第一个保留扇区是引导扇区,通常包含操作系统的启动代码。保留扇区的总数记录在保留扇区的一个参数内。
    FAT表:用来描述文件系统内存储单元的分配状态及文件内容的前后链接关系的表格,好比是分配“房间”的登记册子。
    目录表:目录表是一个表示目录的特殊文件,它里面用32字节条目存储每个文件(夹)的信息。,简言之,就是记录文件(夹)位置和信息的表。
    DATA区:储存文件数据的区域,就是我们平常能直接看到、修改的文件内容本身。
    知道了文件系统用来记录文件的各个区域,我们来对比以下删除前后这些区域的记录会有何变化。

▍彻底删除前后各区变化对比

    Wendy新建了一个实验的txt文件,然后用WinHex工具查看文件的十六进制记录,接着彻底删掉这个文件,再次查看并做对比。

    以下图片,上图均为删除前,下图为删除后

文件删除前后目录表的变化

文件删除前后目录表的变化

    文件删除后,目录表头字节被修改为删除标记“E5”,这个字母和数字在FAT文件系统里即表示该文件已被删除,就是前文所说的“已删除对象”标记。
 

文件删除前后FAT表的变化

文件删除前后FAT表的变化

    FAT表中原来表示该文件占用簇大小的字节在文件删除后变成了“0”,即“未分配簇”标记。

文件删除前后DATA区的变化

文件删除前后DATA区的变化

    删除前后文件的数据区没有任何变化,即文件本身的内容是没有任何修改的,这个区也是我们每次恢复文件的终极目标。但前面两项的记录经常会影响到我们恢复的结果。

    正是前两项标记的修改让操作系统认为文件被删除了,因此不借助专门程序或软件是看不到被删除文件的。

    真正的“删除”是“覆盖”!

    为什么说「覆盖」才是真正意义上的“彻底删除”?

    我们要回到物理层面上来看,当新的文件进入到原被删文件的“房间”时,操作系统会命令磁头重新在盘片相应位置处画新的“点点”,这些新的数据点就覆盖掉了原先的“点点”,自然就从最底层失去了文件的数据。


新萝卜住进去,再也找不回粉萝卜了

    所以,你还问为什么被覆盖了的文件恢复不出来吗?你总不能让恢复专家原模原样画出千上万个小“磁点”吧!好比沙画上有个新图案,让你回到前一个图,你说这怎么可能?别难为人家了。

▍想要恢复,谨防「覆盖」!

    如果不小心删除了某个重要文件,想要恢复,此时要做的,就是千万不要覆盖。

    你要做的,就是立即停用计算机,不要再向磁盘保存任何文档,也包括不要把恢复工具安装到已删除文件所在的硬盘,因为任何写入磁盘的内容都有可能覆盖已删除档释放的磁盘簇。如果必须安装恢复工具,可以安装到其他硬盘分区、软盘,或者干脆拆下硬盘到另一台机器上去恢复。 

▍「完全覆盖」才能真正清洁

    如果数据已经覆盖,用通常的恢复工具就无能为力了,但这并不意味着我们绝对不能挽救丢失的数据,这是因为我们通常做不到「完全覆盖」,原因如下。
    A. 读/写磁头向磁盘写入数据时,它会将磁化数据位的信号调整到某个适当的强度,但信号不是越强越好,不应超出一定的界限,以免影响相邻的数据位。由于信号强度不足以使存储媒介达到饱和的磁化状态,所以实际记录在媒介上的信号受到以前保存在同一位置的信号的影响,例如,如果原来记录的数据位是0,现在被一个1覆盖,那么实际记录在磁       盘媒介上的信号强度肯定不如原来数据位是1的强度。 

    B. 磁头每次读/写数据时,不可能绝对精确地定位在同一个点上,写入新数据的位置不会刚好覆盖在原来的数据上,因此原有数据总是会留下一些痕迹,
    当然,如果我们反复执行覆盖操作,原有数据的痕迹就会越来越弱;因此许多人会选择多次覆盖来清除原有数据,这样数据被恢复的可能性自然就越来越低。

小知识——磁盘清除与覆盖
    在覆盖和磁盘清除方面,美国国防部订立的磁盘清洗规范(DoD 5220.22-M)最为著名,秉着严谨的态度小编亲自查证,发现所谓DoD 5220.22-M出自美国的《国家工业安全项目书》(National Industry Security Program,简称为NISPOM)。

    在这里,Wendy要严肃辟谣!在下载并仔细查看了原文件内容后,发现NISPOM全文涵盖了整个政府工业安全项目,其中数据清除只是非常小的一部分!(在长达141页的文件中仅有两个段落而已)更重要的是,NISPOM并没有给出明确的清除方法!并没有!网传的覆盖3次、7次还有35次都是以讹传讹(但不代表这些方法没有效,只是出处不对!)

    而给出了明确清除方式的是美国国防安全服务(是DSS,不是国防部哦)所发名为《Clearing and Sanitization Matrix》(简称为C&SM)的文件。而且,根据2007年DSS的C&SM文件所述,要完全清除磁性存储介质的数据,覆盖已经不可行了,只能使用消磁或物理销毁的手段。


 

版权说明:如非注明,本站文章均为华军数据恢复原创,转载请注明出处和附带本文链接。

CopyRight2014-2016 华军数据恢复中心http://www.sosit.com.cn 版权所有 京ICP备09034873号-8 成功案例|华军资讯|硬盘服务|数据恢复

浙公网安备 33010602000660号