U盘碎片化word文档的挽救

2019-03-14 12:42李喜英李保华
电脑知识与技术 2019年1期

李喜英 李保华

摘要:Word是人们工作、学习和生活中最为常用的文字处理软件,U盘作为移动存储设备为数据传输和存储带来极大的方便,但多种因素会造成U盘中文件的丢失或损坏,像Word文档等在U盘损坏后用普通软件很难恢复成功。该文基于对U盘文件管理机制的分析和Word文档的特征分析,给出了一种基于Winhex软件的碎片拼接的方法修复碎片化的Word文档。

关键词:文件丢失;FAT32;文档特征;Winhex;碎片拼接

中图分类号:TP311        文献标识码:A        文章编号:1009-3044(2019)01-0248-02

Word作为一种应用最为广泛的文字处理软件,已成为人们工作学习的一部分,但WORD文档在存储过程中可能出现丢失或损坏现象。

U盘小巧便携,在工作和生活中通常作为WORD文档资料的存储设备,但在使用过程中因病毒的破坏,产品本身质量问题或者用户的误删除、误格式化等不当操作等因素,U盘中的数据受损现象经常发生。U盘中丢失的图片、视频等类型的文件使用Final Data、万能数据恢复大师等软件都能成功地进行恢复,但对于Word等Office文档损坏后恢复起来常有失败情况发生。本文基于U盘分区管理机制分析、Word文档特征分析,给出一种通过碎片重组修复Word文档的方法。

1 FAT32格式的U盘管理

目前常规使用的U盘还多采用的是FAT32格式来实现文件管理,而Windows操作系统在进行U 盘格式化时也默认为FAT32。

1.1 FAT32文件系统

FAT32文件系统采用32位的文件分配(File Allocation Table)标识磁盘空间基本分配单元即簇的文件占用情况,可以胜任容量达到几十G磁盘的管理。FAT32格式的分区分为保留扇区、FAT区、数据区3个部分[1],具体分布情况如图1所示。分区管理信息占用空间也很少,有利于提高小容量存储介质的空间利用率。

1.2 FAT32格式的U盘管理

U盘是以闪存颗粒为存储载体的,其寿命受擦写次数的限制,许多存储颗粒标称的擦写次为1000000次,但事实上许多U盘只能擦写10000次左右。目前硬盘多采用的NTFS即便不进行文件数据读写,也需要因管理频繁地修改日志文件而擦写存储器,所以尽管FAT32有文件大小不能超过4GB的限制,但为了延长U盘的使用寿命,提高U盘空间的使用效率, U盘都多是首选采用FAT32格式。

FAT32的一个严重的缺点就是文件反复删除后,会形成大量的碎片,而有些用户为了便利直接对U盘上的文件反复编辑和保存,更加剧了文件的碎片化存储。由于普通用户很少反复编辑图片、影音等文件,这些文件大多都集中存储,出现问题时扫描恢复的结果都能正常使用,但碎片化存储的Word文档恢复时连续提取的不是Word文档自身的内容,自然也无法正常访问。

2 Winhex及Word文档特征分析

2.1 功能强大的WinHex

通过Winhex能以16进制形式查看和编辑磁盘上包含DBR分区信息和文件系统信息的所有信息。Winhex支持对磁盘上所有文件状态、目录项、空间分配和数据的查看,是一个专门用来检查和修复各种文件、恢复删除的文件、损坏的文件的软件。

2.2 Word文档的特征分析

Word由软件定制创建,其结构与PNG、JPG图片一样,也有固定的結构。采用Winhex软件对Word创建的.docx文件结构进行分析,可以清晰地看到文档的文件头和文件尾,由于分区是以簇为单位为文件分配空间,文档尾所在扇区在文档信息有效数据之后总会有16进制状态下显现的相当数量的连续的“00”存在,文档头之前的那个扇区尾部多数情况下了也会如此,所在通过Winhex下的数据分析,可以准确锁定Word文档的首尾。

