您好,欢迎访问华信数据恢复网站

数据恢复

致力于打造权威数据恢复品牌

联系客服

FAT文件系统原理四(6)

时间:2013年05月23日信息来源:不详 点击: 【字体:

    系统在存储长文件名时,总是先按倒序填充长文件名目录项,然后紧跟其对应的短文件名。从表15可以看出,长文件名中并不存储对应文件的文件开始簇、文件大小、各种时间和日期属性。文件的这些属性还是存放在短文件名目录项中,一个长文件名总是和其相应的短文件名一一对应,短文件名没有了长文件名还可以读,但长文件名如果没有对应的短文件名,不管什么系统都将忽略其存在。所以短文件名是至关重要的。在不支持长文件名的环境中对短文件名中的文件名和扩展名字段作更改(包括删除,因为删除是对首字符改写E5H),都会使长文件名形同虚设。长文件名和短文件名之间的联系光靠他们之间的位置关系维系显然远远不够。其实,长文件名的0xD字节的校验和起很重要的作用,此校验和是用短文件名的11个字符通过一种运算方式来得到的。系统根据相应的算法来确定相应的长文件名和短文件名是否匹配。这个算法不太容易用公式说明,我们用一段c程序来加以说明。
    假设文件名11个字符组成字符串shortname[],校验和用chknum表示。得到过程如下:

    int i,j,chknum=0;
    for (i=11; i>0; i--)
        chksum = ((chksum & 1) ? 0x80 : 0) + (chksum >> 1) + shortname[j++];

    如果通过短文件名计算出来的校验和与长文件名中的0xD偏移处数据不相等。系统无论如何都不会将它们配对的。
    依据长文件名和短文件名对目录项的定义,加上对簇的编号和链接,FAT32上数据的读取便游刃有余了。

五、结束。

本文出自数据恢复网(www.sjhf.net),疏漏在所难免,希望指正。若需转载请保留此信息;若需修改,请用以下方式与作者取得联系
    1、http://www.sjhf.net
    2、zymail@vip.sina.com
    3、sjhf@sjhf.net

本新闻共6页,当前在第6页  1  2  3  4  5  6  


(作者:佚名 编辑:admin)
延伸阅读: