У меня появился внешний SSD с AliExpress. Там стоит файловая система exFAT. Windows видит этот SSD как "внешний накопитель", что позволяет пробросить USB-накопитель с exFAT в виртуальную машину (я использую VirtualBox).
Я решил протестировать exFAT в свободные ОС: ReactOS, KolibriOS и Linux.
Что такое exFAT и его история
FAT32 была разработана в 1990-е и представлена в Windows 95. С тех пор все USB-флешки, получившие бум распространения в 2000-е, стали использовать FAT32. Все платформы и операционные системы "видят" и полноценно поддерживают флешки с FAT32. FAT32 до сих пор используется на всех носителях.
Однако у FAT32 были ограничения. Нельзя записать на накопитель с FAT32 файл больше 4 гигабайт - это например:
Современные фильмы (особенно в формате 4К)
Файлы виртуальных машин (.vmdk и тому подобные)
Максимальный размер тома у FAT32 - 8 терабайт, что для 2022 года много. Со временем ограничения FAT32 становились очевидными. Если терабайтные накопители для кого-то являются роскошью, то ограничения в файлах бросаются в глаза.
FAT32 |
exFAT |
|
Максимальный размер файла |
4 гигабайта |
16 экзабайт |
Максимальный размер тома |
8 терабайт |
128 петабайт |
Для устранения данных ограничений и была создана файловая система exFAT (он же FAT64, он же Extended FAT). exFAT была разработана в первой половине 2000-х и представлена Microsoft в 2006 году. WIndows CE 6.0 - первая Windows с exFAT.
Изначально exFAT была запатентована Microsoft. Для использования exFAT в своих системах и технологиях необходимо заключить договор с Microsoft на лицензирование exFAT. Известные примеры компаний, лицензировавших exFAT:
Apple - в MacOS имеется поддержка exFAT
Sony - PlayStation 4 и PlayStation 5 поддерживают USB-накопители с файловой системой exFAT
Samsung - поддерживала exFAT в своих системах для SD-карт и накопителей. В этой сфере произошел скандал
В 2019 году Microsoft открыли документацию и спецификацию файловой системы exFAT. С тех пор поддержка exFAT появилась в iPadOS. В других ОС интенсивность работы над поддержкой exFAT усилилась
ReactOS
ReactOS "не видит" exFAT-устройство. ReactOS не поддерживает exFAT. Оказывается работа над поддержкой exFAT в ReactOS даже не начиналась, хотя поддержка exFAT в ReactOS входит в планы.
KolibriOS
Над поддержкой exFAT в KolibriOS работают. Скажу сразу, что поддержка exFAT в KolibriOS пока далеко до идеала.
В КолибриОС поддержка exFAT только в режиме чтения. Производительность медленная.
Linux
После открытия документации exFAT Samsung и Paragon Software работали над улучшенной поддержкой exFAT в Linux.
Я тестировал exFAT в Ubuntu 22.04 LTS. Поддерживается exFAT как в режиме чтения так и в режиме записи. "Производительность" в Linux, быстрее чем в KolibriOS.
Итоги
Linux является "лидером" среди свободных ОС в полноценной поддержке файловой системы exFAT. Надеюсь, что KolibriOS и ReactOS будут полноценно поддерживать exFAT.
Кстати насчет ReactOS. В ВК есть многие разработчики ReactOS. Среди них Вадим Галянт. У меня есть предложение: соберём 5000 рублей и я на эту сумму договорюсь с ним о разработке драйвера exFAT. Ранее я донатил зеленыё проекту UBPorts.
Демонстрация тестирования exFAT:
Комментарии (14)
Siemargl
07.09.2022 23:27+1В КолибриОС поддержка exFAT только в режиме чтения. Производительность медленная.
В Колибри в принципе нет кэширования ФС
Siemargl
07.09.2022 23:30Использую exFAT для SSD с образами виртуалок. Из-за своей простоты организации метаинформации в сравнении с NTFS ресурс дисков должен быть больше.
lxsmkv
08.09.2022 00:23+5Я думал тут расскажут про то как тестируют файловую систему, а получается только про субьективные впечатления от производительности в синтетических условиях без цифр.
ecliptic
09.09.2022 13:31+1у сообщества разработчиков linux в ходу следующий инструментарий для тестирования файловых ститем: xfstests, LTP (linux test project), pjdfstest.
LuchS-lynx
08.09.2022 02:28У меня такая же флешка только на 64гб, сколько бы я ни бился - загрузочную из нее сделать так и не получилось, но работает очень шустро
litos
08.09.2022 04:15В статье написано про FAT32 : Максимальный размер тома - 8 терабайт
Однако, на практике, флешки больше 32GB часто устройствами (типа дешевые камеры наблюдения, авто-видеорегистраторы, магнитолы) не поддерживаются. Интересно, с чем это связано? С размером кластера файловой системы или что-то иное?
Да и на практике не помню, чтобы видел диски формата FAT32 больше 128GB
alecv
08.09.2022 13:04Барьер 128G (137GiB) похож на ограничение LBA28 для дисков IDE/SATA/SSD спеков до ATA-6.
QuAzI
08.09.2022 21:02То что фортки по умолчанию флешки >32GB пытаются в exFAT форматировать ещё ничего не говорит о поддержке, уж точно это не ограничения актуального FAT32. В PocketBook 740 Color спокойно видится Samsung EVO Plus 2021 microSDXC 512GB отформатированная в FAT32. ЕМНИП, в Lenovo TAB2 A10-70L тоже проблем с 512GB не было, но сейчас стоит 256GB отформатированная в FAT32. Обе железки в exFAT не умеют.
saboteur_kiev
08.09.2022 04:43Еще FAT32 вообще является закрытой проприетарной файловой системой.
А вот технические данные по exFAT, которая хоть и требует лицензии на использование, были открыты именно для того, чтобы стать файловой системой для использования кем угодно.
QuAzI
"Отличная" ФС, которая пригодна только для хранения фотонек и прона по умолчанию
Kotofay
А в Ext3 каков результат?
CodeName33
Плата за большой размер кластера, любая ФС этому подвержена. Я тоже, покупая внешний диск, форматанул его с размером кластера 256к. Записал туда около 7 0тысяч файлов -
охребыл весьма озадачен достаточно большой потерей места на диске, переформатировал с размером кластера в 64к и сразу стало намного лучше.