[Mona] FAT32 (2)
とりあえずルートディレクトリの列挙にはたどり着いた。
ただしちょっと自信がない。
ルートディレクトリ開始位置=bpb.hiddenSectors + bpb.reservedSectors + bpb.bigSectorsPerFAT * 2 + (bpb.rootDirStrtClus - 2) * bpb.sectorsPerCluster + VHD_HEAD_SIZE / 512; // *.vhd容量可変時のヘッダ(サイズによって動的にかわるっぽい)
手元のFAT32イメージだと解析するとこんな感じ
mbr.partitionTable[0].bootDescriptor=128 mbr.partitionTable[0].fileSystemDescriptor=12 mbr.partitionTable[0].firstSectorNumbers=3f mbr.partitionTable[1].bootDescriptor=0 mbr.partitionTable[1].fileSystemDescriptor=0 mbr.partitionTable[1].firstSectorNumbers=0 mbr.partitionTable[2].bootDescriptor=0 mbr.partitionTable[2].fileSystemDescriptor=0 mbr.partitionTable[2].firstSectorNumbers=0 bpb.bytesPerSector=512 bpb.sectorsPerCluster=16 bpb.reservedSectors=32 bpb.numberOfFATs=2 bpb.rootEntries=0 bpb.totalSectors=0 bpb.mediaDescriptor=248 bpb.sectorsPerFAT=0 bpb.sectorsPerTrack=63 bpb.heads=32 bpb.hiddenSectors=63 bpb.bigTotalSectors=1052289 bpb.bigSectorsPerFAT=514 bpb.extFlags=0 bpb.FS_Version=0 bpb.rootDirStrtClus=2 bpb.FSInfoSec=1 bpb.bkUpBootSec=6