为什么我恢复的文件打不开/打开全是乱码

你是否遇到过这种情况,即明明找到了自己丢失的文件,但恢复出来就是打不开,或者打开全是乱码?下面我们来介绍一下出现这种情况的原因。

要了解这种现象出现的原因,首先我们要了解一个文件是怎么存放在硬盘分区中的。
例如,我们有一个叫“报表 .doc”的文件存放于 D盘,如图 1:

图片:1.JPG

图 1

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

图片:2.JPG

图 2

我们看到,当我们删除“报表 .doc”时,系统只是在这个文件目录的位置加上了一个“已删”标记,而关于它的一切其他数据和内容都还完好的保存在分区中,此时, 21, 22, 23三块区域随着“报表 .doc”的删除,变为了 可用空间,用于存放文件位置信息的第 10块区域因为被加了删除标记,系统在写入新文件时就可能重用这块区域。如果我们在数据恢复时是图 2的这种情况,恢复成功率是 100%,因为关于“报表 .doc”的一切信息均完好。

但是,如果我们意识到文件误删的时间较慢,从删除文件到开始尝试恢复之间还进行过其他操作,比如,在 D盘安装了其他程序,则图 2的这种情况将可能变为图 3所示:

图片:3.JPG

图 3

我们在D盘安装了新的程序,它的其中一个文件“a.exe”正好被分配到了20和21块,这时,“报表.doc”文件的第一部分内容就被覆盖了,我们现在如果开始恢复文件,从第10块得到文件的内容在21-23,在把21-23这3块的信息保存成新文件,由于21已经被毫不相干的其他文件占据,所以文件被破坏,此时再用Word打开,就会提示文件损坏,或者直接显示乱码

为什么格式化可能无法恢复

首先我们了解下格式化与删除
  我们向硬盘里存放文件时,系统首先会在文件分配表内写上文件名称、大小,并根据数据区的空闲空间在文件分配表上继续写上文件内容在数据区的起始位置。然后开始向数据区写上文件的真实内容,一个文件存放操作才算完毕。
  删除操作却简单的很,当我们需要删除一个文件时,系统只是在文件分配表内在该文件前面写一个删除标志,表示该文件已被删除,他所占用的空间已被"释放", 其他文件可以使用他占用的空间。所以,当我们删除文件又想找回他(数据恢复)时,只需用工具将删除标志去掉,数据被恢复回来了。当然,前提是没有新的文件写入,该文件所占用的空间没有被新内容覆盖。
  格式化操作和删除相似,都只操作文件分配表,不过格式化是将所有文件都加上删除标志,或干脆将文件分配表清空,系统将认为硬盘分区上不存在任何内容。格式化操作并没有对数据区做任何操作,目录空了,内容还在,借助数据恢复知识和相应工具,数据仍然能够被恢复回来。
  注意:格式化并不是100%能恢复,有的情况磁盘打不开,需要格式化才能打开。如果数据重要,千万别尝试格式化后再恢复,因为格式化本身就是对磁盘写入的过程,只会破坏残留的信息

数据恢复成功率的几个影响因素

第一条:NTFS分区的恢复概率比较高,一般删除或者格式化后绝大部分都可以完整恢复的。某些文件有时候无法恢复,例如文件长度非常大或者文件在编辑使用很长时间,这文件会形成很多的碎片信息,在删除文件后,这个文件就无法知道文件长度,很难恢复了,例如一些使用很多年的数据库文件,删除后用数据恢复软件扫描到的文件长度是0,无法恢复。定期做磁盘碎片整理可以减少这种情况的发生,但是直接做磁盘碎片整理也有风险,请参考上面需要注意的问题。

第二条:FAT或者FAT32分区,删除或者格式化后,比较大的文件或者经常编辑修改的文件,恢复成功率要低一些,比如经常编辑修改的XLS或者CDR文件就很难完整恢复。那些文件拷进去后就不动的文件,恢复成功率比较高,比如PDF或者JPG,MPG等不经常修改的文件,恢复率还是比较高的。这是因为FAT和FAT32分区使用文件分配表来记录每个文件的簇链碎片信息,删除或者格式化后簇链碎片信息就被清空了,那些经常编辑修改的文件由于它们的文件长度动态增长,在文件系统中一般都不会连续存放,所以文件碎片信息就无法恢复,文件恢复也就不完整了。

