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:

[bash]dumpexfat <urządzenie>[/bash]

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.

[bash]exfatfsck <opcje> <urządzenie>[/bash]

Opcje:

  • v – podaje wersję programu i prawa autorskie

exfatlabel

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

[bash]exfatlabel <opcje> <urządzenie> <nazwa>[/bash]

Opcje:

  • v – podaje wersję programu i prawa autorskie

mkexfatfs / mkfs.exfat

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

[bash]mkexfatfs <opcje> <urządzenie>[/bash]

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ę
Poprzedni artykułAmnesic Incognito Live System 0.10.1
Następny artykułJądra Linux 2.6.32.56, Linux 3.0.19 i Linux 3.2.4
Michał Olber
Interesuję się głównie sprzętem i działaniem jego pod systemami GNU/Linux. Testuję różne dystrybucje i robię recenzje. Interesuję się działaniem sprzętu pod Linuksem, dzięki czemu wiem, jaki zestaw komputerowy wybierać :)

17 KOMENTARZE

  1. 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.

    • 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?

    • 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…

    • 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?

    • 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.

  2. „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?

    • 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 :)

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj