Exfat - что это такое и для чего нужно

Файловая система exFAT (расширенная таблица размещения файлов) была анонсирована корпорацией Microsoft в 2006 году как преемница устаревшего формата FAT32. ExFAT была разработана специально для flash-накопителей и карт памяти, чтобы преодолеть ограничение FAT32 на максимальный размер файла в 4 Гб.

В отличие от предшественников, exFAT позволяет хранить файлы практически неограниченного размера, поддерживает разделы до 128 Петабайт. Кроме того, данный формат отличается высокой скоростью работы с файлами по сравнению с NTFS.

Преимущества exFAT перед FAT32

Одним из основных преимуществ файловой системы exFAT перед FAT32 является поддержка больших файлов и разделов. В отличие от FAT32, в exFAT нет ограничения в 4 ГБ на максимальный размер файла. Благодаря этому, exFAT лучше подходит для использования на современных накопителях большой емкости.

Еще одно преимущество exFAT - это более эффективное использование дискового пространства по сравнению с FAT32. Файловая система exFAT использует меньший размер кластера по умолчанию, а также поддерживает сжатие для уменьшения использования дискового пространства.

Кроме того, exFAT обеспечивает более высокую производительность при работе с большим количеством небольших файлов по сравнению с FAT32. Это достигается за счет использования более совершенных алгоритмов индексации и поиска файлов.

Иллюстрация преимуществ exFAT перед FAT32

Совместимость exFAT с различными ОС

Файловая система exFAT изначально разрабатывалась компанией Microsoft для использования в операционных системах Windows. Начиная с Windows Vista с пакетом обновления 1, exFAT полностью поддерживается в Windows без необходимости установки дополнительных драйверов.

Помимо Windows, поддержка exFAT реализована и в других популярных операционных системах. Например, в macOS она появилась начиная с версии 10.6.5. В более ранних версиях macOS для работы с exFAT нужны были сторонние драйвера. Что касается Linux, то изначально в его ядре поддержка exFAT отсутствовала. Однако существовали сторонние реализации драйверов exFAT для Linux в виде модулей ядра или приложений пользовательского уровня. В Linux ядре версии 5.7 поддержка чтения и записи exFAT была реализована официально после публикации спецификаций файловой системы компанией Microsoft.

Также существуют реализации exFAT для таких ОС как FreeBSD, OpenBSD, Chrome OS и некоторых других. То есть фактически файловую систему exFAT можно использовать практически во всех популярных операционных системах, в отличие от более старой и ограниченной FAT32. Подводя итог, можно сказать, что exFAT обеспечивает кроссплатформенную совместимость и может использоваться для обмена данными между устройствами и ОС семейств Windows, Linux, macOS и мобильными ОС.

Поддержка exFAT в Linux

Изначально в ядре Linux не существовало официальной поддержки файловой системы exFAT. Это было связано с закрытой спецификацией данного формата от Microsoft, а также с неопределенным патентным статусом технологии. Однако в Linux существовали сторонние закрытые драйверы exFAT, разработанные некоторыми вендорами, такими как Samsung. Эти драйверы использовались, например, в смартфонах и планшетах на Android для работы с картами памяти формата exFAT.

Первый открытый драйвер для чтения exFAT в Linux появился в виде патча для ядра в репозитории на GitHub. Он позволял монтировать разделы с файловой системой exFAT как read-only для чтения данных. Позже также была разработана утилита fuse-exfat, реализующая полную поддержку чтения и записи exFAT через FUSE в пространстве пользователя Linux, без необходимости патчей для ядра. Это позволило использовать exFAT в таких дистрибутивах Linux как Ubuntu.

В 2013 году компания Samsung все же опубликовала исходные коды своего драйвера exFAT для ядра Linux под лицензией GPLv2. Этот код лег в основу развития полной поддержки данной файловой системы в ядре Linux. Первой версией ядра Linux, официально поддерживающей exFAT, стала версия 5.7, выпущенная в 2020 году. Реализация включала в себя возможности монтирования, чтения и записи файловой системы exFAT.