3 碎片化的Word文档修复

前段时间有同事拿过来一个U盘,说是不小心删除了几个文件,其中包含几张图片和两三个Word文档,希望能够恢复丢失的数据。经仔细询问,他的很多文稿都是在U盘上编辑多次、反复保存的。

3.1 应用常规软件进行文档修复

拿到U盘后,先尝试用性能较为稳定的Final Data软件扫描磁盘,对识别出来误删除的图片文件进行恢复,几张丢失的图片都成功地恢复了出来,但恢复出的word文档对象却无法访问,尝试打开时,总弹出如图4所示的内容无法读取的提示。后来进行网络调查,进一步用性能出众的360 U盘数据恢复、R-Studio等的软件针对磁盘上的Word文档进行扫描和恢复,结果都与Final Data相同。

深入思考后,怀疑时FAT32格式的性能和反复编辑造成的文档碎片化造成的修复失败,通过Winhex查看修复后文件的内容,发现文件没一个具有完整的文件结构,也就无法接受正常访问。

3.2 应用Winhex进行文档修复

通过Winhex打开U盘后看到该磁盘分区的文件目录情况显示如图5所示,其中名为“1.docx”且标记为“?”, 即已删除的文件即为用户要恢复的对象。该文件名对应有多个目录项是用因为用户反复编辑、文件逐渐扩大、多次转存造成的。

分析文档大小和修改时间,选择图中加深显示的对象为最终的文档对象,初步恢复后果然也无法访问。查看该目录项后,通过查看文件的“位置/簇列表”信息得到文件目录中所记录的文件位置,文件首处于分区的第98簇,共占用91簇。通过Windex软件的定位功能,查看分区的第98簇,该簇第一扇区就是Word文档的文件头。继续通过定位功能去查看分区的FAT表,其中显示该分区的第98簇到第130簇、第214簇到第247簇、第273簇到第322簇三个依次区域标记为未分配状态,这三个碎片共计有116簇,共计约650KB的空间,与用户所反映文件大小大致一致。进行转到第322簇进行观察,发现该簇的第3扇区中包含有完整的Word文档尾,且在该扇区尾部有连续的16进制的“00”数据出现,可判断为文件的结尾。

通过Winhe数据块选择和置入文件功能将提取三个碎片区的数据分别提取出来,再按文档头、数据块、文档尾的顺序将三个数据块拼接成一个文件,拼接后的文件更名为.docx文档。

尝试用word软件打开恢复出的文件,初次访问时由于提取的数据块中包含少量其他的数据碎片,会弹出如图4所示的“Word在*中发现无法读取的内容。是否恢复此文档的内容?如果您信任此文档的来源,请单击是”的提示,在此请单击按钮“是”选择信任,即可正常查看Word文稿中所有内容。文档正常查看后,请再次进行保存操作,经再次保存后,修复时文件中所包含的其他文件遗留的干扰数据即可清除,最终文件大小即与原目标文件大小相当,文档即可正常使用。

4 总结

许多成熟的软件为U盘的数据安全和数据恢复提供了有效的保障,能够快速恢复许多集中存储的文件,本文也提出一种基于Winhex的数据分析和碎片拼接、实现Word文档恢复的思路,但当U盘里丢失了大量的Word文档,且隶属于多个文件的大量碎片严重掺杂时,数据的恢复将很难实现。因而,U盘使用中选择合适的文件系统、正常卸载插拔、经常查杀病毒、经常整理碎片,文件在计算机上编辑保存后再拷贝到U盘中,使文件尽量少的碎片化存储,都可以有效地降低您信息丢失的风险。

参考文献:

[1] 武春岭.数据恢复技术[M].高等教育出版社,2016:65-70,104-106.

[2] 刘伟. 数据恢复技术深度揭秘[M].2版.电子工业出版社,2012:55-58,229-267.