我试图了解 FAT 文件系统是如何工作的。从附加的 FAT 16 分区的第一个扇区我可以理解,
- 每个扇区的字节数 = 512。
- 每个集群的扇区 = 4。
- FAT 16 文件系统。
- 保留扇区 = 4。
- FAT 表计数 = 2。
- 根目录中的条目数 = 512。
- 总扇区 = 204800。
- 根目录扇区 = 32。
- FAT 表的大小 = 200。
- 第一个数据扇区 = 436 (4 + 2 * 200 + 32)。
- 集群计数 = 51091。
根目录位于第 404 个扇区(第 0x32800 个字节)
附加地址 0x32800 的根目录。根目录有两个文件夹a、b 和一个文件file.txt。在上面的给定图像中,如何区分文件和文件夹。
下面列出的疑问: 1. 文件夹条目应该以 0x2E 开头,但没有这样的值。那么如何判断给定条目是文件还是文件夹呢?2. 如您所见,根目录中的每个条目占用 64 个字节(而不是 32 个字节)。每个文件和文件夹似乎有 2 个 32 字节的条目。例如,文件夹“a”的条目位于 0x32800 和 0x32820(共 64 字节)。3. 在这种情况下,值 0x41 表示什么?值 0x41 出现在 0x32800、0x32820、0x32840、0x32880。0x32860 和 0x328A0 处的值与 0x41 不同。4. 从地址 0x32800 (0x32800 + 0x1a = 0x3281a) 的偏移量 0x1A 的值为 0,从地址 0x32820 (0x32820 + 0x1a = 0x3283a) 的偏移量 0x1A 的值为 3. 对应于文件夹 'a' 的正确簇号是哪个?