【STM32 |
您所在的位置:网站首页 › 索引在目录的什么位置 › 【STM32 |
一、FAT1起始扇区 = DBR的扇区号 + 保留扇区数 1.获取DBR的扇区号 磁盘的0号扇区的 0X1C6~0X1C9是第一个分区的起始扇区,这个扇区就是DBR 下图是本人的磁盘的0号扇区,可以看到DBR的扇区号是0X00 00 00 3F(小端格式) 2.得到保留扇区数 打开DBR扇区,偏移0X0E~0X0F表示保留扇区数 由图可知保留扇区数为0X00 26. FAT1起始扇区 = DBR的扇区号 + 保留扇区数 = 0X3F + 0X26 = 0X65 打开扇区号为0X65的扇区,这就是FAT1的起始扇区 二 .FAT2的起始扇区 FAT2是紧邻FAT1的,所以 FAT2的起始扇区 = FAT1的起始扇区 + 一个FAT的扇区数 1.FAT1的起始扇区 按照上面的方法得到,本例是0X65. 2.一个FAT的扇区数 从DBR的偏移0X24~0X27得到,由第一个图可知本例是0X3A79。 FAT2的起始扇区 = FAT1的起始扇区 + 一个FAT的扇区数 = 0X65 + 0X3A79 = 0X3ADE 打开扇区号为0X3ADE的扇区,可以看到FAT2与FAT1是一样的。 三、根目录区 在FAT32文件系统中,根目录的位置不再硬性地固定,可以存储在分区内可寻址的任意簇内,不过通常根目录是最早建立的(格式化就生成了)目录表。 所以,我们看到的情况基本上都是根目录首簇紧邻FAT2,占簇区顺序上的第1个簇(即2号簇)。 同时,FAT32文件系统将根目录当做普通的数据文件来看,所有没有了目录项数的限制,在需要的时候可以分配空簇,存储更多的目录项。 根目录起始扇区 = 保留扇区数 + 隐藏扇区数+ 一个FAT的扇区数 × FAT表个数 + (起始簇号-2) x 每簇的扇区数 1.保留扇区数 从DBR的偏移0X0E~0X0F得到,本例是0X65. 2.一个FAT的扇区数 从DBR的偏移0X24~0X27得到,由第一个图可知本例是0X3A79。 3.FAT表个数 从DBR的偏移0X10得到,由第一个图可知本例是0X02。一般有两个FAT表,FAT1和FAT2。 4.起始簇号 从DBR的偏移0X2C~0X2F得到,由第一个图可知本例是0X00 00 00 02。 5.每簇的扇区数 从DBR的偏移0X0D得到,由第一个图可知本例是0X08,一个簇是8个扇区。 所以 根目录起始扇区 = 保留扇区数 + 隐藏扇区数 + 一个FAT的扇区数 × 2 + (起始簇号-2) x 每簇的扇区数 =FAT1的起始扇区号 + 一个FAT的扇区数 × 2 + (起始簇号-2) x 每簇的扇区数 = 0X26+0X3F + 0X3A79 * 2 + (0X2 - 2) * 8 = 0X7557 打开扇区号为0X7557的扇区
版权声明:本文为博主原创文章,转载请标明原文链接 https://blog.csdn.net/liyun123gx/article/details/38440225 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |