理清楚了文件系统的结构以后就可以开始写代码咯·写设计一下代码的结构吧,从上文硬盘的结构和文件系统的安排,同样,我们也应该做五个步骤的数据结构。
先来看第一个:MBR数据结构
typedef __packed struct
{
CHAR psPartCode[512-64-2]; //MBR的引导程序
BYTE psPart[64]; //DPT
BYTE psBootSectSig0; //结束符
BYTE psBootSectSig1;
#define BOOTSIG0 0x55
#define BOOTSIG1 0xaa
}PARTSECTOR;
其中DPT的数据很重要,建立数据结构如下:DPT数据结构
typedef __packed struct // length 16 bytes 长度为十六位
{
BYTE prIsActive; //0x80表示此分区有效
BYTE prStartHead; //分区的开始磁头
WORD prStartCylSect; //开始柱面与扇区
BYTE prPartType; //分区类型
BYTE prEndHead; //分区的结束头
WORD prEndCylSect; //分区结束柱面与扇区
DWORD prStartLBA; //分区的第一个扇区
DWORD prSize; //分区的大小
}PARTRECORD;
出去测试了,做点其他的,下次继续·····