Автор Тема: exFAT и её поддержка в Linux  (Прочитано 3744 раз)

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3470
  • Да будет свет!
exFAT и её поддержка в Linux
« : 30 Апреля 2017, 15:19:22 »
Заинтересовало сообщение Алексея о включении в свою сборку поддержки файловой системы exFAT и что же это такое.
exFAT (от англ. Extended FAT — «расширенная FAT»), иногда называется FAT64 — проприетарная файловая система, предназначенная главным образом для флэш-накопителей. Впервые представлена фирмой Microsoft для встроенных устройств в Windows Embedded CE 6.0. Размер кластера по умолчанию для файловой системы exFAT составляет от 4 КБ до 128 КБ в зависимости от размера тома.
Главное достоинство exFAT - уменьшение количества перезаписей одного и того же сектора, что важно для флеш-накопителей, у которых ячейки памяти необратимо изнашиваются после определённого количества операций записи (это сильно смягчается выравниванием износа (wear leveling), встроенным в современные USB-накопители и SD-карты). Это было основной причиной разработки exFAT. Также в этой ФС нет ограничений на размер файла в отличии от FAT32, в которой не более 4 ГБ.
Для работы с файловой системой exFat в системе должны быть установлены соответствующие пакеты exfat-fuse и exfat-utils
sudo apt install exfat-fuse exfat-utilsДо выпуска Ubuntu 16.04 указанные пакеты устанавливались из стороннего репозитория. Теперь же они включены в официальный и в Ubuntu 17.04 установлены по умолчанию.
Отформатированная в exFat флешка определилась автоматически и в дисковой утилите был проведён тест производительности на чтение, который практически совпал с тестом, проведённым на этой же флешке в FAT32. Проверка записи большого файла показала более скромные результаты.  :(
Но мне этот вариант использования флешек в качестве носителей информации показался предпочтительнее, чем их форматирование в NTFS.
« Последнее редактирование: 30 Июня 2018, 18:43:26 от vita »
Делай с нами, делай как мы, делай лучше нас!

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 2235
Re: exFAT и её поддержка в Linux
« Ответ #1 : 01 Мая 2017, 09:52:10 »
Бережное отношение к флешке - это хорошо. Плохо то, что файловая система проприетарная. Для переходящих с винды на линукс поддержка exFAT, наверно, необходима, но никто из моих знакомых виндусятников о ней даже не слыхивал.
Что непонятно спрашиваем, если всё понятно - пользуемся.
Что бы ни случилось, всё будет хорошо!

Оффлайн alv

  • Ветеран
  • *****
  • Сообщений: 1321
  • Это я и есть
    • Наш Блогосайт
Re: exFAT и её поддержка в Linux
« Ответ #2 : 01 Мая 2017, 14:09:21 »
никто из моих знакомых виндусятников о ней даже не слыхивал.
Насколько я знаю, фабрично в extFAT форматируются флешки и карты объёмом  64 ГБ и выше. Когда они появились - это была экзотика по цене такой, что для обычных целей (кроме как в камерах и сматрфонах) дешевле было купить внешний винт на полтерабайта.
Так они вроде и не прижились - или это слишком много, или слишком мало :)
За прекрасных дам!

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 2235
Re: exFAT и её поддержка в Linux
« Ответ #3 : 02 Мая 2017, 09:30:48 »
Насколько я знаю, фабрично в extFAT форматируются флешки и карты объёмом  64 ГБ и выше. Когда они появились - это была экзотика по цене такой, что для обычных целей (кроме как в камерах и сматрфонах) дешевле было купить внешний винт на полтерабайта.
Так они вроде и не прижились - или это слишком много, или слишком мало :)
Есть у меня 64 ГБ флешка USB3.0. Изначально она была в FAT32. Поскольку на ней лежит инфа только для чтения смысла менять файловую систему  нет.  По цене обошлась в 2 раза дешевле 32 ГБ USB2.0, купленной лет на 5 раньше.
Что непонятно спрашиваем, если всё понятно - пользуемся.
Что бы ни случилось, всё будет хорошо!

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3470
  • Да будет свет!
