Ошибка «невозможно создать файл в корневом каталоге» при копировании на диск с файловой системой FAT16 появляется даже тогда, когда свободного места на носителе предостаточно — причина в том, что корневой каталог этого формата имеет фиксированный размер и вмещает лишь 512 записей. Как только лимит исчерпан, система отказывается сохранять новые файлы в корень, хотя в подпапках их можно разместить ещё тысячи.

Проблема особенно актуальна для старых флешек, карт памяти, загрузочных дискет и разделов, отформатированных в FAT или FAT16 для совместимости с устаревшим оборудованием. Ниже разберём, откуда берётся ограничение, как проверить формат диска и что делать, чтобы обойти лимит без потери данных.

Почему корневой каталог FAT имеет фиксированный размер

В файловых системах FAT12 и FAT16 корневой каталог — это не обычная папка, а область фиксированного размера, расположенная сразу после таблиц FAT в зарезервированной зоне диска. Её объём задаётся при форматировании и не может расти динамически, в отличие от вложенных каталогов, которые хранятся как обычные файлы в области данных.

Каждая запись в корневом каталоге занимает 32 байта и содержит имя файла, атрибуты, дату и адрес первого кластера. При стандартном форматировании под корень выделяется 512 записей. Важный нюанс: файл с длинным именем в формате VFAT занимает не одну, а несколько записей — по одной дополнительной на каждые 13 символов имени. Поэтому реальный лимит может оказаться заметно меньше 512 файлов.

В FAT32 это ограничение снято: корневой каталог там хранится в области данных и расширяется по мере необходимости, как любая другая папка.

💡

Лимит в 512 записей существует только в FAT12/FAT16. В FAT32 и NTFS корневой каталог растёт динамически и практически не ограничен.