Поддержка exFAT была значительно расширена и улучшена в последующих версиях ядра Linux. Например, в версии 5.10 появилась поддержка расширенных атрибутов файлов exFAT, а также возможность проверки и восстановления такой файловой системы утилитой fsck. Начиная с ядра версии 5.15, в Linux была реализована поддержка нового формата exFAT версии 1.1. Данный формат включает в себя такие возможности как атомарная NTFS-подобная журналируемая запись для обеспечения целостности файловой системы.

Таким образом, благодаря усилиям сообщества Linux, а также компаний Samsung и Microsoft, последние версии ядра Linux имеют полноценную реализацию поддержки современных версий файловой системы exFAT. Это позволяет легко использовать устройства флэш-памяти и карты памяти с форматированием exFAT для хранения и переноса данных любого размера в Linux и других ОС, таких как Windows и macOS. При этом обеспечивается полноценный доступ на чтение и запись без ограничений размера отдельных файлов в 4 ГБ.

Однако следует помнить, что для получения всех возможностей по работе с exFAT необходимо использовать свежие версии ядра Linux, начиная хотя бы с 5.7. В более старых ядрах и дистрибутивах Linux могут потребоваться дополнительные модули, утилиты или патчи для обеспечения полной поддержки этой файловой системы.

Пингвин Линукс держит флешку с exFAT, показывая совместимость Linux с exFAT

Где именно используется exFAT

Файловая система exFAT наиболее широко используется на съемных накопителях, таких как USB флэш-накопители, карты памяти microSD и SDXC, внешние жесткие диски. Благодаря поддержке очень больших разделов (до 128 ПБ) и отсутствию ограничений на размер отдельных файлов, exFAT хорошо подходит для использования на накопителях большой емкости.

К примеру, современные карты microSD объемом 512 ГБ или 1 ТБ зачастую по умолчанию форматируются производителями именно в файловую систему exFAT. Устройства с интерфейсами USB 3.2 и USB 3.1 со скоростью до 10 Гбит/с также могут использовать преимущества быстродействия exFAT по сравнению с более старой FAT32.

Кроме съемных накопителей, файловая система exFAT часто используется в цифровых видеокамерах и зеркальных фотоаппаратах для записи видеофайлов большой длительности в формате 4K или Full HD, которые могут занимать более 4 ГБ. В игровых приставках таких как PlayStation 5 и Xbox Series X|S также поддерживается использование расширенных внешних SSD накопителей, отформатированных в exFAT.

Эта файловая система позволяет устанавливать на такие накопители игры объемом свыше 100 ГБ каждая и запускать их на игровых приставках без ограничения максимального размера единичных файлов. Благодаря хорошей кроссплатформенной совместимости между Windows, macOS и новыми версиями Linux, exFAT удобно использовать на съемных носителях для быстрого и простого обмена файлами любых размеров между разными устройствами и ОС. В общем, практически везде, где нужна поддержка больших разделов или отдельных файлов свыше 4 ГБ, а также важна кроссплатформенная совместимость - exFAT будет лучшим выбором на смену устаревшей и ограниченной FAT32.

Лицензирование технологии exFAT

Изначально технология файловой системы exFAT, как и большинство разработок корпорации Microsoft, не предоставлялась со свободной лицензией и исходным кодом для реализаций сторонними производителями. Вместо этого компания Microsoft использовала проприетарную модель лицензирования exFAT. Чтобы получить права на использование данной технологии, производители устройств и программного обеспечения должны были заключить лицензионное соглашение с Microsoft и платить соответствующие лицензионные отчисления.

Такая модель вызывала справедливую критику со стороны сообщества свободного ПО. Разработка собственных свободных реализаций exFAT в операционных системах натыкалась на проблемы с нарушением патентов и была затруднена из-за закрытости спецификаций. В 2009 году Microsoft начала активно предпринимать юридические меры к компаниям за использование нелицензированной технологии exFAT. Например, был подан иск против TomTom за использование FAT, а позже и за exFAT в устройствах этого производителя.

Вплоть до 2019 года исходный код реализаций exFAT в продуктах некоторых вендоров ПО, таких как компания Samsung, имел закрытый статус и не распространялся. Однако в августе 2019 ситуация изменилась, после того как Microsoft неожиданно для всех опубликовала документацию и спецификации технологии exFAT в общедоступном виде.

