Kokias failų sistemas palaiko macOS Tahoe

Tema: 

Daugeliui „Mac“ naudotojų atrodo, kad „macOS“ palaiko tik „APFS“ failų sistemą, tačiaurealybė kur kas įvairesnė – nuo senųjų „HFS+“ iki „ExFAT“, NTFS ir net „ZFS“. Kokią verta rinktis, jei nori išnaudoti savo „Mac“ galimybes maksimaliai.

Failų sistemų palaikymas „macOS“ per pastaruosius kelerius metus pastebimai keitėsi. Šis straipsnis apibendrina, kokios vietinės failų sistemos palaikomos „macOS Tahoe 26“ – tai taikoma lokaliam, prijungtam, o ne tinkliniam ar debesijos saugojimui.

APFS

Tai yra numatytoji failų sistema „Mac“ kompiuteriuose ir kituose „Apple“ įrenginiuose. „macOS“ pagal nutylėjimą naudoja raidžių registro nejautrią (didžiosios ir mažosios raidės traktuojamos taip pat) APFS versiją, o „iOS“ ir kitos sistemos – registro jautrią (didžiosios ir mažosios raidės failų pavadinimuose turi reikšmę). Vienintelė standartinė išimtis: „Time Machine“ atsarginėms kopijoms reikalinga registre jautri APFS versija.

Viena iš nedaugelio situacijų, kur vis dar tikimasi HFS+ naudojimo, yra įkraunami (bootable) „macOS“ diegimo diskai.

Svarbiausia APFS trūkstama funkcija, lyginant su HFS+, yra katalogų kietosios nuorodos (‌hard link) – tai kritinis senųjų „Time Machine“ kopijų elementas HFS+ sistemoje.

Priešingai nei kitos sistemos, kur kiekviena skaidinys = paskirstymas – APFS turi galimybę viename konteineryje turėti kelis APFS paskirstymus (volumes).

Nors APFS yra universali „Mac“ įrenginiuose, kitose platformose ji beveik nenaudojama. Trečiųjų šalių palaikymas egzistuoja tik „Windows“ ir „Linux“ skirtuose „Paragon“ sprendimuose.

HFS+

„Macintosh Extended“ (HFS+) yra APFS pirmtakas ir vis dar visiškai palaikomas „macOS“. Ši failų sistema sukurta kietiesiems diskams, ne SSD, todėl kai kuriais atvejais gali būti tinkamesnė naudojant HDD.

Ankstyvos HFS+ versijos buvo linkusios kaupti klaidas, ypač po sistemos lūžių ar kernel panikų. Vėliau šios problemos buvo sumažintos įvedus žurnalinimą (journalling) – šiandien HFS+ turėtų būti naudojama tik su įjungtu žurnalinimu.

Senasis „HFS“ palaikymas nutrauktas 2019 m.

Pagrindinė išlikusi HFS+ naudojimo priežastis – įkraunami (bootbale) „macOS“ diegimo diskai.

HFS+ trūksta daug modernių APFS funkcijų:

  • momentinių kopijų (snapshots),
  • sparse failų,
  • klonavimo,
  • firmlink jungčių, naudojamų sistemos ir duomenų paskirstymams sujungti.

Dėl vėlyvos šifravimo integracijos (per „Core Storage“), šiuolaikinės „macOS“ versijos nepalaiko šifruoto HFS+. Tačiau HFS+, kaip ir APFS, SSD diskuose palaiko Trim[1] technologiją.

Priešingai nei APFS konteineriuose, kiekvienas HFS+ paskirstymas yra atskiras skaidinys, todėl turi fiksuotą dydį.

ExFAT ir FAT32

Tai senesnės, „MS-DOS“ ir „Windows“ aplinkoje atsiradusios failų sistemos.

ExFAT išlieka dažniausiai naudojama:

  • USB atmintinėms,
  • SD kortelėms,
  • ypač SDXC ir SDUC kortelėms > 32 GB.

Kai kurie naudotojai, kuriems tą patį diską reikia prijungti prie skirtingas operacines sistemas naudojančių įrenginių ir redaguoti tame diske esančius failus – formatuoja išorinius diskus ExFAT formatu. Tai patogu, nes „Microsoft“ 2019 m. ją padarė atvira (patentai licencijuoti į Linux GPLv2 ekosistemą) ir ExFat formatą palaiko: „Windows“ (nuo „Windows 7“), „macOS“ (nuo 10.6.5), „Linux“ (nuo 2020 m. sausio — „exfat“ ir „exfatprogs“ įtraukti į branduolį „mainline kernel“), „ChromeOS“, daugelis modernių „Android“ versijų ir „iPadOS“ bei „iOS“.

Skirtingai nuo FAT32, ExFAT palaiko:

  • labai didelius paskirstymus,
  • didelius failus,
  • optimizavimą „flash“ atminčiai.

