目录
环境描述
工具:winhex、32G SD卡一张
注:可以使用diskgenius格式化工具,功能更强大
分析过程
1.SD卡格式化
首先使用windows自带的工具将sd卡格式化
注:这里的分配单元大小实际是簇大小
2.使用winhex打开sd卡
使用winhex打开sd卡,我们想要看到MBR,所以这里选择物理驱动器
3.MBR分析
MBR由前512字节(446MBR+64DPT+55AA),这里显示的都是小端序
我们这里主要看DPT的信息, 分区表由4项组成,每项16个字节(Byte).共4×16 = 64字节(Byte)。
本次我们只分了一个分区,可以看出分区表其他都是0
存贮字节位 |
内容及含义 |
|
第1字节 |
引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。 |
00 |
第2、3、4字节 |
本分区的起始磁头号、扇区号、柱面号。其中: 磁头号——第2字节; 扇区号——第3字节的低6位; 柱面号——为第3字节高2位+第4字节8位。 |
20 --32磁头 21 --33扇区 00 --0-柱面 |
第5字节 |
分区类型符。 00H——表示该分区未用(即没有指定); 06H——FAT16基本分区; 0BH——FAT32基本分区; 05H——扩展分区; 07H——NTFS分区; 0CH --- Win95 FAT32 0FH——(LBA模式)扩展分区(83H为Linux分区等)。 |
0C --Win95 FAT32 |
第6、7、8字节 |
本分区的结束磁头号、扇区号、柱面号。其中: 磁头号——第6字节; 扇区号——第7字节的低6位; 柱面号——第7字节的高2位+第8字节。 |
FE--磁头号 FF--63扇区号 FF --1023柱面号 结束扇区为(1023柱面,254磁头,63扇区) |
第9、10、11、12字节 |
逻辑起始扇区号 ,本分区之前已用了的扇区数。 |
00080000,反过来就是00000800即2048 为该分区(起始逻辑扇区号与逻辑0扇区号之差。表示该分区前面已有2048个扇区,这2048个扇区为系统隐藏扇区。 |
第13、14、15、16字节 |
本分区的总扇区数。 |
FF37A403,反过来就是03A437FF,即61093887 表明该分区有61093887个扇区。即(0柱面,1磁头,1扇区)至(1023柱面,254磁头,63扇区)共有61093887个扇区。 |
1个扇区512字节,所以该分区大小为61093887/2/1024/1024=29G
从winhex分析看出和我们得出的结论一致:
4.DBR分析
给硬盘分区产生MBR→格式化硬盘分区产生DBR,所以先有MBR,然后才有DBR,也就是DBR存在于逻辑分区的位置
FAT32文件系统的DBR与FAT16的DBR很类似,也由5部分组成,分别为跳转指令、OEM代号、BPB、引导程序和结束标志
跳转指令:EB 58 90:本身占2字节它将程序执行流程跳转到引导程序处
OEM代号:这部分占8字节,其内容由创建该文件系统的OEM厂商具体安排。 当前DBR中的OEM代号为“MSDOS5.0”,说明这个FAT32分区是由微软的Windows 2000以上的操作系统格式化创建的
BPB: FAT32的BPB从第DBR的第12(0BH偏移处)个字节开始,占用79字节,记录了有关该文件系统的重要信息,其中各个参数的含义见下表
这些信息太杂乱,我们借助winhex的(查看==》模板管理器)