Wednesday, August 4, 2010

FAT32 DBR结构

typedef struct _FAT32_DBR
{
    BYTE Jmp[3];                                                //JMP instruction
    BYTE OEM[8];                                                //OEM
    INT16 Bytes_Per_Sector;
    INT16 Sectors_Per_Cluster;
    INT16 Reserved_Sectors;
    BYTE FAT_Count;                                        //Number of FATs
    INT16 Boot_Entries;                                    //Boot entries (unused)
    INT16 Sectors_Small;                                    //Sectors (<32MB, do not use for FAT32)
    BYTE Media;                                                    //Media descriptor (always is F8)
    INT16 Sectors_Per_FAT_Small;                //do not use for FAT32
    INT16 Sectors_Per_Track;
    INT16 Heads;                                                //磁头数
    INT32 Sectors_Hidden;                                //0 ~ DBR
    INT32 Sectors;                                                //Sectors (on large volumes)
    INT32 Sectors_Per_FAT;
    INT16 Flags;
    INT16 Version;
    INT32 Root_Dir_1st_Cluster;
    INT16 FSInfo_Sector;                                    //DBR占用扇区数
    INT16 Backup_Boot_Sector;                        //备份所在扇区
    BYTE Reserved[12];
    BYTE BIOS_Driver;
    BYTE Unused;
    BYTE Extend_Boot_Signature;                    //扩展引导标志 (0x29)
    INT32 Volume_SN;                                        //Volume serial number
    BYTE Volume_Label[11];
    BYTE File_System[8];                                    //FAT32
    BYTE Boot_Code[420];
    BYTE Signature[2];                                        //55 AA
}Fat32_DBR;

No comments:

Post a Comment