了解FAT16

时间:2013-05-29 09:16:19

标签: filesystems fat fat16

我正在开发一个带有FAT16文件系统的基于闪存的USB大容量存储设备。 它工作正常,但是我很难理解FAT段上发生的事情。

当我开始时,我有一个文件,根目录长56个字节,长32位,数据存储在第二个簇(0和1不能用于FAT)。

如果我查看FAT段的内存转储,我看到:

f8 ff ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00... zeros until the end

据我了解,最后一个0xFFFF表示此群集是此文件链中的最后一个群集。

到目前为止一切顺利。

但是 ...当我将实际文件的大小扩展到4,032字节时,FAT段变成

f8 ff ff 00 f0 ff 05 60 00 07 f0 ff 00 00 00 00 00... zeros until the end

有谁能解释这里发生了什么?

我看到几件我无法解释的事情:

1。为什么4系统保留字节会改变?

2。我看不到任何0xFFFF,这意味着群集链没有结束?

如果它对任何人有帮助,则块大小为512字节,文件系统的格式为每个群集2个段。

1 个答案:

答案 0 :(得分:1)

数字是FAT12,而不是我正在使用的FAT16。

FAT12-16通过簇的数量来区分,而不是在引导扇区中写入的字符串。