Re: exFAT и её поддержка в Linux
« Ответ #4 : 30 Июня 2018, 20:14:34 »
Одним из улучшений в недавно выпущенной Linux Mint 19 Tara считается инструмент форматирования USB-флеш с поддержкой exFat.
В дистрибутивах на основе Ubuntu форматировать флешнакопители в exFAT можно как в командной строке, так и в графическом интерфейсе.
После установки пакетов exfat-fuse и exfat-utils, необходимых для доступа к exFAT в Linux, в терминале нужно уточнить смонтированные диски:
sudo fdisk -lК примеру, подготовленная к форматированию флешка у меня определилась как /dev/sdd1
Для её форматирования выполнила команду: sudo mkfs.exfat -n 8GB /dev/sdd1где 8GB задана метка (Label) флешки.
Нет ли ошибок в результате форматирования проверяется командой: sudo fsck.exfat /dev/sdd1
Результат проверки
exfatfsck 1.2.8
WARN: volume was not unmounted cleanly.
Checking file system on /dev/sdd1.
File system version           1.0
Sector size                 512 bytes
Cluster size                 32 KB
Volume size                7497 MB
Used space                 1120 KB
Available space            7496 MB
Totally 0 directories and 0 files.
File system checking finished. No errors found.

Для форматирования флешнакопителя в графическом интерфейсе можно воспользоваться дисковой утилитой (gnome-disk-utility), в 18.04 именуется Диски. Но процесс форматирования таким способом значительно медленнее, чем в командной строке.

В Gparted файловая система флешки тоже определилась как exFAT , но в контекстном меню Gparted при выборе пункта Форматировать, exfat неактивна.
Делай с нами, делай как мы, делай лучше нас!

Оффлайн alv

  • Ветеран
  • *****
  • Сообщений: 1321
  • Это я и есть
    • Наш Блогосайт
Re: exFAT и её поддержка в Linux
« Ответ #5 : 14 Августа 2018, 19:16:41 »
В Gparted файловая система флешки тоже определилась как exFAT , но в контекстном меню Gparted при выборе пункта Форматировать, exfat неактивна.
Предположительно: Gparted работает только со всамделишними ФС, а не с поддерживаемыми через FUSE.
Сегодня имел развлекуху: две флешки одного и того же очень китайского производителя, обе на 64 ГБ, куплены в одной лавке с разбежкой в несколько дней. Одна фабрично отформатирована в exFAT, вторая определилась как некая ФС msdos.
Задача - позаписать на них тибренных киношек - то есть файлы от 1,4 ГБ до 15-17 их же. Соответственно, на одну на первую большие фильмы пишутся без проблем, на вторую файл более 4 ГБ записываться отказался.
На имеющемся оборудовании проблема не решалась - ну не помню я, как в винде чего-то форматируют.
Решение: спуститься на 4 этажа домой, отформатировать флешку Linux'овой командой (какой - здесь говорилось, mkfs.exfat). Потом подняться опять на 7-й этаж - и убедиться, что после этого на флешку записываются любые файлы любого размера.
Так что, товарищи, если вам нужно перенести очень большие файлы на виндовую машину через всежекупленную флешку - для начала переформатируйте её Linux'овыми средствами в очень прогрессивную виндовую exFAT :)
PS. Анекдот закончен, можно смеяться...
« Последнее редактирование: 14 Августа 2018, 19:29:57 от alv »
За прекрасных дам!

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 2235
Re: exFAT и её поддержка в Linux
« Ответ #6 : 04 Мая 2019, 12:25:28 »
Возникло желание проиграть фильм размером более 4 gb с флешки на приставке DVB2. Командами, приведёнными выше, перевёл флешку из fat32, ограничивающую размер файла 4 gb, в exfat. Первый раз пытался записать без перемонтирования и получил ошибку, что размер файла превышен. Перемонтировал флешку и спокойно записал файл размером 5,7 gb.


