在 FAT 文件系统中,为什么数据区从第 2 簇开始?

在 FAT 文件系统中,为什么数据区从第 2 簇开始?

对于 FAT 文件系统,要执行簇到扇区的计算,有据可查的是...

StartOfDataArea + ((ClusterNum - 2) * SectorsPerCluster) 

...将计算簇中的第一个扇区。

为什么要从簇号中减去 2 这个值?大多数解释都说这是因为数据区域实际上从簇 2 开始,但为什么呢?计算中考虑的两个簇在哪里?

答案1

前两个扇区保存特殊数据,因此在计算中省略。

您可以在维基百科中找到信息 FAT文件系统的设计, 部分 文件分配表

FAT 中的前两个条目存储特殊值:

第一个条目(FAT 中的簇 0)保存 FAT ID [...文本已删除...]

第二个条目(FAT 中的簇 1)名义上存储了格式化程序使用的簇链结束标记,但通常始终保存 0xFFF / 0xFFFF / 0x0FFFFFFF,也就是说,除了 FAT32 卷上的位 31-28 之外,这些位通常始终被设置。

相关内容