Тестирование exFAT в ReactOS, KolibriOS и Linux

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

У меня появился внешний SSD с AliExpress. Там стоит файловая система exFAT. Windows видит этот SSD как "внешний накопитель", что позволяет пробросить USB-накопитель с exFAT в виртуальную машину (я использую VirtualBox).

Сам SSD с алиэкспресс
Сам SSD с алиэкспресс
Информация о накопителе
Информация о накопителе

Я решил протестировать 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

KolibriOS

Над поддержкой exFAT в KolibriOS работают. Скажу сразу, что поддержка exFAT в KolibriOS пока далеко до идеала.

Тестовый файл для проверки
Тестовый файл для проверки

В КолибриОС поддержка exFAT только в режиме чтения. Производительность медленная.

Запись exFAT в КолибриОС не поддерживается
Запись exFAT в КолибриОС не поддерживается

Linux

После открытия документации exFAT Samsung и Paragon Software работали над улучшенной поддержкой exFAT в Linux.

Тестовый файл
Тестовый файл

Я тестировал exFAT в Ubuntu 22.04 LTS. Поддерживается exFAT как в режиме чтения так и в режиме записи. "Производительность" в Linux, быстрее чем в KolibriOS.

Запись на exFAT-накопитель
Запись на exFAT-накопитель
После записи файла
После записи файла

Итоги

Linux является "лидером" среди свободных ОС в полноценной поддержке файловой системы exFAT. Надеюсь, что KolibriOS и ReactOS будут полноценно поддерживать exFAT.

Кстати насчет ReactOS. В ВК есть многие разработчики ReactOS. Среди них Вадим Галянт. У меня есть предложение: соберём 5000 рублей и я на эту сумму договорюсь с ним о разработке драйвера exFAT. Ранее я донатил зеленыё проекту UBPorts.

Демонстрация тестирования exFAT:

Источник: https://habr.com/ru/post/687022/


Интересные статьи

Интересные статьи

Автоматические end-to-end тесты хороши тем, что позволяют сымитировать действия пользователя на сайте. Мы можем запрограммировать в скрипте теста действия типа открыть страницу, нажать на кнопку, ввес...
Microsoft активно развивает свои проекты с открытым кодом, например, ASP.NET Core или MSBuild. Вместе с этим набирает популярность и тестовый фреймворк xUnit, используемый в них для модул...
Недавно на проекте интегрировал модуль CRM Битрикса c виртуальной АТС Ростелеком. Делал по стандартной инструкции, где пошагово показано, какие поля заполнять. Оказалось, следование ей не гаран...
Industrial IoT — это мониторинг, диспетчеризация и автоматизация инженерных систем промышленных объектов, зданий, бизнес-объектов. Датчики разных параметров, счетчики и контроллеры собирают данны...
Автокэширование в 1с-Битрикс — хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц.