关于FAT文件格式的问题

honglqin 2011-09-26 10:37:44
许多资料中说FAT32文件系统中FAT表结束簇标记是0xFFFFFFF8~0xFFFFFFFF
但我看到的又有一部分人说是0x0FFFFFFF。究竟那个才是正确的?
还有的就是FAT16的结束簇标记是不是0xFFFF?
请高手指点啊。
...全文
119 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
honglqin 2011-09-27
  • 打赏
  • 举报
回复
顶啊!!!!!!!!!!!!!!
woshi_ziyu 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 honglqin 的回复:]
许多资料中说FAT32文件系统中FAT表结束簇标记是0xFFFFFFF8~0xFFFFFFFF
但我看到的又有一部分人说是0x0FFFFFFF。究竟那个才是正确的?
还有的就是FAT16的结束簇标记是不是0xFFFF?
请高手指点啊。
[/Quote]
帮顶
honglqin 2011-09-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 honglqin 的回复:]
可是我查看我的SD卡,它是以0x0FFFFFFF结束的。
[/Quote]

那FAT16就是以0xFFFF结束咯。
Ei 2011-09-26
  • 打赏
  • 举报
回复
FAT32白皮书好像提到过 微软是以0x0FFFFFFF,但是其他的工具可能会以其他值。。0x0ffffff8-0x0fffffff
honglqin 2011-09-26
  • 打赏
  • 举报
回复
可是我查看我的SD卡,它是以0x0FFFFFFF结束的。
yangcuncunzhang 2011-09-26
  • 打赏
  • 举报
回复
首先, FAT12, FAT16, FAT32是指文件分配表中每个簇用多少位来表示.
FAT12中每个簇用12位表示, 这种文件系统一般比较少见, 早期的软盘就是用这种文件系统的;
FAT16中每个簇用16位表示, 很多小容量的存储卡, 嵌入式系统内置Flash都用这种文件系统;
FAT32中每个簇用32位表示, 到现在FAT32还被广泛使用.

FAT12, FAT16, FAT32的文件分配表的记录项取值所表示的意义如下:

FAT12记录项取值________FAT16记录项取值___________FAT32记录项取值___________意义__________
=====================================================================================
000_______________________0000____________________00000000________________未分配的簇
002~~~FEF_________________0000~~~FFEF_____________00000002~~~FFFFFFEF_____已分配的簇
FF0~~~FF6_________________FFF0~~~FFF6_____________FFFFFFF0~~~FFFFFFF6_____系统保留的簇
FF7_______________________FFF7____________________FFFFFFF7________________坏簇
FF8~~~FFF_________________FFF8~~~FFFF_____________FFFFFFF8~~~FFFFFFFF_____文件结束簇


因此,FAT32的文件分配表中结束簇是FFFFFFF8~~~FFFFFFFF. 取值任何一个都是可以的,一般是用FFFFFFFF.

对于FAT16来说,簇结束标记就是FFF8~~~FFFF任意一个,一般用的是FFFF
yangcuncunzhang 2011-09-26
  • 打赏
  • 举报
回复
对于FAT16来说,簇结束标记就是FFF8~~~FFFF任意一个,一般用的是FFFF
yangcuncunzhang 2011-09-26
  • 打赏
  • 举报
回复
首先, FAT12, FAT16, FAT32是指文件分配表中每个簇用多少位来表示.
FAT12中每个簇用12位表示, 这种文件系统一般比较少见, 早期的软盘就是用这种文件系统的;
FAT16中每个簇用16位表示, 很多小容量的存储卡, 嵌入式系统内置Flash都用这种文件系统;
FAT32中每个簇用32位表示, 到现在FAT32还被广泛使用.

FAT12, FAT16, FAT32的文件分配表的记录项取值所表示的意义如下:

FAT12记录项取值________FAT16记录项取值___________FAT32记录项取值___________意义__________
=====================================================================================
000 0000 00000000 未分配的簇
002~~~FEF 0000~~~FFEF 00000002~~~FFFFFFEF 已分配的簇
FF0~~~FF6 FFF0~~~FFF6 FFFFFFF0~~~FFFFFFF6 系统保留的簇
FF7 FFF7 FFFFFFF7 坏簇
FF8~~~FFF FFF8~~~FFFF FFFFFFF8~~~FFFFFFFF 文件结束簇


因此,FAT32的文件分配表中结束簇是FFFFFFF8~~~FFFFFFFF. 取值任何一个都是可以的,一般是用FFFFFFFF.

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