Завантажувальний сектор знаходиться в першому секторі файлової системи FAT і містить основну частину даних, таких, що відносяться до категорії файлової системи. FAT 12/16 і FA32 містять різні версії завантажувального сектора, хоча початкові 36 байт в них співпадають. Структура даних перших 36 байтів приведена в таблиці.
Структура даних перших 36 байтів завантажувального сектора FAT
Діапазон | Опис | Необхідність |
0–2 | Асемблерна команда переходу до завантажувального коду | Ні |
3–10 | Ім'я OEM в кодуванні ASCII | Ні |
11–12 | Кількість байтів в секторі. Допустимі значення – 512, 1024, 2048 и 4096 | Так |
13–13 | Кількість секторів в кластері (блоці даних). Допустимі значення задаються мірами 2, але розмір кластера не повинен перевищувати 32 Кбайт | Так |
14–15 | Розмір зарезервованої області в секторах | Так |
16–16 | Кількість копій FAT. Зазвичай в системі зберігаються дві копії, але, по документації Microsoft, для пристроїв малої місткості допускається зберігання тільки однієї копії | Так |
17–18 | Максимальна кількість файлів в кореневому каталозі для FAT12 і FAT16. У FAT32 поле дорівнює 0, а в FAT16 воно зазвичай рівне 512 | Так |
19–20 | 16-розрядна кількість секторів у файловій системі. Якщо кількість секторів не може бути представлена 2-байтовою величиною, пізніше в структурі даних слідує альтернативне 4-байтове поле (а 2-байтове поле має дорівнювати нулю) | Так |
21–21 | Тип носія. Згідно документації Microsoft, для стаціонарних дисків використовується значення 0xf8, а для знімних – 0xf0 | Ні |
22–23 | 16-розрядний розмір (у секторах) кожної копії FAT в FAT12 і FAT16. У FAT32 поле дорівнює 0 | Так |
24–25 | Кількість секторів в доріжці | Ні |
26–27 | Кількість голівок | Ні |
28–31 | Кількість секторів перед початком розділу | Ні |
32–35 | 32-розрядна кількість секторів у файловій системі. Або це поле, або 16-розрядне поле (19-20) має бути рівне 0 | Так |
Команда в першому полі завантажувального сектора (байти 0-2) повідомляє комп'ютер, де знаходиться код, необхідний для завантаження операційної системи. Якщо файлова система не використовується для завантаження комп'ютера, це значення ігнорується. DOS і Windows вимагають, щоб значення поля задавалося і для файлових систем, що не є завантажувальними, а в інших ОС (наприклад, Linux) така вимога відсутня.
Починаючи з байта 36, між структурами завантажувального сектора FAT12/FAT16 і FAT32 починаються розбіжності. У них співпадає тільки сигнатура 0x55 (байт 510) і 0хАА (байт 511). Зверніть увагу: ця ж сигнатура використовується в першому секторі таблиці розділів DOS (ми ще зустрінемося з нею в першому секторі NTFS). Структура інших байтів завантажувального сектора FAT12 і FAT16 приведена в таблиці.
Структура даних частини завантажувального сектора, що залишилася, в FAT12/16
Діапазон | Опис | Необхідність |
0–35 | Дивися попередню таблицю | Так |
36–36 | Номер диска BIOS INT13h | Ні |
37–37 | Не використовується | Ні |
38–38 | Розширена сигнатура, яка показує, чи дійсні наступні три значення. Сигнатура рівна 0x29 | Ні |
39–42 | Серійний номер тому; у деяких версіях Windows обчислюється на підставі дати і часу створення | Ні |
43–53 | Мітка тому в кодуванні ASCII. Вибирається користувачем при створенні файлової системи | Ні |
54–61 | Мітка типу файлової системи в кодуванні ASCII Стандартні значення - "FAT", "FAT 12" і "FAT 16", але жодне з них не є обов'язковим | Ні |
62–509 | Не використовується | Ні |
510–511 | Сигнатура (0xAA55). | Ні |
Структура інших даних завантажувального сектора FAT32 приведена в таблиці
Структура даних частини завантажувального сектора, що залишилася, в FAT32
Діапазон | Опис | Необхідність |
0–35 | Дивися попередню таблицю | Так |
36–39 | 32-розрядний розмір однієї копії FAT (у секторах) | Так |
40–41 | Режим оновлення декількох структур FAT. Якщо біт 7 рівний 1, активна тільки одна копія FAT, індекс якої визначається розрядами 0-3. Інакше усі структури FAT є дзеркальними копіями один одного | Так |
42–43 | Основний і додатковий номер версії | Так |
44–47 | Кластер, в якому знаходиться кореневий каталог | Так |
48–49 | Сектор, в якому знаходиться структура FSINFO | Ні |
50–51 | Сектор, в якому знаходиться резервна копія завантажувального сектора (за умовчанням 6) | Ні |
52–63 | Зарезервовано | Ні |
64–64 | Номер диска BIOS INT13h | Ні |
65–65 | Не використовується | Ні |
66–66 | Розширена сигнатура, яка показує, чи дійсні наступні три значення. Сигнатура рівна 0x29 | Ні |
67–70 | Серійний номер тому; у деяких версіях Windows обчислюється на підставі дати і часу створення | Ні |
71–81 | Мітка тому в кодуванні ASCII. Вибирається користувачем при створенні файлової системи | Ні |
82–89 | Мітка типу файлової системи в кодуванні ASCII. Стандартне значення - "FAT 32", але воно не є обов'язковим | Ні |
90–509 | Не використовується | Ні |
510–511 | Сигнатура (0xAA55) | Ні |
Основна відмінність між завантажувальними секторами FAT12/16 і FAT32 полягає в тому, що сектор FAT32 включає додаткові дані, які роблять файлову систему гнучкішою і покращують її масштабованість. Можливі різні стратегії оновлення структур FAT і створення резервних копій завантажувального сектора. Також існує поле версії, але, схоже, на момент написання в продуктах Microsoft використовувалася тільки одна версія.
Вміст діапазону 62-509 в FAT12/16 і 90-509 в FAT32 не має певного призначення. Зазвичай ці байти використовуються для зберігання завантажувального коду і повідомлень про помилки.