Стурктура раздела FAT 16 | ||||
Смещение | Длина (сект.) | Тип | Описание | |
---|---|---|---|---|
0 | 1 | BR | Загрузочный сектор | |
1 | r-1 | Зарезервированные сектора | ||
r | f*2 | FAT | Таблица размещения файлов FAT | |
r+f*2 | d | DIR | Корневая директория | |
r+f*2+d | всё оставшееся | Кластеры (начальный кластер — #2) |
Пояснения к таблице:
Структура загрузочного раздела FAT-12, FAT-16 | |||||
Имя | Смещение | Длина | Тип | Описание | Значения |
---|---|---|---|---|---|
BS_jmpNop | 0000h | 3 | программа | jump + nop | EBh xx 90h или E9h xx xx |
BS_OEMName | 0003h | 8 | строка | OEM-имя | MSDOS или MSWIN4.1 |
BPB_BytesPerSec | 000Bh | 2 | целое | Байтов в секторе | 512 (обычно), 1024, 2048, 4096 |
BPB_SecPerClus | 000Dh | 1 | целое | Секторов в кластере | |
BPB_RsvdSecCnt | 000Eh | 2 | целое | Зарезервированных секторов | |
BPB_NumFATs | 0010h | 1 | целое | Копий FAT | 2 (обычно) |
BPB_RootEntCnt | 0011h | 2 | целое | Макс. записей в корне | 0 для FAT-32 |
BPB_TotSec16 | 0013h | 2 | целое | Секторов всего (<32 Мибайт) | 0 — используется BPB_TotSec32 |
BPB_Media | 0015h | 1 | код | Тип носителя | F0h — сменный носитель, F8h — несменный |
BPB_FATSz16 | 0016h | 2 | целое | Секторов на FAT | 0 для FAT-32 |
BPB_SecPerTrk | 0018h | 2 | целое | Секторов на трек | |
BPB_NumHeads | 001Ah | 2 | целое | Головок | |
BPB_HiddSec | 001Сh | 4 | целое | Скрытых секторов | Обычно 0 |
PBP_TotSec32 | 0020h | 4 | целое | Секторов всего | 0 — используется BPB_TotSec16 |
В случае FAT-12 или FAT-16 | |||||
BS_DrvNum | 0024h | 1 | код | Номер устр-ва (для int13) | 00h — НГМД, 80h — НЖМД |
BS_Reserved1 | 0025h | 1 | код | Зарезервировано для NT | 00h при форматировании |
BS_BootSig | 0026h | 1 | код | Сигнатура дополнения | 29h |
BS_VolID | 0027h | 4 | код | Серийный номер | Обычно дата-время форматрирования |
BS_VolName | 002Bh | 11 | текст | Имя устройства | Должно совпадать с записью в корневой директории. "NO NAME ", если нет имени. |
BS_FilSysType | 0036h | 8 | текст | Имя FAT | "FAT12", "FAT16", "FAT" |
003Eh | 448 | программа | Программа загрузчика | ||
01FEh | 2 | код | Сигнатура исполнимого кода | 55h AAh | |
В случае FAT-32 | |||||
BPB_FATSz32 | 0024h | 4 | целое | Секторов на 1 копию FAT | |
BPB_ExtFlags | 0028h | 2 | биты | Дополнительные флаги | биты 0—3 — актуальная копия FAT (если отключено отражение), бит 7 — отражение FAT в реальном времени |
BPB_FSVer | 002Ah | 2 | число | Версия ФС. | 0000h — актуальная версия |
BPB_RootClus | 002Ch | 4 | число | Кластер корневой директории | 2 (обычно) |
BPB_FSInfo | 0030h | 2 | число | Сектор FSINFO | 1 (обычно) |
BPB_BkBootSec | 0032h | 2 | число | Сектор с копией бутблока | 6 (обычно) |
BPB_Reserved | 0034h | 12 | – | Резерв | |
BS_DrvNum | 0040h | 1 | код | Номер устр-ва (для int13) | 00h — НГМД, 80h — НЖМД |
BS_Reserved1 | 0041h | 1 | код | Зарезервировано для NT | 00h при форматировании |
BS_BootSig | 0042h | 1 | код | Сигнатура дополнения | 29h |
BS_VolID | 0043h | 4 | код | Серийный номер | Обычно дата-время форматрирования |
BS_VolName | 0047h | 11 | текст | Имя устройства | Должно совпадать с записью в корневой директории. "NO NAME ", если нет имени. |
BS_FilSysType | 0052h | 8 | текст | Имя FAT | "FAT32" |
005Ah | 420 | программа | Программа загрузчика | ||
01FEh | 2 | код | Сигнатура исполнимого кода | 55h AAh |
Значения номеров кластеров | |||
FAT12 | FAT16 | FAT32 | Значение |
---|---|---|---|
000h | 0000h | 00000000h | Свободный кластер |
002h — FF6h | 0002h — FFF6h | 00000002h — 0FFFFFF6h | Кластер в начале или середине цепочки (номер означает следующий в цепочке) |
FF7h | FFF7h | 0FFFFFF7 | Сбойный кластер |
FF8h — FFFh | FFF8h — FFFFh | 0FFFFFF8h — 0FFFFFFFh | Последний кластер в цепочке |
Структура записи директории FAT | ||||
Смещение | Длина | Тип | Описание | Значения |
---|---|---|---|---|
00h | 8 | текст | Имя файла до расширения | |
08h | 3 | текст | Расширение | |
0Bh | 1 | биты | Атрибуты | Бит 0 — метка тома, бит 1 — директория, бит 2 — скрытый, бит 3 — системный, бит 4 — только чтение, бит 5 — архивный |
0Сh | 1 | – | Резерв для NT | 0 |
0Dh | 1 | целое | 1/10 секунд создания | ![]() |
0Eh | 2 | целое | Минуты и часы создания | (только LFN) |
10h | 2 | целое | Дата создания | (только LFN) |
12h | 2 | целое | Дата последнего обращения | (только LFN) |
14h | 2 | – | Резерв для OS/2 | 0 |
16h | 2 | целое | Время (в 2 с интервалах) | |
18h | 2 | целое | Дата | |
1Ah | 2 | целое | Кластер | |
1Ch | 4 | целое | Длина в байтах |