2 jdigreze
Это я в своём посте напутал с терминами ( долго вспоминал и обозвал по своему :-), да простят меня гуру в этой области и не закидают памидорами ), но суть одна и таже, хотя я считаю, что MBR (буквы S в конце нету) - это загрузочный блок длиной 446 байт (сидит в нулевом секторе). А за MBR следует Partition Table, которая может указывать на 4 PBRS сектора.
К логической структуре сейчас хорошая привязка. Пробовал форматировать на разных девайсах.
Алгоритм такой:
1) Читаю 0 сектор и анализирую первые три байта, если они EB,3C,90 то считаю, что это PBRS и MBR c Partition Table отсутствуют.
2) Иначе, считаю, что в нулевом секторе есть Partition Table и джамп на PBRS делаю оттуда.
3) Парсинг и проверки на совместимость с FAT16...
Всё это работает, если при форматировании MBR заполняется 00 или FF, я ещё не встречал чтобы было что-то другое. Но возможна корректировка алгоритма. Предложения?
2 skyther
Ссори за формат файла, сегодня вечером поправлю. Это "нечто" для debugera :-)




Ответить с цитированием