第三条:经过回收站删除的文件,有时候会无法找到文件。NTFS下,从回收站中删除的文件,文件名会被系统自动修改成De001.doc之类的名字,原来的文件名被破坏。当您的数据丢失后,不能直接找到文件名,记得别漏过这些被系统改名过的文件哦。直接Shift+Del删除的则不会破坏文件名。

第四条:重新分区或者删除分区或者分区表破坏,一般后面的分区基本能完整恢复,越靠后的分区被破坏的可能性越低,所以重要数据最好放在比较靠后的分区里面,不要放在C,D盘里。

什么情况下丢失的数据不能或者不易恢复?(一)

数据恢复不是100%都能成功的,它依靠操作系统对硬盘写入数据时的一些特性来工作,下面来介绍一些造成丢失数据无法恢复的常见几种情况。

1、数据覆盖

假设我们一个文件叫A,他在硬盘里存放方式如图1

图片:1.JPG

图 1, A(x)表示 A文件的第 x部分,下同
将 A文件删除后,硬盘里的情况变为图 2:

图片:2.JPG

图 2
可以看到,删除的文件并没有真正被“删除”,只是它原本所占用的空间被标记为未使用,此时恢复数据的几率就非常高。但如果我们没有及时恢复,继续使用计算机做别的事,硬盘里的情况就会发生变化, 例如图 3:

图片:3.JPG

图 3
硬盘中写入了另一个文件 B,因为这部分空间是磁盘的可用空间,所以 B就可以占据这部分,此时原本的 A文件前面 3部分就被覆盖,这部分数据就永久性的丢失了。现在即使用数据恢复工具扫描出 A文件,也会因为其前 3部分数据丢失而损坏,表现出恢复后文件打不开,或者乱码。
在文件 A删除后写入 B,并 不一定会覆盖原本 A文件所在的区域,这取决于操作系统对文件写入的调度算法。但是,往磁盘里写入的内容越多,原 A文件所在区域被覆盖的可能性就会越大,所以,当用户意识到自己的文件丢失后,应 立刻停止对目标盘的操作,以免将本来能恢复的文件破坏,造成数据永久丢失。

2、FAT32中文件不连续储存

在磁盘中,有可能遇到一个文件被分成很多部分,存储在磁盘的不同位置,这种情况称为文件不连续储存(也称磁盘碎片),例如:

图片:4.JPG

图 4
此时, A文件就属于不连续储存。
在 FAT格式的磁盘分区中,系统使用 FAT表(文件分配表)来描述 A文件各部分所在位置,如下图:

图片:5.JPG

图 5
当我们要访问 A文件时,首先查找文件的目录项, A文件的目录项在 12的位置,系统得知它起始于 54,于是前往 54获取到 A文件的第一部分。接下来系统查找 FAT表,看到 54号指向 55,于是前往 55获取 A文件的第 2部分。继续查找 FAT表, 55号指向 50,于是前往 50获取 A文件第 3部分。以此类推,直到 FAT表中指向 0,则文件结束。
我们现在把文件 A删除,磁盘中将会变化成图 6所示:

图片:6.JPG

图 6
删除 A文件后, A文件目录项被标“已删”标记,内容完好,但是, FAT表中有关原本 A文件的记录被清空了,现在我们再从 12中获取关于 A文件的信息,也只能知道它从 54开始,而 A文件以后的部分的位置就无从知晓了。多数数据恢复工具对于这种情况,都只能假设 A文件是连续的,即根据文件大小,从 54处读取 5块,这样恢复出来的 A文件只有前 2块是正确的,最后 1块也错了位,这样就直接导致恢复出的文件打不开,而 A文件真正的第 3、 4部分就永久的沉睡在磁盘中了。
在 NTFS文件系统中,不使用 FAT表,而在文件的 MFT项(相当于 FAT目录项)中直接记录文件内用所占位置的全部信息,如图 7:

图片:7.JPG

