找回失落的文件 许成安 2001年 46期 由于工作关系,我们交换信息靠的是软盘,但我的同事无意中把存有资料的软盘给误格式化了。我用DIR命令查看软盘只有一句:File not found,据同事说当格式化到90%时发现操作错误,强行从软驱中取出软盘,但文件都没了。但软盘格式化没有正常结束,所以并非所有资料都被破坏。这让我增加了一丝的希望。   要对软盘进行字节级的操作,PCTOOLS可谓游刃有余了。先打开软盘的“地图”看看,原来第一是引导扇区,只占一个扇区,只有启动盘用得着它。接着是分配表(FAT表),它可是一个相当重要的区域,它是用来记录每个文件在磁盘上的位置的。随后是文件目录表(FDT表),该表描述文件名子目录、属性、生成或最后修改的日期和时间及文件的字节长度等等。接着就是文件内容。   知道了磁盘结构后,以下就是操作过程:启动PCTOOLS,按F3进入全盘操作,按F查找,选A盘,这时输入文件名,如:MCREPORTTXT(扩展名前的点不能输入),按回车开始查找,不一会显示已找到,按E键进入编辑状态,这时左边是16进制码区,右边是ASCII码区,光标停在所要找的字符上,从光标所在开始的两行就是该文件的目录项:   4D 43 52 45 50 4F 52 54 54 58 54 20 00 AF D1 AA 3E 2B 3E 2B 00 00 3D 8B 3E 2B 02 00 E7 6D 0A 00。0到7字节是文件名(DOS状态下),8到10字节是扩展名。11字节为属性项,这里是20,表示是文档文件,22到23字节是时间域,24到25字节是日期域。26、27字节是该文件的起始簇域。28到31字节是文件长度。虽然目录项没有被破坏,但系统现在不承认它,怎办呢?没问题,我们来招偷天换日。先记下以上两行数字,再键入DOS命令行,开一个目录,随便取个名,如ABCDEF,用刚才的方法,再用pctools找出该目录的目录项,如:41 42 43 44 45 46 20 20 20 20 20 10 00 41 21 55 41 2B 41 2B 00 00 22 55 41 2B DB 05 00 00 00 00可见此处11字节为10,表示是子目录,同时28到31字节为全0,因为目录没有长度。现在把这两行数字改为MCREPORT.TXT文件的那两行数字。然后按F5存盘,就这样,系统所承认的目录ABCDEF就摇身一变,变成文件MCREPORT.TXT了,好了,退出PCTOOLS用DIR命令查看,果然只有MCREPORT.TXT这文件,马上把它复制到C盘,复制成功,打开这个文件,经同事核实,一个字节也没有掉。   终于从被格式化的磁盘中找回失落的文件了。但冷静下来想想,幸运的是格式化没有完全完成,如果FAT表被破坏,那就没有找回的可能了。