Filesystems 了解FAT16

Filesystems 了解FAT16,filesystems,fat,fat16,Filesystems,Fat,Fat16,我正在开发一个基于闪存的USB大容量存储设备,带有FAT16文件系统。 它工作正常,但是我很难理解脂肪部分发生了什么 开始时,我有一个文件,根目录上有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表示该集群是该文件链中的最后一个集群 到目前为止还不错

我正在开发一个基于闪存的USB大容量存储设备,带有
FAT16
文件系统。 它工作正常,但是我很难理解脂肪部分发生了什么

开始时,我有一个文件,根目录上有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表示该集群是该文件链中的最后一个集群

到目前为止还不错

但是。。。当我将实际文件的大小扩展到4032字节时,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段。

指出我使用的是FAT12,而不是FAT16


FAT12-16的区别在于集群的数量,而不是在引导扇区中写入的字符串。

指出我使用的是FAT12而不是FAT16

FAT12-16以集群的数量而不是在引导扇区中写入的字符串来区分