Да вот только плеер с приставки отказался видеть содержимое такой флешки. Очевидно, придётся искать прошивку, поддерживающую exfat.
Что непонятно спрашиваем, если всё понятно - пользуемся.
Что бы ни случилось, всё будет хорошо!

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3470
  • Да будет свет!
Re: exFAT и её поддержка в Linux
« Ответ #7 : 04 Мая 2019, 15:31:28 »
На такой флешке удобно хранить файлы большого размера  :)
Делай с нами, делай как мы, делай лучше нас!

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3470
  • Да будет свет!
Re: exFAT и её поддержка в Linux
« Ответ #8 : 16 Сентября 2019, 16:52:09 »
Для ядра Linux предложен новый вариант драйвера exFAT, сообщается на OpenNET-е.
Цитата: OpenNET
Корейский разработчик Park Ju Hyung, специализирующийся на портировнии прошивок Android для различных устройств, представил новую редакцию драйвера для файловой системы exFAT - exfat-linux, которая является ответвлением от драйвера "sdFAT", разработанного компанией Samsung.
Разработчиком также проведена работа по упрощению установки драйвера. Пользователи Ubuntu 12.04-19.10 и производных дистрибутивов могут установить его из PPA-репозитория ppa:arter97/exfat-linux
sudo add-apt-repository ppa:arter97/exfat-linux -y sudo apt install exfat-dkmsПри этом удаляется ранее установленный пакет exfat-fuse
Проверено в Matuntu-B64.
Цитата: OpenNET
В дальнейшем планируется поддерживать драйвер в актуальном состоянии, перенося изменения из основной кодовой базы Samsung и портируя его для новых выпусков ядра. В настоящее время работа драйвера проверена при сборке с ядрами начиная с 3.4 и заканчивая 5.3-rc на платформах x86 (i386), x86_64 (amd64), ARM32 (AArch32) и ARM64 (AArch64). Автор нового варианта драйвера предложил разработчикам ядра рассмотреть включение нового драйвера в ветку staging в качестве основы для штатного exFAT-драйвера ядра, вместо недавно добавленного устаревшего варианта.
Делай с нами, делай как мы, делай лучше нас!

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 2235
Re: exFAT и её поддержка в Linux
« Ответ #9 : 18 Сентября 2019, 13:01:01 »
Есть у меня флешка на гарантии, от которой, по большому счёту, надо избавиться. Не соответствует стандарту USB3.1.
Изначально на ней перед разделом FAT32 было нераспределённое пространство размером 4,1 МБ. Тест производительности на чтение показывал ужасную картину. Средняя скорость чтения 31,4 МБ/с, время доступа - 2,26 мс.

Удалил нераспределённое пространство и отформатировал в FAT32. Картина не сильно изменилась. Скорость поднялась на 13 МБ, а время доступа увеличилось в 4 раза.

Это по минимуму похоже на USB3.0, но никак на USB3.1, как заявлено в спецификации.
Поэтому на такой флешке не жалко поэкспериментировать. Гарантия всё равно 60 месяцев.
Осталось посмотреть поведение флешки в файловой системе exFAT с новым драйвером. Графических средств для форматирования в exFAT для Linux до сих пор нет. Но не беда. Воспользовался командной строкой (CLI). Результат теста не сильно обрадовал, но оказался получше предыдущих. Скорость чтения в сравнении с первым тестом выросла на 20 МБ/с, время доступа - 2,30 мс.

Зато теперь можно на эту флешку записывать файлы больше 4 ГБ и использовать её для хранения. Пока послужит, а там разберёмся по гарантии.
Что непонятно спрашиваем, если всё понятно - пользуемся.
Что бы ни случилось, всё будет хорошо!