Відновлення інформації

Структура даних FAT

Завантажувальний сектор знаходиться в першому секторі файлової системи 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 не має певного призначення. Зазвичай ці байти використовуються для зберігання завантажувального коду і повідомлень про помилки.

Центр відновлення

Пн - Пт 10.00 - 17.00
Наукова, 7а. Львів.


Интернет реклама УБС