FAT32 — Вікіпедія
FAT32 | |
---|---|
Розробник | Microsoft |
Файлова система | File Allocation Table 32 |
Дата представлення | 1996 (Windows 95 OSR2) |
Мітка тому | 0x0B EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 |
Структура | |
Структура директорій | лінійна |
Обмеження | |
Максимальний розмір файлу | 2 ГіБ (2,147,483,647 байт) |
Максимум файлів | 268,173,300 для 32 КіБ кластеру |
Максимальна довжина імені файлу | 8.3 формат, а також 255 символів при LFN |
Максимальний розмір тому |
|
Допустимі символи в назвах | UCS-2 за виключенням ascii-символів 0-31 та <>:"/\ |
Можливості | |
Властивості |
|
Діапазон дат | 1980-01-01 до 2099-12-31 |
Точність збереження дати |
|
Атрибути | Тільки читання, прихований, системний, архівний |
Права доступу | Частково для деяких операційних систем. |
Фонова компресія | За допомогою стороніх утілит та драйверів |
FAT32 (від англ. File Allocation Table - «таблиця розташування файлів») — ця файлова система підтримує томи (логічні диски) обсягом до 8 ТБ[1] і використовує для зберігання файлів менші фрагменти диска, ніж файлова система FAT16. Це збільшує вільний простір на диску. Файлова система FAT32 не підтримує диски, менші за 512 МБ[2].
Файлова система FAT32 була вперше реалізована в операційній системі Windows 95 OEM Service Release 2 (OSR2)[3].
Під час використання файлової системи FAT32 в операційній системі Windows XP потрібно враховувати такі обмеження:
- кластери не можуть мати розмір 64 кілобайта (КБ) та більше. У протилежному випадку деякі програми (зокрема, програми інсталяції) можуть неправильно визначати обсяг доступного простору на диску;
- том FAT32 повинен містити мінімум 65 527 кластерів. Не можна збільшити розмір кластера на томі FAT32 таким чином, щоб він містив менше 65 527 кластерів;
- максимальний обсяг простору на диску має становити приблизно 8 терабайт з урахуванням таких змінних: Максимально можлива кількість кластерів на томі FAT32 становить 268 435 445, при цьому максимально допустимий розмір кластера становить 32 КБ разом із простором, який потрібен для таблиці розміщення файлів (FAT);
- не можна зменшити розмір кластера на томі FAT32 таким чином, щоб розмір таблиці FAT перевищив значення, рівне 16 МБ мінус 64 КБ;
- не можна відформатувати том обсягом більше 32 гігабайт (ГБ) у файловій системі FAT32 під час інсталяції операційної системи Windows XP; Windows XP допускає підключення та підтримує томи FAT32 розміром більше 32 ГБ (з урахуванням інших обмежень), але не можна створити том FAT32 обсягом більше 32 ГБ з використанням засобу Format у процесі виконання програми інсталяції Windows XP. Якщо потрібно відформатувати том, розмір якого перевищує 32 ГБ, відформатуйте його у файловій системі NTFS. Іншим варіантом є завантаження комп'ютера із завантажувального диска Microsoft Windows 98 або Microsoft Windows Millennium Edition (Me) та використання засобу Format, який міститься на цьому диску.
Під час спроби відформатувати розділ FAT32, розмір якого перевищує 32 ГБ, під час інсталяції Windows XP операція форматування завершується невдало, і може з'явитися таке повідомлення про помилку: «Диспетчер логічних дисків: Розмір тому надто великий»
- операційна система MS-DOS, початкова версія Microsoft Windows 95 і операційні системи Microsoft Windows NT 4.0 і раніших версій не розпізнають розділи FAT32, тому їх завантаження з тому FAT32 є неможливим;
- не можна створити в розділі FAT32 файл, розмір якого перевищує значення (2^32)-1 байт (на один байт менше, ніж 4 ГБ).
В серпні 2024 року, в останній збірці Windows 11 Canary, Microsoft зняла довільне обмеження на розмір розділу FAT32 в 32 ГБ, яке діяло майже 30 років. Наразі максимальний розмір розділу становить — 2 ТБ. Ця зміна є дуже важливою для користувачів, які ще використовують FAT32 через її сумісність з різними пристроями, хоча і з деякими обмеженнями[4][5].
У порівняні з FAT32, файлова система NTFS менш схильна до фрагментації, оскільки в ній закладено механізм підбору вільної оптимальної за розміром ділянки під новий файл[6].
Сектори диску мають розмір по 512 байт.
Перший сектор жорсткого диску (LBA=0) є завантажувальним, і перші його 446 байт містять завантажувальну інформацію. Далі йде 64 байти розділів (4 записи про розділ по 16 байт). Потім два байти 0x55 і 0xAA. Вони показують кінець сектора, і використовуються для перевірки його на цілісність.
В кожному записі розділу в п'ятому байті міститься інформація про тип файлової системи розділу. Значення 0x0B або 0x0C означає розділ відформатований в FAT.
У байтах з дев'ятого по дванадцятий міститься адреса LBA початку розділу.
Також там міститься прапор, який показує, що розділ є завантажувальним, і адреси CHS початку і кінця розділу.
Це перший сектор розділу, на який показує вказівник початку з MBR.
В ньому міститься інформація про файлову систему, форматування і інша інформація про розділ.
Призначення поля | Зміщення | Розмір | Можливе значення |
---|---|---|---|
Байтів в секторі | 0x0B | 16 біт | завжди 512 |
Секторів в кластері | 0x0D | 8 біт | 1,2,4,8,16,32,64,128 |
Кількість таблиць | 0x10 | 8 біт | завжди 2 |
Перший кластер кореневої директорії | 0x2С | 32 біти | зазвичай 0x00000002 |
Підпис | 0x2С | 16 біт | завжди 0xAA55 |
Розділ FAT32 починається сектором Volume ID. Далі знаходиться вільний простір, названий зарезервованими секторами. Після них знаходяться дві копії таблиці розміщення файлів. І вже нарешті після них знаходиться простір, який використовується для зберігання файлів. В самому кінці може знаходитись невикористана ділянка диску, яка може з'явитись через те, що розмір диска не ділиться на розмір кластера.
Нумерація кластерів починається з 2. Щоб обчислити номер сектора, використовують формулу
lba_addr = cluster_begin_lba + (cluster_number - 2) * sectors_per_cluster;
Зазвичай кожен кластер має 4кб (8 секторів). Специфікація Майкрософту каже, що максимальний розмір кластера 32кб, але інколи збільшують розмір секторів, тому буває і більше.
Відомо в якому кластері знаходиться коренева директорія. Читання директорії дає імена і розміщення перших кластерів її файлів і піддиректорій. Щоб дістатись до решти потрібна таблиця FAT.
Дані директорій організовуються в 32-байтові записи. Тоді в одному секторі розміщується рівно 16 записів, і вони не перетинають межу сектора.
Є чотири типи 32-байтових записів:
- Нормальний запис з коротким ім'ям файлу.
- Запис з довгим іменем файлу.
- Не використовується. Перший байт - 0xE5
- Кінець директорії. Перший байт нульовий.
Записи типу "Не використовується" з'являються при видаленні файлів. Коли щось видаляється, перший байт стрічки запису просто замінюється на 0xE5, і потім місце використовується при додаванні нового запису.
Записи, що не починаються з 0xE5, чи 0x00 і є вмістом каталогу. Структура такого запису:
Поле | Зміщення | Розмір |
---|---|---|
Коротка назва файлу | 0x00 | 8+3 байт |
Байт атрибутів | 0x0B | 8 біт |
Номер першого кластеру | 0x14 | 32 біти |
Розмір файлу | 0x1C | 32 біти |
Розширення файлу завжди зберігається в файлах з 9 по 11. Якщо назва файлу коротша за вісім символів, то вільні байти заповнюються прогалинами (0x20). Найбільший розмір файлу 4Гб, через те, що розмір файлу зберігається в 32-розрядному полі.
Структура байту атрибутів:
Біт | Функція |
---|---|
0 (найменш значущий біт) | Тільки читання |
1 | Прихований |
2 | Системний |
4 | Субдиректорія (Вказівник показує на кластер з 32 байтовими записами) |
5 | Архівний файл |
6, 7 (найбільш значущий біт) | Не використовуються, і завжди мають бути нульовими. |
FAT32 названа так саме тому, що записи в цій таблиці 32-розрядні. Таблиця FAT — це просто великий масив беззнакових цілих, де кожен запис відповідає за свій кластер, і вказує номер наступного кластера. Якщо файл вміщується в один кластер, або кластер є останнім, то в таблиці FAT для цього кластера записане значення 0xFFFFFFFF.
- ↑ Обмеження файлової системи FAT32 у Windows XP. Архів оригіналу за 25 вересня 2015. Процитовано 25 вересня 2015.
- ↑ Як створювати та змінювати розділи жорсткого диску за допомогою засобів Fdisk і Format. Microsoft
- ↑ FAT32. Лабораторні роботи[недоступне посилання з червня 2019]
- ↑ Microsoft зняла обмеження на розмір розділу FAT32 у Windows 11. (рос.) 16.08.2024
- ↑ Microsoft збільшує ліміт форматування FAT32 до 2 ТБ у Windows 11. // Автор: Вікторія Рудзінська. 16.08.2024
- ↑ FAT32 чи NTFS. фірма «512 байт». Архів оригіналу за 18 вересня 2008. Процитовано 30 березня 2010.
- ↑ Understanding FAT32 Filesystems. Архів оригіналу за 9 листопада 2020. Процитовано 23 червня 2010.
- Обмеження файлової системи FAT32 у Windows XP. Microsoft [Архівовано 3 грудня 2010 у Wayback Machine.]
- Опис файлової системи FAT32 у Windows XP (microsoft.com) [Архівовано 9 квітня 2010 у Wayback Machine.] (англ.)