图 7
在关于 A文件的 MFT项中,明确描述了 A文件各个部分所占位置,即使被删除,只要数据没有被覆盖,恢复工具就能从原本 A文件的 MFT项中得到所有必要信息,从正确的位置恢复出 A文件。所以, NTFS文件系统更有利于数据的恢复,并且该文件系统也是微软推荐使用的文件系统,而 FAT由于年代久远,即使是 FAT32也只能支持最大 4GB的文件,所以作者在这里推荐大家尽量使用 NTFS文件系统。

什么情况下丢失的数据不能或者不易恢复?(二)

3、文件的目录项(MFT项)被覆盖

在前面两种情况中我们都提到了一个叫“目录项(MFT项)”的东西,它是文件系统用来记录文件名,文件大小,文件创建、修改、访问时间,文件属性等等基本信息的数据结构,一般被储存在各分区的特殊区域。访问一个文件时,系统必定从这些数据中找到目标文件,根据其中信息才能获取文件的内容。

当一个文件被删除时,它原来内容所占的区域会变为可用空间,它的目录项(MFT项)也会标为未使用,也就是说,以后创建的新文件的目录项(MFT)项就可能会占据这个位置。我们还是以上面NTFS文件系统中的一个例子进行说明,如图8:

图片:8.JPG

图 8
此时 A文件 MFT项所在的 12号区域中记录了 A文件的名字,大小,时间,属性等信息,当我们删除它后,则变为图 9:

图片:9.JPG

图 9
可以看到, 12号区域被标记为删除了,但它原本所记录的 A文件信息并没有丢失。现在这块硬盘继续使用,在分区里继续创建新文件,上图所表示的区域就 可能变为图 10这种情况:

图片:10.JPG

图 10
此时,磁盘中有一个新文件 C,它的 MFT项正好被系统分配在了 12,因为 12号已经被删除,可以重用。此时, A文件原本所有的基本信息则永久丢失。
这种情况,一般数据恢复工具就无法得知 A文件的存在,即使它的内容完好无损。
发生这种情况时, A文件原本内容所占区域一定会在磁盘的 可用空间中,因为如果是已用,则原本的内容必定被覆盖。部分高级数据恢复工具提供磁盘深度搜索功能,可以在磁盘可用空间中通过对常用文件格式的特征进行比对,得知原本有一个文件起始于 54号区域。但除此之外一无所知,包括文件名,大小,时间,属性等,更不可能得知文件各部分所在位置了。数据恢复工具一般将此类搜索结果根据文件类型分类并加以序号命名(例如: 10012.jpg),但由于连最基本的文件大小都未知,用户一般需提供一个估计大小值,并且该文件是否能恢复成功,还是取决于文件是否连续储存。像上面的例子, A文件原本是分散的,即使找到它起始于 54,但对于一个丢失了前后位置关联信息的文件的恢复是非常困难的,专业人士有时可以凭借自己经验,使用 WinHex等工具获取一些文件前后关联线索帮助恢复文件。

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文件系统更有利于数据的恢复。使用镜像还原分区后,由于新数据的写入,恢复难度也大大增加。格式化分区时如果选择的不是“快速格式化”,则系统会清理掉大量原本分区的数据,而使数据恢复陷入困境。

总结:数据恢复永远离不开一个本质——即数据是否被覆盖。一旦原本数据被覆盖,一切恢复手段都是浮云。

