У меня появился внешний SSD с AliExpress. Там стоит файловая система exFAT. Windows видит этот SSD как "внешний накопитель", что позволяет пробросить USB-накопитель с exFAT в виртуальную машину (я использую VirtualBox).
![Сам SSD с алиэкспресс Сам SSD с алиэкспресс](https://habrastorage.org/r/w1560/getpro/habr/upload_files/68b/c79/7ce/68bc797cebb73ace553c76248c6fa021.png)
![Информация о накопителе Информация о накопителе](https://habrastorage.org/r/w1560/getpro/habr/upload_files/2b3/c78/d44/2b3c78d4433bc92af239a0e58818ef1c.png)
Я решил протестировать 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 входит в планы.
![JMicron Tech - это и есть USB-носитель с exFAT JMicron Tech - это и есть USB-носитель с exFAT](https://habrastorage.org/r/w780q1/getpro/habr/upload_files/44b/73c/f19/44b73cf19c69ab8a52872c633b1c5145.jpg)
KolibriOS
Над поддержкой exFAT в KolibriOS работают. Скажу сразу, что поддержка exFAT в KolibriOS пока далеко до идеала.
![Тестовый файл для проверки Тестовый файл для проверки](https://habrastorage.org/r/w780q1/getpro/habr/upload_files/8dc/c68/473/8dcc684735f86d6c0785736765ff108a.jpg)
В КолибриОС поддержка exFAT только в режиме чтения. Производительность медленная.
![Запись exFAT в КолибриОС не поддерживается Запись exFAT в КолибриОС не поддерживается](https://habrastorage.org/r/w780q1/getpro/habr/upload_files/7c0/1bf/6bf/7c01bf6bf8c002321953ef496491ead4.jpg)
Linux
После открытия документации exFAT Samsung и Paragon Software работали над улучшенной поддержкой exFAT в Linux.
![Тестовый файл Тестовый файл](https://habrastorage.org/r/w780q1/getpro/habr/upload_files/462/808/2ce/4628082ce2cd77974c7e657aee8884bc.jpg)
Я тестировал exFAT в Ubuntu 22.04 LTS. Поддерживается exFAT как в режиме чтения так и в режиме записи. "Производительность" в Linux, быстрее чем в KolibriOS.
![Запись на exFAT-накопитель Запись на exFAT-накопитель](https://habrastorage.org/r/w780q1/getpro/habr/upload_files/966/93b/999/96693b999ad95649bedc3e2d8d6efe8e.jpg)
![После записи файла После записи файла](https://habrastorage.org/r/w780q1/getpro/habr/upload_files/7f7/0e4/ae8/7f70e4ae879f1f6457a5fab466f98f09.jpg)
Итоги
Linux является "лидером" среди свободных ОС в полноценной поддержке файловой системы exFAT. Надеюсь, что KolibriOS и ReactOS будут полноценно поддерживать exFAT.
Кстати насчет ReactOS. В ВК есть многие разработчики ReactOS. Среди них Вадим Галянт. У меня есть предложение: соберём 5000 рублей и я на эту сумму договорюсь с ним о разработке драйвера exFAT. Ранее я донатил зеленыё проекту UBPorts.
Демонстрация тестирования exFAT: