Błędy APFS: fsck nie może naprawić

12

TL; DR

Zadane to samo pytanie w społecznościach Apple, nic użytecznego. Znajdź post tutaj: https://discussions.apple.com/thread/8123614

bash-3.2# fsck_apfs -d -l /dev/disk5
fletcher64_init:58: Selecting AVX2 implementation of fletcher64
** Checking volume.
** Checking the container superblock.
** Checking the EFI jumpstart record.
** Checking the space manager.
** Checking the object map.
** Checking the APFS volume superblock.
warning: apfs_sb at apfs_fs_index (0): apfs_features has unrecognized features (2)
** Checking the object map.
** Checking the fsroot tree.
error: btn: key (2) compare error: 22
   fsroot tree is invalid.
** The volume /dev/disk5 could not be verified completely.

Sprzętowy iMac (27-calowy, koniec 2013 r.), Dysk SSD 256 GB, nic specjalnego, nic szczególnego.

Sprzęt ze standardowym wydaniem i jestem pewien, że ten sprzęt jest bezbłędny, ponieważ uruchamiam na nim Linux / Freebsd.

Dysk jest domyślnym GPT z pojedynczą partycją do nowej instalacji High Sierra. Po prostu usunąłem cały dysk, ustawiłem nowy schemat GPT, sformatowałem go jako HFS + i uruchomiłem instalator z USB. Wszystko poszło dobrze, ale po kilku dniach sprawdziłem głośność po przerwie w zasilaniu i stwierdziłem, że nie mogę go już naprawić ...

Disk Utility.app mówi to samo, co robi fsck . Narzędzie dyskowe i tak w zasadzie uruchamia fsck w tle, jeśli uważasz, że tak nie jest, uruchom Narzędzie dyskowe bezpośrednio przez Terminal i zobaczysz je na standardowym wyjściu.

Nie mogłem znaleźć żadnej przydatnej dokumentacji, tylko trochę mambo-jumbo o smaku marketingowym bez technicznej głębi.

Po zainstalowaniu 10.13.1 publiczna wersja Beta z nadzieją, że może będzie to rozpoznają te nierozpoznane elementy, teraz mówi mniej więcej to samo i nadal nie można naprawić wolumin - choć nie narzekają nierozpoznanych funkcji.

Czytałem gdzieś, że APFS jest blisko związany z ZFS, więc może można pracować z narzędziami ZFS lub innym oprogramowaniem, które wyraźnie zostało zaprojektowane do naprawy APFS podobnego do poprzedniej historii: http://dtrace.org/blogs/ahl/2016/ 06/15 / apple_and_zfs /

Podtematy

  • Czy istnieje sposób rezygnacji z APFS na SSD?
  • Czy istnieje sposób na konwersję z powrotem do HFS +

Podczas instalacji instalator nie zapytał o konwersję (a może jej brakowało) i teraz utknąłem z dyskiem, którego nie mogę użyć.


Aktualizacja II : po przeczytaniu trochę o ZFS, a następnie odniesieniach z pozycji Wikipedii na temat APFS (popraw mnie, jeśli się mylę) Implementacja APFS powinna sama usunąć wszelkie błędy i teoretycznie nie ma potrzeby używania polecenia fsck. Cóż, myśląc o tym, nigdy nie musiałem fsck woluminu BTRFS, jeśli były jakieś problemy, które były szorowane w czasie rozruchu, zgadnij, że tak właśnie powinien działać APFS - ponieważ odporność na awarie jest jedną z jego podstawowych funkcji.

Więcej szczegółów technicznych APFS w inżynierii odwrotnej znajduje się tutaj

Aktualizacja III (07.01.2018)

Po kilku tygodniach testów APF na natywnym sprzęcie Apple i nie-Apple, wykonując wiele typowych i niecodziennych testów - zalecam trzymać się z daleka, dopóki jądro Linux nie będzie w stanie zamontować woluminu APFS w R / W tryb. Z mojego doświadczenia można oczekiwać, że będzie miał naprawdę zły dzień, jeśli pamięć z APFS ulegnie awarii z jakiegoś powodu i nie będzie w stanie się wyleczyć. W większości przypadków wykonuje to zadanie i może się naprawić - jednak w ciągu 8 tygodni wylądowałem w ponad 5 przypadkach, w których nie było to możliwe - pomimo awarii sprzętu. Nie byłem w stanie naprawić / ponownie użyć woluminu bez ponownego formatowania, dlatego nie używam APFS, dopóki nie jest dobrze udokumentowany i można go zamontować w systemie Linux w trybie R / W dla czegokolwiek innego niż pliki systemowe.

SSD a nie SSD Jeśli korzystasz z APFS na dysku innym niż SSD: będzie wolniejszy niż HFS. Kropka. APFS jest (obecnie) uzasadniony tylko na wewnętrznych dyskach SSD, a na dyskach hybrydowych (chociaż instalator Apple się nie zgodzi). Magnetyczne dyski twarde w żaden sposób nie korzystają z APFS. Wydajność zewnętrznego dysku SSD nie jest naprawdę porównywalna, ponieważ ilość danych, które można wycisnąć przez USB-C jest ograniczona, a HFS + nie będzie wąskim gardłem.

PJJ
źródło
Jaka jest konfiguracja pamięci dla tego komputera? Podaj jak najdokładniej - jakie są dokładne specyfikacje pamięci RAM w każdym gnieździe i czy któraś z tych pamięci RAM innych niż Apple?
Greg Glockner
1
Mam 3 maszyny, każda z nich ma ten sam problem z fs, przeszczepiłem wolumin do usb, a nawet przerzuciłem go na inny dysk, mimo to nie byłem w stanie go naprawić i wyczyścić.
PJJ
Nie miałem szczęścia z naprawieniem uszkodzonego wolumenu APFS. Musiałem przywrócić z kopii zapasowej.
Greg Glockner
tymczasem wydaje się, że jest jakiś sterownik apfs z inżynierią wsteczną open source cf: github.com/sgan81/apfs-fuse natknął się na to i twoją historię, ponieważ mam ten podobny problem apple.stackexchange.com/questions/323883/...
Rene Pickhardt
niektóre oprogramowanie open source, aby mieć oko na odzyskiwanie Pythona github.com/cugu/afro / apfs hex editor github.com/ydkhatri/APFS_010
johndpope

Odpowiedzi:

4

Te same porady, co fora Apple. Wykonaj kopię zapasową i sformatuj swój system.

Apple nie wydało jeszcze specyfikacji lub kodu APFS. Jak się przekonałeś, dokonano tylko bardzo zgrubnej inżynierii wstecznej. Próba interpretacji tego, co klucz 2 źle porównuje w fsrootdrzewie, jest w tym momencie czystą spekulacją.

Nie ma możliwości konwersji z powrotem na HFS + . Istnieje jednak nieoficjalny sposób rezygnacji .

Nie ma potrzeby wykonywania fsckpolecenia, co oznacza, że ​​FS spróbuje naprawić coś złego w locie, online. Żaden system plików nie może być odporny na wszystkie potencjalne błędy związane z uszkodzeniem lub implementacją. Jeśli czegoś nie można naprawić fsckoffline, to naprawdę nie ma szans, aby to naprawić online.

Jednak jednym potencjalnym scenariuszem jest błąd z fsckkodem systemowym, a nie kod, ale znowu to czysta spekulacja bez możliwości zrozumienia, co jest nie tak. To twój wybór, ale zmiana formatu jest najbezpieczniejszym punktem.

użytkownik71659
źródło
Nie chcę tego robić co kilka dni - to nie jest długoterminowa opcja.
PJJ
Jest to możliwe, ale mało prawdopodobne, że natrafiłeś na błąd. Jeśli sformatujesz i przeinstalujesz, a błąd się powtórzy, przyjrzałbym się możliwemu błędowi sprzętowemu jako takiemu (i prawdopodobnie bardziej) niż błędowi w APFS.
Steve Chambers
Może i nie - problem polega na tym, że nie ma dokumentacji, żadnych źródeł, nic. Flagi fsck_apf można odkryć, przeszukując pliki binarne - dlatego radzę trzymać się z dala od APFS do dnia, w którym jądro Linuksa będzie mogło montować woluminy APFS w trybie r / w.
PJJ
2

Spróbuj sprawdzić swoją pamięć RAM.

Miałem podobny problem z 10.13 (High Sierra) na iMacu 2017 (18,3) z fabrycznym dyskiem SSD i pamięcią RAM innej firmy. Często się zawiesza, a pierwsza Narzędzie dyskowe zgłosiła błędy, takie jak „Mapa obiektów jest nieprawidłowa” i stwierdza „Weryfikacja lub naprawa systemu plików nie powiodła się”. Za każdym razem formatowałem dysk SSD i ponownie instalowałem system macOS i oprogramowanie, ale problem powrócił po kilku dniach. Przeszedł pomyślnie Diagnostykę Apple, a mój lokalny sklep Apple nie był w stanie wykryć żadnych problemów sprzętowych (po usunięciu pamięci RAM innej firmy). Nie miałem problemów na wielu innych komputerach, w tym na dwóch innych komputerach iMac, MacBooku i kilku maszynach wirtualnych macOS.

To, co naprawiłem, to dla mnie dopasowanie pamięci RAM według banku, tzn. Bank 0 (DIMM 0/1) zawiera dopasowaną parę pamięci RAM Apple, a Bank 1 (DIMM 0/1) zawiera dopasowaną parę pamięci RAM innej firmy.

Aktualizacja 2018-01-06: Właśnie dostałem kolejną awarię po 1 tygodniu. (Jest to problem z przypadkowymi awariami). Tymczasowo usunąłem pamięć RAM innej firmy, gdy przeprowadzam więcej testów.

Aktualizacja 2018-01-22: Po 10 dniach z nową pamięcią RAM problem nie wystąpił. Myślę, że mój problem został spowodowany złą pamięcią RAM. (Może APFS używa pamięci RAM jako pamięci podręcznej?).

Greg Glockner
źródło
Cześć Greg, w większym / mniejszym stopniu wycofałem się do HFS - z własnego doświadczenia zdecydowanie radzę trzymać się z dala od APFS, dopóki Apple nie wyda źródeł / odpowiedniej dokumentacji i nie będzie implementacji innych firm. Krótko mówiąc - nie dotykaj APFS, dopóki jądro Linux nie będzie w stanie go zamontować :)
PJJ
Używam go od pierwszego dnia bez żadnych problemów. Myślę, że APFS nie jest tutaj problemem. Zamiast tego może być zły sprzęt.
Paul-Sebastian Manole,
0

Mogłem odzyskać pliki po utworzeniu obrazu dysku z uszkodzonej partycji APFS i można go zamontować.

WeiZhi Shi
źródło