Кроме того, корпорация заявила о своей поддержке включения полной реализации exFAT прямо в ядро Linux и других открытых ОС. Это было связано с решениями по изменению политики Microsoft для расширения поддержки Linux и сообщества ОС с открытым исходным кодом. Благодаря таким шагам юридические риски при разработке собственных реализаций exFAT в свободном ПО фактически были минимизированы. Взамен этого Microsoft сохранила за собой модель лицензирования данной технологии для встраивания в коммерческие продукты производителями оборудования.

Таким образом, на текущий момент Microsoft удалось найти компромиссное решение, позволяющее с одной стороны предоставить сообществу свободный доступ к технологии для целей пользовательского ПО, а с другой сохранить контроль и монетизацию данной разработки в области встраиваемых коммерческих систем.

Архитектура файловой системы exFAT

Файловая система exFAT имеет модульную архитектуру, сходную с архитектурой FAT, но включающую в себя ряд усовершенствований и расширений возможностей по сравнению со старой доброй FAT32. В основе exFAT лежит расширенная таблица файловой аллокации (Extensible File Allocation Table), отвечающая за хранение информации о размещении кластеров данных файлов внутри раздела.

При этом для увеличения быстродействия по сравнению с FAT32, в exFAT используются 32-битные кластеры и смещения кластеров для поддержки очень больших размеров разделов вплоть до 128 петабайт. Дополнительно exFAT включает в себя первичную таблицу каталогов (Primary Directory Table), в которой хранится информация о файлах и папках. Данная структура значительно расширена в exFAT для поддержки UTF-8 имен файлов большой длины, атрибутов файлов, потоков данных и прочего.

Вслед за первичной, используется еще несколько вспомогательных таблиц для хранения дополнительных атрибутов, таких как временные метки, расширенные атрибуты файлов, информация о томах и др.За счет этого exFAT позволяет хранить гораздо больше метаданных о файлах по сравнению с простой структурой каталогов FAT32 ограниченной длины имени в 8.3 символа.

Важной особенностью exFAT является наличие журналируемости для гарантированной атомарной записи файлов и обновлений файловой системы. Это значительно снижает вероятность потери или повреждения данных при сбоях или отключении питания во время записи. На диск exFAT всегда записывается небольшое количество резервных кластеров, которые автоматически выделяются файловой системе в случае, если в процессе работы происходит повреждение или износ каких-то основных кластеров.

Также в состав exFAT входят специальные служебные области для хранения резервной копии суперблока файловой системы в целях повышения надежности и возможности восстановления после сбоев. Благодаря такой расширенной модульной архитектуре, exFAT позволяет гибко масштабироваться до огромных размеров разделов при сохранении высокой производительности и надежности по сравнению с устаревшей файловой системой FAT32, используемой ранее на флеш-накопителях и картах памяти.

Ограничения формата exFAT

Несмотря на значительное расширение возможностей по сравнению с FAT32, у файловой системы exFAT все же есть ряд ограничений, о которых стоит знать.

  • Во-первых, максимально поддерживаемый размер тома в exFAT составляет 128 петабайт. Этого вполне достаточно для подавляющего большинства задач, однако для создания единого сверхбольшого тома понадобится более продвинутая файловая система.
  • Во-вторых, из-за особенностей архитектуры файла размером более 128 терабайт в exFAT создать нельзя. Фактически это означает, что отдельные файлы ограничены размером тома целиком.

Кроме того, максимальная длина имени файла в exFAT составляет 255 символов в UTF-8. Этого вполне достаточно для большинства практических задач, однако некоторые другие современные файловые системы, такие как NTFS и ext4, поддерживают еще бóльшую длину.

Определенные ограничения накладывает exFAT и на структуру каталогов. Максимальная глубина вложения папок ограничена 255 уровнями. А количество подкаталогов в каталоге не может превышать 65 535. Зачастую exFAT также упрекают в более слабой по сравнению с NTFS поддержке разграничительных политик доступа и расширенных атрибутов файлов из соображений производительности.

