为什么我恢复的文件打不开/打开全是乱码
你是否遇到过这种情况,即明明找到了自己丢失的文件,但恢复出来就是打不开,或者打开全是乱码?下面我们来介绍一下出现这种情况的原因。
要了解这种现象出现的原因,首先我们要了解一个文件是怎么存放在硬盘分区中的。
例如,我们有一个叫“报表 .doc”的文件存放于 D盘,如图 1:

在分区中,为了存放一个文件,系统首先在分区中类似于书的目录的结构中( FAT32为目录项, NTFS为 MFT项)写入文件的文件名,大小,时间,属性等信息,并且从可用空间里分配一块区域用于存放文件内容,内容所占的位置也写在目录中,以便以后寻找。如上图,“报表 .doc”占用了 21, 22, 23三块空间,并且在目录中有对它的描述。现在如果我们误删除这个文件,则会变成下图:

我们看到,当我们删除“报表 .doc”时,系统只是在这个文件目录的位置加上了一个“已删”标记,而关于它的一切其他数据和内容都还完好的保存在分区中,此时, 21, 22, 23三块区域随着“报表 .doc”的删除,变为了 可用空间,用于存放文件位置信息的第 10块区域因为被加了删除标记,系统在写入新文件时就可能重用这块区域。如果我们在数据恢复时是图 2的这种情况,恢复成功率是 100%,因为关于“报表 .doc”的一切信息均完好。
但是,如果我们意识到文件误删的时间较慢,从删除文件到开始尝试恢复之间还进行过其他操作,比如,在 D盘安装了其他程序,则图 2的这种情况将可能变为图 3所示:

我们在D盘安装了新的程序,它的其中一个文件“a.exe”正好被分配到了20和21块,这时,“报表.doc”文件的第一部分内容就被覆盖了,我们现在如果开始恢复文件,从第10块得到文件的内容在21-23,在把21-23这3块的信息保存成新文件,由于21已经被毫不相干的其他文件占据,所以文件被破坏,此时再用Word打开,就会提示文件损坏,或者直接显示乱码
为什么格式化可能无法恢复
首先我们了解下格式化与删除
我们向硬盘里存放文件时,系统首先会在文件分配表内写上文件名称、大小,并根据数据区的空闲空间在文件分配表上继续写上文件内容在数据区的起始位置。然后开始向数据区写上文件的真实内容,一个文件存放操作才算完毕。
删除操作却简单的很,当我们需要删除一个文件时,系统只是在文件分配表内在该文件前面写一个删除标志,表示该文件已被删除,他所占用的空间已被"释放", 其他文件可以使用他占用的空间。所以,当我们删除文件又想找回他(数据恢复)时,只需用工具将删除标志去掉,数据被恢复回来了。当然,前提是没有新的文件写入,该文件所占用的空间没有被新内容覆盖。
格式化操作和删除相似,都只操作文件分配表,不过格式化是将所有文件都加上删除标志,或干脆将文件分配表清空,系统将认为硬盘分区上不存在任何内容。格式化操作并没有对数据区做任何操作,目录空了,内容还在,借助数据恢复知识和相应工具,数据仍然能够被恢复回来。
注意:格式化并不是100%能恢复,有的情况磁盘打不开,需要格式化才能打开。如果数据重要,千万别尝试格式化后再恢复,因为格式化本身就是对磁盘写入的过程,只会破坏残留的信息
数据恢复成功率的几个影响因素
第二条:FAT或者FAT32分区,删除或者格式化后,比较大的文件或者经常编辑修改的文件,恢复成功率要低一些,比如经常编辑修改的XLS或者CDR文件就很难完整恢复。那些文件拷进去后就不动的文件,恢复成功率比较高,比如PDF或者JPG,MPG等不经常修改的文件,恢复率还是比较高的。这是因为FAT和FAT32分区使用文件分配表来记录每个文件的簇链碎片信息,删除或者格式化后簇链碎片信息就被清空了,那些经常编辑修改的文件由于它们的文件长度动态增长,在文件系统中一般都不会连续存放,所以文件碎片信息就无法恢复,文件恢复也就不完整了。
第三条:经过回收站删除的文件,有时候会无法找到文件。NTFS下,从回收站中删除的文件,文件名会被系统自动修改成De001.doc之类的名字,原来的文件名被破坏。当您的数据丢失后,不能直接找到文件名,记得别漏过这些被系统改名过的文件哦。直接Shift+Del删除的则不会破坏文件名。
第四条:重新分区或者删除分区或者分区表破坏,一般后面的分区基本能完整恢复,越靠后的分区被破坏的可能性越低,所以重要数据最好放在比较靠后的分区里面,不要放在C,D盘里。
什么情况下丢失的数据不能或者不易恢复?(一)
数据恢复不是100%都能成功的,它依靠操作系统对硬盘写入数据时的一些特性来工作,下面来介绍一些造成丢失数据无法恢复的常见几种情况。
1、数据覆盖
假设我们一个文件叫A,他在硬盘里存放方式如图1