为什么我恢复的文件打不开/打开全是乱码相关推荐

  1. linux 文件恢复删除文件,Linux通过lsof命令恢复误删文件的步骤

    Linux系统下lsof命令的用法有很多,恢复误删文件就是其中一种用法,特别是日志类文件的恢复,下面小编就给大家介绍下Linux使用lsof命令恢复误删文件的方法. 前提条件:该文件在删除后,仍然被进 ...

  2. fuser查询已打开文件或已执行程序打开的文件

    fuser 使用文件或者套节字来表示识别进程,常用两个功能: 1. 查看需要的进程 2. 杀死查到的进程 [root@localhost ~]# fuser -vm /usr/local/ -bash ...

  3. u盘文件看得见却打不开_U盘出问题了,为什么自己尝试恢复后却发现很多文件打不开?...

    是不是有一些IT达人在自己的U盘出现问题时,下载了许多各种数据恢复工具进行恢复后会发现很多文件是打不开的呢?是什么原因造成的呢?今天我们就来分析一下. 其实不管是专业的还是业务的在进行U盘出错后的数据 ...

  4. u盘文件打不开怎么才能恢复

    不知不觉,我在上海作为"打工仔"也已经→个奶奶头了,虽然上海挣钱是比家里多,但是房价高生活成本高,作为一个男性,根本买不起房子.作为一个马上奔三的人,没有可靠地工作,没有固定住所, ...

  5. 为何恢复出来的MP4视频文件打不开

    MP4是一种集音频.视频.图片浏览.电子书.收音机等于一体的多功能播放器.在众多的视频格式中,MP4也算是大家常用的一种.有时候我们会不小心弄丢MP4里面的视频文件,但是想尽办法恢复之后却发现有MP4 ...

  6. xlsx文件打不开损坏要如何恢复呢?

    Xlsx文件是由Excel软件创建的文档的一部分.在正常情况下,Xlsx文件总是很稳定的,可以保证很长的时间不被破坏.但由于xlsx文件在系统上保存的时间越长,会面临的不确定性就越多,损坏的可能性就越 ...

  7. U盘文件打不开了怎么恢复

    U盘文件打不开了怎么恢复 上周去客户那里拿资料,因为文件都是电子的,所以就拿了u盘去的.拷回来后我也没检查,想着等周一回报的时候一并给主管好了.但命运就是如此捉弄我,距离汇报还有不到两个小时的时候,我 ...

  8. u盘文件打不开如何解决?恢复U盘,看这些实用方案

    我们基本都有使用过U盘,但是随着时间的流逝,U盘有时候会出现一些问题:u盘文件打不开.遇到这种问题,我们是否会束手无策.不用担心,这里有一些比较实用的方案,能帮助你恢复U盘文件,解决U盘打不开的问题. ...

  9. u盘文件打不开了如何恢复

    u盘文件打不开了如何恢复 最近公司接受的客户真是奇葩多得多.这不,我们跟客户索要的文件资料,存了好几天才给送来,结果还是用个破u盘给快递来的.结果打开里面的文件都是乱码的,故障了.让他们用邮箱再给一遍 ...

最新文章

  1. Windows 比 Linux 好?我有 13 个反对理由
  2. Influxdb1.2.2安装
  3. SAP系统与外部系统的三种接口形式
  4. ITK:使用二项式内核模糊图像
  5. 不擅演讲的马化腾在 08 年讲了什么?
  6. sqoop把mysql数据导入hbase-完整记录
  7. Windows如何上传代码到Github
  8. o_rdonly_O_RDWR, O_CREAT等open函数标志位在哪里定义? | 学步园
  9. Vue中Three.js的天空盒
  10. 矩阵的对称性,自反性和反对称性的判断
  11. cleander日期转换
  12. netlogon启动后停止_【通告更新】漏洞EXP已流出,影响巨大,微软NetLogon权限提升漏洞安全风险通告第三次更新...
  13. iphone图片编辑画笔_iPhone手机最好的图片编辑软件有哪些?
  14. 开源(Open source)是什么?为什么要开源
  15. 基于JavaSwing开发画图软件 课程设计 小作业 大作业源码
  16. V4L2_Utils目标平台编译
  17. php判断来源网址地址并且限制非法来源
  18. Python中使用matplotlib画图时各种大小设置
  19. 金蝶云星空与管易云系统对接案例
  20. 随机梯度下降C语言,梯度下降法Gradient descent(最速下降法Steepest Descent)

热门文章

  1. arduino超声波蜂鸣报警器
  2. 省市区三级联动后台数据动态加载到页面并实现修改
  3. 数据库批量插入Insert ALL into报错ORA-00933:SQL命令未正确结束
  4. linux fork函数及其简单应用
  5. C语言 计算汉字长度
  6. 根据上下级关系统计数据
  7. 装修打地板时千万小心排污管
  8. 计算机键盘如何修理,电脑键盘出问题了该怎么办? 键盘清理修复教程
  9. Android WebView加载H5音视频自动播放、关闭Activity停止播放
  10. PotPlayer取消自动播放