Например, в exFAT отсутствуют списки контроля доступа ACL и некоторые атрибуты в стиле POSIX, присутствующие в более продвинутых серверных файловых системах типа NTFS или XFS. Однако большинство этих особенностей вряд ли потребуются на практике при использовании exFAT для флэш-накопителей и карт памяти в бытовой и мобильной электронике. Пожалуй, самым значимым ограничением exFAT по-прежнему остается частичная поддержка в некоторых операционных системах, прежде всего в более ранних версиях Linux и macOS.

Как отформатировать диск в exFAT

Форматирование диска в файловую систему exFAT довольно просто. В зависимости от используемой операционной системы, процесс может немного отличаться, однако общие шаги таковы:

  1. Подключите диск, который вы хотите отформатировать в exFAT (например, флэшку или внешний HDD). Убедитесь, что на нем нет нужных вам файлов, поскольку форматирование удалит все данные.
  2. Откройте диспетчер файлов (Проводник в Windows, Finder в MacOS). Найдите и выделите диск, который вы собираетесь форматировать.
  3. Нажмите правую кнопку мыши на диске и выберите «Форматировать» (в Windows) или «Стереть» (в MacOS). Вы также можете найти эти параметры в меню действий с диском.
  4. Выберите файловую систему «exFAT» и установите нужные параметры форматирования, например, размер кластера. «формат exfat что это» - Лучше оставить размер кластера по умолчанию, если у вас нет особых требований.
  5. Нажмите кнопку «Начать» или «Стереть», чтобы начать процесс форматирования диска в exFAT. Подтвердите действие, если система запросит это.
  6. Дождитесь окончания форматирования. После этого диск готов к использованию с файловой системой exFAT!

Как видите, ничего сложного в этом нет. Главное - выбрать нужный диск и задать файловую систему exFAT вместо других вариантов. Учтите также, что при форматировании в exFAT вы потеряете все данные, поэтому предварительно сделайте резервную копию важных файлов, если нужно.

Обновление версии exFAT

Как и любая другая файловая система, exFAT периодически обновляется разработчиками для исправления ошибок, добавления нового функционала и повышения производительности. В отличие от совершенно новых версий, обновления exFAT, как правило, носят инкрементальный (пошаговый) характер.

Обновления exFAT выпускаются в составе крупных обновлений операционных систем от Microsoft и других производителей ПО. Например, если вы используете Windows 10, то установка основных обновлений для нее автоматически установит и самую свежую версию драйверов и компонентов exFAT от Microsoft. Аналогично на устройствах macOS и Linux при обновлении до новой версии ОС вы получите улучшенную поддержку файловой системы exFAT без необходимости предпринимать какие-то отдельные действия. Так производители ПО следят за совместимостью своих систем с последними изменениями в спецификации exFAT.

Однако иногда требуется явным образом установить новую версию драйверов exFAT, например, если вы используете устаревшую или неподдерживаемую ОС. В таком случае придется либо обновить ОС целиком, либо поискать и вручную установить актуальные драйвера для конкретной версии exFAT.

Будущее развитие exFAT

Хотя exFAT уже является очень функциональной и эффективной файловой системой, ее развитие продолжается. Компания Microsoft и другие заинтересованные компании инвестируют ресурсы в улучшение этого формата для большей производительности и совместимости. Основные направления развития exFAT в ближайшие несколько лет:

  • Повышение скорости чтения/записи и общей производительности файловой системы за счет оптимизации ее алгоритмов и структур данных.
  • Улучшение масштабируемости для поддержки все более емких носителей данных - до 128 ПБ и больше.
  • Расширенная поддержка для встраиваемых и IoT устройств, где часто используется флэш-память с файловой системой exFAT.
  • Упрощение лицензирования exFAT и снятие барьеров для широкого применения, особенно на устройствах Linux и Android.

Благодаря этим улучшениям, файловая система exFAT сохранит лидирующие позиции и в обозримом будущем. А пользователи смогут работать с данными на съемных носителях еще быстрее и удобнее.

Статья закончилась. Вопросы остались?
Комментариев 1
Подписаться
Я хочу получать
Правила публикации
0
Есть старая флешка с системным файлом ГАТ32, скачивается все без проблем. Купила новою флешку 64 мб файл exFAT, для хранения фото.Вот тут и началось.При скачивании тормозит,половина фото или не загружаются или до половины.В чем причина? Неужели в этих файлах.Что делать?
Копировать ссылку
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.