2、FAT32中文件不连续储存




什么情况下丢失的数据不能或者不易恢复?(二)
3、文件的目录项(MFT项)被覆盖
在前面两种情况中我们都提到了一个叫“目录项(MFT项)”的东西,它是文件系统用来记录文件名,文件大小,文件创建、修改、访问时间,文件属性等等基本信息的数据结构,一般被储存在各分区的特殊区域。访问一个文件时,系统必定从这些数据中找到目标文件,根据其中信息才能获取文件的内容。
当一个文件被删除时,它原来内容所占的区域会变为可用空间,它的目录项(MFT项)也会标为未使用,也就是说,以后创建的新文件的目录项(MFT)项就可能会占据这个位置。我们还是以上面NTFS文件系统中的一个例子进行说明,如图8:



4、错误的格式化分区,或使用分区镜像工具还原了分区
从上面3种情况我们了解到,一个文件是否能恢复成功,取决于数据时候被覆盖,文件前后关联信息是否完好。下面我们来分析一下格式化分区或者用分区镜像工具(例如:ghost)还原分区后数据恢复的情况。
(1) FAT分区格式化,破坏力:*****
在FAT分区进行格式化时,系统将会清空所有的FAT表,这对不连续储存文件的恢复来说是毁灭性的。FAT分区格式化后,大部分数据恢复工具都能搜索出之前文件,但只有那些连续储存的文件能够正常恢复。
(2) FAT分区镜像还原,破坏力:*****
在进行分区还原时,镜像工具写入了镜像分区中的数据,导致一部分数据被彻底覆盖,镜像越大,覆盖的数据区域也就越大,有恢复希望的数据就越少。并且在还原时,FAT表中会写入镜像分区的内容,有时就会使一部分数据恢复工具误认为FAT表有效,而将文件指向了错误的地方。
(3) NTFS分区格式化,破坏力:**
NTFS格式化时会重写MFT项的前十几个,而这些项目是文件系统内部的隐藏文件,与用户数据关系不大,原本的用户文件的MFT项依然存在,数据恢复的可能性就非常大。一般如果没有在格式化后的磁盘写入数据,并且原本分区并不是很满的话,数据是能全部恢复的。如果原本分区很满,那么MFT项本身可能分段,造成格式化后找不到一部分MFT项。
(4) NTFS分区镜像还原,破坏力:****
NTFS还原分区后也会被覆盖部分数据,根据被覆盖部分的大小决定能恢复的数据多少。还原分区时也写入的新的MFT项,造成靠前的MFT项被覆盖,从而是数据恢复变得困难。
从这里仍然看出,NTFS文件系统更有利于数据的恢复。使用镜像还原分区后,由于新数据的写入,恢复难度也大大增加。格式化分区时如果选择的不是“快速格式化”,则系统会清理掉大量原本分区的数据,而使数据恢复陷入困境。
总结:数据恢复永远离不开一个本质——即数据是否被覆盖。一旦原本数据被覆盖,一切恢复手段都是浮云。