Tačiau „macOS“ ExFAT įgyvendinimas nepalaiko Trim.

Šios failų sistemos neturi pažangių funkcijų, tokių kaip:

  • šifravimas,
  • dokumentų versijos,
  • tinkamo „Spotlight“ indeksavimo palaikymas.

Jos palaiko išplėstinius atributus (extended attributes), bet tik per „AppleDouble“ mechanizmą – su papildomais ._* failais. Tai gali klaidinti „Windows“ naudotojus; tokie failai gali būti saugiai ištrinami, pavyzdžiui, naudojant „BlueHarvest“.

Naujesnėse „macOS“ versijose FAT32 ir ExFAT įgyvendintos naudotojo erdvėje (user-space) per FSKit.

NTFS

Nors „Disk Utility“ to nerodo, „macOS“ turi įdiegtą tik skaitymo (read-only) NTFS palaikymą, leidžiantį nukopijuoti failus iš „Windows“.

Rašymo į NTFS formatu suformatuotus diskus palaikymą galima gauti tik naudojant trečiųjų šalių sprendimus, pvz. „Paragon“.

NTFS ypatinga tuo, kad palaiko išplėstus atributus (extended attributes) kaip Alternate Data Streams (ADS).

Galimi formatai Disk Utility programoje

„Disk Utility“ 22.7 versija „macOS Tahoe 26“ su GUID Partition Map gali formatuoti į:

  • APFS – neiššifruota, registro nejautri (case-insensitive)
  • APFS – šifruota, registro nejautri (case-insensitive)
  • APFS – neiššifruota, registre jautri (case-sensitive)
  • APFS – šifruota, registre jautri (case-sensitive)
  • „HFS+ Journaled“ – registro nejautri (case-insensitive)
  • „HFS+ Journaled“ – registre jautri (case-sensitive)
  • „ExFAT“
  • „MS-DOS (FAT32)“

Komandų įrankis diskutil papildomai leidžia formatuoti į:

  • FAT, FAT12, FAT16,
  • HFS+ be žurnalinimo.

ZFS

Kita reikšminga failų sistema, kurią galima naudoti „Mac“ kompiuteriuose, yra ZFS, pasitelkus „OpenZFS on OS X“ projektą. Tai nėra trivialus sprendimas ir reikalingas branduolio plėtinys (kext).

Linux failų sistemos

Šiuolaikinės „Linux“ failų sistemos, tokios kaip „Btrfs“ ir „Ext4“, nėra natūraliai palaikomos „macOS“. Jos geriausiai pasiekiamos per virtualizaciją („Linux VM“).

MacFUSE

Tradiciniai failų sistemų įgyvendinimai „macOS“ reikalauja branduolio plėtinių, tačiau kai kuriuos galima paleisti naudotojo erdvėje (user-space).

Taip veikia FUSE projektas, o su naująja „FSKit“ integracija „MacFUSE“ gali veikti be kext, kas atveria kelią platesniam failų sistemų palaikymui ateityje.


  1. TRIM – tai SSD valymo komanda, kuri leidžia operacinei sistemai pranešti kaupikliui, kurie blokai jau nebenaudojami ir gali būti iš anksto išvalyti. Ji reikalinga tam, kad SSD išlaikytų aukštą rašymo spartą ir sumažintų vidinį nusidėvėjimą.
    TRIM turi ir šalutinį poveikį nedėmesingiems naudotojams – kai failas ištrinamas iš SSD, operacinė sistema siunčia kaupikliui TRIM komandą, kuri pažymi atitinkamus blokus kaip „laisvus“. SSD valdiklis tada savarankiškai išvalo šiuos blokus fone, kad būtų paruošti naujam įrašymui. Todėl:

    • po TRIM komandos fiziniai duomenys labai greitai sunaikinami;
    • blokai išvalomi „žemu lygiu“ ir prie jų nebėra galimybės prieiti;
    • duomenų atkūrimo programos nebegali jų „surinkti“ ir atstatyti, kaip tai įmanoma HDD diskuose.
    TRIM nereikėtų išjungti. Be TRIM, laikui bėgant, SSD gali pradėti rašyti lėčiau, nes kaupikliui reikia papildomo laiko ištrinti senus duomenų blokus prieš įrašant naujus. Ilgalaikis TRIM nebuvimas taip pat gali didinti disko dėvėjimąsi, spartinti jo degradaciją ir bloginti našumą atliekant atsitiktinio rašymo operacijas. 

Apytikslis skaitymo laikas – 4 minutės.
Pasidalinkite straipsniu:
Apie Ramūną Blavaščiūną

Fotografijos, geros technikos ir kavos mylėtojas, didelę savo laisvalaikio dalį skiriantis straipsnių „Mac Arena“ rašymui.