FAT32中文版分析+补充(2)
来源:互联网 发布:手机上网域名被劫持 编辑:程序博客网 时间:2024/05/16 09:41
原文地址:FAT32中文版分析+补充(2)作者:消逝的岁月
从Offset36(0x24)开始FAT12/16的内容开始区别于FAT32,现在分两个表格列出来,下表为FAT12/16的内容:
名称Offset(Byte)大小(Byte)描述BS_drvNum36(0x24)1用于BIOS中断0x13得到磁盘驱动器参数,(0x00为软盘,0x80为硬盘)。NOTE:此域的值实际上由操作系统来决定。BS_Reserved1(壹)37(0x25)1保留(供NT使用),格式化FAT卷时必须把此域设置为0。BS_BootSig38(0x26)1扩展引导标记(0x29),用于指明此后的三个域可用。BS_VolID39(0x27)4卷标序列号,此域以BS_VolLab一起,可用用来检测磁盘是否正确,FAT文件系统可用用此判断连接的可移动磁盘是否正确,此域往往是由时间和日期组成的一个32位值。BS_VolLab43(0x2B)11磁盘卷标,此域的值必须与根目录中11字节长的卷标一致。
NOTE:FAT文件系统必须保证在根目录的卷标文件更改或是创建的同时,此域的内容能得到及时的更新,当FAT卷没有卷标时,此域的内容为“NONAME”。BS_FileSysType54(0x36)8以下的几种之一:“FAT12”、“FAT16”、“FAT32”。
NOTE:不少人错误认为FAT文件系统的类型由此域来确定,仔细点你就能发现此域并不是BPB的一部分,只是一个字符串而已,Microsoft的操作系统并不使用此域来确定FAT文件的类型,因为它常常被写错,或是根本不存在,后面将讨论如何来检测一个FAT文件系统的类型,但不管如何,建议您在此域填写正确信息,因为一些非Microsoft的操作系统会检测此域。
下标为FAT32的内容:
Bits 0~3:不小于0的活动FAT(active FAT)数目,只有在镜像
Bits 4~6:保留;
Bits 7:——0
Bits 8~15:保留。
NOTE:磁盘工具在改变根目录位置时,必须想办法让磁盘上的第一个非坏簇作为根目录的第一个簇(比如第2簇,除非它已经被标记为坏簇),这样的话,如果此域正好为0的话,磁盘检测工具也能很轻松地找到根目录所在簇的位置。BPB_FSInfo48(0x30)2此域FAT32特有。保留区中FAT32卷FSINFO结构所占的扇区数,通常为1。
NOTE:在BackupBoot中会有一个FSINFO的备份,但该备份只是更新其中的指针,也就是说无论是主引导记录,还是备份引导记录都是指向同一个FSINFO结构。BPB_BkBootSec50(0x32)2此域FAT32特有。如果不为0,表示在保留区中引导记录的备份数据所占的扇区数,通常为6。同时不建议使用6以外的其他数值。BPB_Reserved52(0x34)12此域FAT32特有。用于以后的FAT扩展使用,对于FAT32,此域用0填充。BS_DrvNum64(0x40)1与FAT12/FAT16的定义相同,只不过两者位于启动扇区不同位置而已。BS_Reserved165(0x41)1与FAT12/FAT16的定义相同,只不过两者位于启动扇区不同位置而已。BS_BootSig66(0x42)1与FAT12/FAT16的定义相同,只不过两者位于启动扇区不同位置而已。BS_VolID67(0x43)4与FAT12/FAT16的定义相同,只不过两者位于启动扇区不同位置而已。BS_FileSysType71(0x47)11与FAT12/FAT16的定义相同,只不过两者位于启动扇区不同位置而已。BS_FileSysType82(0x52)8通常设置为“FAT32”,请参照FAT12/FAT16部分关于此域的陈述,该域的内容和FAT类型的判定无关。
关于FAT的启动扇区还有一点重要的说明:我们假设里面的内容是按照字节排序的,那么扇区[510]的内容一定是0x55,扇区[511]的内容一定是0xAA。
NOTE:很多FAT的资料文档会错误地把0xAA55说成是“启动扇区最后两字节的内容”,这样的陈述是正确的,如果,仅仅是如果——BPB_BytesPerSec的值为512的话。若是BPB_BytesPerSec的值大于512,该标记的位置并没有变(虽然在启动扇区的最后两个字节写上0xAA55完全没有问题)。
0 0
- FAT32中文版分析+补充(2)
- FAT32中文版分析+补充(1)
- FAT32中文版分析+补充(3)
- FAT32中文版分析+补充(4)
- FAT32中文版分析+补充(5)
- FAT32中文版分析+补充(6)
- FAT32资源整理(2)
- FAT32目录项分析
- fat32分析一
- FAT32分析二
- FAT32文件系统的FAT表分析(二)
- FAT32文件系统之目录项分析 (四)
- 文件啊文件(2)FAT32格式~
- WebWork2教程(中文版)补充-例子源代码下载
- Linux kernel FAT32文件系统分析
- FAT32 长文件名例子分析
- Linux kernel FAT32文件系统分析
- Linux kernel FAT32文件系统分析
- SD卡的SPI模式的初始化顺序
- 深入理解typedef
- 深入理解指针函数
- 文件分配表(FAT)
- FAT32中文版分析+补充(1)
- FAT32中文版分析+补充(2)
- FAT32中文版分析+补充(3)
- FAT32中文版分析+补充(4)
- FAT32中文版分析+补充(5)
- FAT32中文版分析+补充(6)
- 使用IAR的一些技巧:改字体…
- ZigBee-OSAL初始化流程
- ZigBee-OSAL主循环流程
- msp430的中断优先级和中断嵌套(及容易理解错误的说明)