exFAT (Extended File Allocation Table), znany również jako FAT64, jest systemem plików stworzonym przez Microsoft na potrzeby nośników zewnętrznych. Został zawarty w następujących systemach operacyjnych: Windows Embedded CE 6.0, Windows Vista z dodatkiem Service Pack 1, Windows 7 i Windows Server 2008. Jest on bardzo popularny na pamięciach przenośnych, dla których został zaprojektowany. Jego zaletą w stosunku do FAT32, to rozmiar pojedynczego pliku wynoszący 16 eksabajtów, a także rozmiar klastra, który można zwiększyć do 32 MB.

Wraz z jego wprowadzaniem firma MS oczywiście nie udostępniła specyfikacji, ani wersji dla innych systemów, przez co trzeba było rozpracować samemu. Dzięki temu w ciągu kilkunastu miesięcy udało się zrobić działające narzędzia i sterowniki, które pozwalają na odczyt i zapis, ale formatownie póki co jest niedostępne.

Instalacja pod Ubuntu

Abyśmy mogli używać urządzenia z systemem plików exFAT, potrzebne nam będzie repozytorium: ppa:relan/exfat, oraz dwa pliki, jakie się w nim znajdują: fuse-exfat, exfat-utils. Pierwszy z nich odpowiada za odczyt i zapis na pamięci przenośnej z system plików exFAT. Drugi pakiet to zestaw narzędzi konsolowych.

Używanie

Po włożeniu pamięci do portu USB, system wykryje i zamontuje urządzenie, po czym wyświetli nam okno z zawartością.

exFAT

exFAT

exFAT

dumpexfat

Aplikacja odpowiada za wyświetlenie informacji o systemie plików na danym urządzeniu. Oto składnia polecenia:

dumpexfat  <urządzenie>

Opcje to:

  • s – podaje informacje na temat super bloków. Przydatne podczas bardzo zniszczonych systemów plików
  • u – podaje informacje na temat używanych sektorów, zaczynając od 0 i oddzielając je spacjami. Przydane podczas robienia kopii zapasowych
  • v – podaje wersję programu i prawa autorskie

exfatfsck / fsck.exfat

Program odpowiada za sprawdzanie systemu plików exFAT.

exfatfsck <opcje> <urządzenie>

Opcje:

  • v – podaje wersję programu i prawa autorskie

exfatlabel

Nadaje urządzeniu etykietę lub nazwę. Maksymalna długość wynosi 15 znaków.

exfatlabel <opcje> <urządzenie> <nazwa>

Opcje:

  • v – podaje wersję programu i prawa autorskie

mkexfatfs / mkfs.exfat

Program odpowiada za formatowanie urządzenia na system plików exFAT.

mkexfatfs <opcje> <urządzenie>

Opcje:

  • [ -i volume-id ] – jest to 32 bitowy heksadecymalny numer. Domyślnie jest on tworzony na podstawie czasu systemowego
  • [ -n volume-name ] – nazwa urządzenia, do 15 znaków. Domyślnie nie jest nadawana żadna etykieta
  • [ -p partition-first-sec‐tor ] – Pierwszy sektor partycji, zaczynając od początku całego dysku. Super-blok w exFAT posiada pole dla tej wartości, ale jest ono jedynie opcjonalne. Domyślna wartość wynosi 0.
  • [ -s sectors-per-cluster ] – liczba fizycznych sektorów na klaster. Wartość musi być potęgą dwójki, jednakże mniejszą niż 32MB. Domyślna wartość to 4KB, jeżeli wolumin jest mniejszy niż 256MB, 32KB, jeżeli wielkość jest między 256MB – 32GB, oraz 128KB dla woluminów większych, niż 32GB.
  • [ -v ] – podaje wersję

  • Druedain

    Przede wszystkim obwarowanie licencyjne powoduje, że wsparcie nigdy nie znajdzie się oficjalnej linii kernela. Taki sposób postępowania z klientami to wielki FAIL Microsoftu, bo z jednej strony sami wspierają Linuxa lub instalację na maszynach wirtualnych, a z drugiej oferują klientowi narzędzie Windows‐only.

    • Fisiu

      I to jest właśnie prawdziwe oblicze MS. Niby coś robią dla wszystkich a jednak dla siebie. Swego czasu użytkownicy walczyli z ntfs, dzisiaj z exFAT.

      A skoro fsck dla exfat tylko nas informuje o błędach to równie dobrze mogło by go nie być :P Choć liczę, że nibawem naprawa błędów zostanie zaimplementowana :)

      PS. Jesteś pewny, że nie ma żadnych szans na mainline?

    • Druedain

      Nie jestem :) Ale to tylko od MS zależy, czy zmienią licencjonowanie. Póki co problem stanowią Stany Zjednoczone, gdzie stworzenie takiego kernela wiązałoby się z naruszeniem prawa patentowego, a chyba wszyscy wiedzą jakie go test bagno.

      Lada chwila obok exFAT kolejnym problemem okaże się być ReFS…

    • o_O

      To niech ameryka sobie używa okrojonego kernela czy każdego innego softu, skoro lubią niewolnictwo.
      Ja poproszę wersję kernela dla (jeszcze) wolnych ludzi.
      Jakiś osobny branch?

    • Druedain

      A czy ja twierdzę, że to jest fajne? Może niewolnictwem bym tego nie nazwał, ale z grubsza mam zbieżne poglądy. Nie wiem jaki wygląda kwestia wybranych dystrybucji, ale mogę się założyć, że wybrane mają domyślnie zainstalowane te pakiety lub dostępne w repozytorium.

      W Archu są dostępne przez AUR pakiety wprowadzające wsparcie exFAT. Założę się, że w Gentoo jest podobnie.

  • marcinsud

    Jednak rosyjscy programiści nie tacy kiepscy są.

  • tomimaki

    “Dzięki temu w ciągu kilkunastu miesięcy udało się zrobić działające narzędzia i sterowniki, które pozwalają na odczyt, ale zapis póki co jest niedostępny.”

    “Pierwszy z nich odpowiada za odczyt i zapis na pamięci przenośnej z system plików exFAT.”

    Co tu jest nie tak?

    • msl

      Już zwracałem na to uwagę Autorowi poprzez formularz zgłaszania błędów w artykułach, ale nic to nie dało. Podobnie zresztą jak w przypadku innych artykułów Pana Michała…

    • Już poprawione. Po prostu od piątku rana nie mieliśmy dostępu do internetu i dlatego nie mogłem nic zrobić. Proszę się nie denerwować.

      Przy okazji, byłbym wdzięczny za podpisywanie się, kto zgłasza błąd :)

    • tomimaki

      Pidpisywać się? Ok :)

  • gFFFFFFF

    Ja pierdole, spam nawet tutaj

  • Pingback: fuse-exfat i exfat-utils 1.0.0 | OSWorld.pl()

  • Pingback: Samsung uwalnia kod źródłowy systemu plików exFAT | OSWorld.pl()

  • Pingback: AV Linux 6.0.2 z nowymi wtyczkami LV2 Audio oraz Pipelight | OSWorld.pl()

  • Pingback: Manjaro 0.8.12 z Xfce 4.11, KDE SC 4.14 i obsługą exFAT()

  • Pingback: Xubuntu 13.10 - konfiguracja poinstalacyjna - OSWorld.pl()