【问题标题】:Understanding FAT16了解 FAT16
【发布时间】:2013-05-24 11:33:54
【问题描述】:

我正在开发带有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 个段。

【问题讨论】:

    标签: filesystems fat fat16


    【解决方案1】:

    我使用的是 FAT12 而不是 FAT16。

    FAT12-16 以簇数区分,而不是写入引导扇区的字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-18
      • 1970-01-01
      • 2012-11-21
      • 2010-11-16
      • 2017-04-10
      • 2017-06-05
      相关资源
      最近更新 更多