^

APFS ma błąd, który może powodować utratę danych na obrazach dysków

Jaromir Kopp

20 lutego 2018

Obrazy dyskowe są rzeczą, która mnie zachwyca w Macach od lat 90 zeszłego wieku. Mogę się założyć, że korzystacie z nich, nawet gdy nie wiecie co to takiego. Niestety APFS ma błąd związany właśnie z nimi.

Obraz dysku

Jest to taki plik, który po „uruchomieniu” pojawia się jako napęd w systemie. Przez system jest też traktowany jak zwykły dysk. Obrazy dysku są przydatne na bardzo wiele sposobów, jednym z popularniejszych jest dystrybucja i instalowanie oprogramowania. Jednak wielu z nas używa obrazów dysku do przechowywania danych, np. na serwerach. Inna ważna cecha obrazu dysku, to możliwość jego szyfrowania i montowania tylko po podaniu hasła. W ten sposób staje się on idealnym i wygodnym schowkiem na poufne dane.

Problem z APFS na obrazach dyskowych

Wspomniany problem opisał na swoim blogu, autor mojego ulubionego programu do przenoszenia danych i tworzenia kopii bootowalnych, czyli Carbon Copy Clonera, Mike Bombich.
Ważne: Problem dotyczy tylko obrazów dyskowych zaformatowanych w APFS, nie dotyczy dysków fizycznych w tym formacie.
Mike Bombich odkrył, że obraz dysku „sparse”, czyli taki, który zajmuje na macierzystym napędzie tylko tyle miejsca, ile w danym momencie potrzebują przechowywane przez niego dane, oszukuje, podając ilość wolnego przestrzeni. Potrafi wykazać, że ma więcej wolnego miejsca niż ilość, jaką zapewnia dysk, na którym obraz jest zapisany. Co gorsza, nie pokazuje błędu podczas zapisu danych do obraz dysku. Dopiero po odmontowaniu i ponownym zamontowaniu obrazu, okazuje się, że zapisane na nim dane są uszkodzone.
Autor CCC wskazał dwa problemy związane z Sparse Image w APFS. Pierwszy to nierzetelne informowanie o ilości wolnego miejsca w obrazie, drugi to brak komunikatu o błędzie podczas zapisu danych przekraczających ilość wolnego miejsca na dysku macierzystym. Problemy zostały już zgłoszone do Apple.

Mój test

Oczywiście usiłowałem potwierdzić problem, ale zabrałem się za to w sposób uproszczony. Na partycji dysku, który miał tylko 48 GB wolnego miejsca, założyłem dwa obrazy o pojemności 60 GB. Jeden w APFS, drugi w HFS+. Obraz w APFS po zamontowaniu radośnie informował o dostępnych 60 GB miejsca, ten w HFS+ rzetelnie o 48 GB. Jednak próba zapisu na dysk w APFS od razu powodowała komunikat o błędzie (niezwiązany z objętością). Tak czy siak, widać, że obsługa obrazów APFS nie działa prawidłowo.

Dwa obrazy APFS i HFS

Po lewej obraz zaformatowany w HFS+ i prawidłowa ilość wolnej przestrzeni, po prawej w APFS i zbyt optymistyczna ilość. Oba na tym samym dysku.


Do czasu naprawienia problemu przez Apple, radziłbym nie formatować obrazów w APFS. Stary poczciwy HFS+ radzi sonie na nich wystarczająco dobrze.
Ogłoszona niedawno zmiana w „taktyce” udostępniania nowych wersji systemów i skupienie się na stabilności, powinna zapobiec takim błędom w przyszłości. Choć oczywiście błędów całkowicie nie da się nigdy wyeliminować, ale ostatnio jest ich więcej niż zwykle.
Więcej o problemie oraz film demonstrujący znajdziecie na blogu Mike’a Bombicha

Jaromir Kopp

Użytkownik komputerów Apple od 1991 roku. Dziennikarz technologiczny, programista i deweloper HomeKit. Propagator przyjaznej i dostępnej technologii. Lubi programować w Swift i czystym C. Tworzy rozwiązania FileMaker. Prowadzi zajęcia z IT i programowania dla dzieci oraz młodzieży, szkoli też seniorów. Współautor serii książek o macOS wydanych przez ProstePoradniki.pl. Projektuje, programuje oraz samodzielnie wykonuje prototypy urządzeń Smart Home. Jeździ rowerem.
Komentarze (3)
L

3 komentarze

  1. Michał t

    Przestańcie pisać ciągle o problemach Apple! Przecież windows ma jeszcze więcej wpadek, dużo gorszych niz root, czy utrata danych na Macach.

  2. Paweł

    To jest witryna o tematyce Apple. Czemu mają o tym nie pisać? I co ma Windows do tego?

  3. Jaromir Kopp

    Michal wiesz, że jako Mac Wyznawcy ciężko mi pisać o takich rzeczach, ale jednak trzeba być czujnym nawet jak wpadek jest (z czym się zgadzam) znacznie mniej.