Всем доброго дня!
Решил тут сделать форматирование флешки в своем приборе на МК. Смотрю описание FAT от Microsoft. Написано что загрузочный сектор BPB должен находится в нулевом 512-байтном физическом секторе флешки. Открываю WinHex в разделе Physical Media отформатированную флешку и вижу совсем не то, что должно быть

1. Что за "Unpartitioned space"? Почему 0xE9 находится на таком смещении от начала?
Если у кого есть более детальное и точное описание FAT32, напишите ссылку на ресурс. А то даже не знаю где расположить FAT таблицу.
Еще вот такая "непонятка". Раздел 3.6. Microsoft FAT Specification
3.6 Backup BPB Structure
Loss (inability to retrieve contents) of sector #0 (containing the BPB) could lead to catastrophic
data loss due to possible inability to mount the volume. On FAT32 formatted volumes, sector #6
must contain a copy of the BPB.
The BPB_BkBootSec field contains the value 6 for both copies of the BPB (the one in sector 0
and the backup copy located in sector 6).
Volume repair utilities are expected to retrieve contents of the BPB from sector #6 in a situation
when sector #0 is unreadable.
NOTE: Starting at the BPB_BkBootSec sector is a complete boot record. The Microsoft FAT32
”boot sector” is actually
three sectors long. There is a copy of all three of these sectors starting at
the BPB_BkBootSec sector. A copy of the FSInfo sector (see Section 5) is also there, although
the BPB_FSInfo field in this backup boot sector is set to the same value as is stored in the
sector #0 BPB.
2. Про какие еще 3 загрузочных сектора речь? Все ж в 1 умещается. 1 BPB и еще один вспомогательный FsInfo. BPB копируется в 6-й сектор.
3. А FsInfo куда?
4. Вот здесь
wiki FAT32 написано, что размер кластера может быть до 32КБ, а в опциях форматирования в Windows можно и 64КБ. Насколько "несовместимым" для других устройств будет диск с таким форматированием? Будут ли ошибки?
5. С какого сектора начинается FAT таблица индексов, какая кратность должна быть у адреса этого сектора относительно размера кластера? По какому адресу раполагается копия таблицы индексов? Пишут что они расположены последовательно, но ведь есть разбиение на кластеры и физические блоки и в общем случае количество индексов и размер логических и физических блоков могут несовпадать
-------------------------------
Сейчас сделал низкоуровневое стирание флешки и отформатировал средствами windows и 0xEB, 0x??, 0x90 (что равнозначно 0xE9 указанному мной выше, но в том случае форматировалась карточка фотоаппаратом) оказалась все-таки в нулевом секторе без всяких там смещений. Видимо, MBR был в начале, а уж потом загрузочный FAT сектор. Притом смещение разное на разных флешках. В случае с флешкой MBR может и отсутствовать
Сообщение отредактировал kolobochishe - Nov 5 2016, 12:31