APFS-Fehler: fsck kann nicht reparieren

TL;DR

Habe die gleiche Frage in Apple Communities gestellt, nichts Nützliches. Den Beitrag finden Sie hier: 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.

Hardware iMac (27 Zoll, Ende 2013), 256 GB Standard-SSD, nichts Besonderes, nichts Besonderes.

Standardhardware und ich bin mir sicher, dass diese Hardware einwandfrei ist, da ich Linux/Freebsd darauf verwende.

Drive ist standardmäßig ein einfach partitioniertes GPT für die Neuinstallation von High Sierra. Ich habe einfach das gesamte Laufwerk gelöscht, ein neues GPT-Schema festgelegt, es als HFS+ formatiert und den Installer von USB gestartet. Das ging ok, aber nach ein paar Tagen habe ich das Volume nach Stromausfall überprüft und festgestellt, dass ich es nicht mehr reparieren kann ...

Disk Utility.app sagt dasselbe wie fsck . Das Festplatten-Dienstprogramm führt fsck sowieso im Hintergrund aus. Wenn Sie der Meinung sind, dass dies nicht der Fall ist, starten Sie das Festplatten-Dienstprogramm direkt über Terminal und Sie werden es in stdout sehen.

Ich konnte keine brauchbare Dokumentation finden, nur ein wenig Marketing-Mambo-Jumbo ohne jegliche technische Tiefe.

Ich habe die öffentliche Beta-Version 10.13.1 in der Hoffnung installiert, dass sie vielleicht die nicht erkannten Funktionen erkennt , jetzt sagt sie mehr oder weniger dasselbe und kann das Volume immer noch nicht reparieren – obwohl sie sich nicht über nicht erkannte Funktionen beschwert.

Ich habe irgendwo gelesen, dass APFS eng mit ZFS verwandt ist, also kann man vielleicht mit ZFS-Tools oder anderer Software arbeiten, die explizit darauf ausgelegt ist, APFS zu reparieren, ähnlich einer Hintergrundgeschichte hier: http://dtrace.org/blogs/ahl/2016/ 15.06.apple_and_zfs/

Unterthemen

  • Gibt es eine Möglichkeit, APFS auf SSD abzulehnen?
  • Gibt es eine Möglichkeit, wieder auf HFS+ umzuwandeln?

Während der Installation hat das Installationsprogramm nicht nach der Konvertierung gefragt (oder vielleicht habe ich es verpasst) und jetzt stecke ich mit einem Laufwerk fest, das ich nicht verwenden kann.


Update II : Nachdem Sie ein wenig über ZFS gelesen und dann auf den Wikipedia-Eintrag über APFS verwiesen haben (korrigieren Sie mich, wenn ich falsch liege), sollte die APFS-Implementierung alle Fehler selbst beheben, und theoretisch ist kein fsck-Befehl erforderlich. Nun, wenn ich darüber nachdenke, musste ich auch nie ein BTRFS-Volume fscken, wenn es einige Probleme gab, die beim Booten bereinigt wurden, schätze, so sollte APFS auch funktionieren - da Fehlertoleranz eine seiner Kernfunktionen ist.

Weitere technische Details von Reverse Engineering APFS finden Sie hier

Aktualisierung III (07.01.2018)

Nach einigen Wochen des APF-Testens auf nativer Apple- und Nicht-Apple-Hardware, indem ich viele übliche und einige nicht so übliche Tests durchführte, empfehle ich, sich davon fernzuhalten, bis der Linux-Kernel in der Lage ist, ein APFS-Volume in R/W zu mounten Modus. Aus meiner Erfahrung kann man mit einem wirklich schlechten Tag rechnen, wenn Ihr APFS-basierter Speicher aus irgendeinem Grund abstürzt und sich nicht selbst heilen kann. In den meisten Fällen erledigt es den Job und kann sich selbst reparieren - aber in 8 Wochen bin ich in mehr als 5 Fällen gelandet, in denen es nicht konnte - trotz Hardwarefehler. Ich war nicht in der Lage, das Volume ohne Neuformatierung zu reparieren/wiederzuverwenden, daher verwende ich APFS erst, wenn es gut dokumentiert und unter Linux im R/W-Modus für etwas anderes als Systemdateien bereitgestellt werden kann.

SSD vs. Nicht-SSD Wenn Sie APFS auf Nicht-SSD ausführen: Es ist langsamer als HFS. Zeitraum. APFS ist (derzeit) nur auf internen SSD-Laufwerken sinnvoll und kann auf Hybridlaufwerken verwendet werden (obwohl das Apple-Installationsprogramm dem nicht zustimmt). Magnetische Festplatten profitieren in keiner Weise von APFS. Die Leistung externer SSD-Laufwerke ist nicht wirklich vergleichbar, da die Datenmenge, die Sie über USB-C quetschen können, begrenzt ist und HFS+ kein Engpass sein wird.

Was ist die Speicherkonfiguration für diesen Computer? Bitte seien Sie so genau wie möglich – wie lauten die genauen Spezifikationen für RAM in jedem Steckplatz, und handelt es sich bei diesen RAM nicht um Apple?
Ich habe 3 Maschinen, jede von ihnen hat das gleiche Problem mit dem fs, ich habe das Volume auf USB übertragen und es sogar auf ein anderes Laufwerk übertragen, trotzdem konnte ich es nicht reparieren und reinigen.
Ich hatte kein Glück mit der Reparatur eines beschädigten APFS-Volumes. Ich musste aus dem Backup wiederherstellen.
Inzwischen scheint es einige rückentwickelte Open-Source-APFS-Treiber zu geben .
einige Open-Source-Software, um die Python-Wiederherstellung im Auge zu behalten github.com/cugu/afro / apfs Hex-Editor github.com/ydkhatri/APFS_010

Antworten (3)

Gleicher Rat wie in den Apple-Foren. Sichern und formatieren Sie Ihr System neu.

Apple hat noch keine APFS-Spezifikation oder -Code veröffentlicht. Wie Sie festgestellt haben, wurde nur ein sehr grobes Reverse Engineering durchgeführt. Der Versuch zu interpretieren, welche Schlüssel 2 im fsrootBaum nicht übereinstimmen, ist an dieser Stelle reine Spekulation.

Es gibt keine Möglichkeit, zurück zu HFS+ zu konvertieren . Es gibt jedoch eine inoffizielle Möglichkeit, sich abzumelden.

Es ist kein fsckBefehl erforderlich, was bedeutet, dass der FS versucht, alle Fehler on-the-fly online zu beheben. Kein Dateisystem kann vor allen potenziellen Schäden oder Implementierungsfehlern immun sein. Wenn etwas nicht fsckoffline behoben werden kann, gibt es wirklich keine Chance, es online beheben zu lassen.

Ein mögliches Szenario ist jedoch ein Fehler mit fsckund nicht mit dem Systemcode, aber auch das ist reine Spekulation, ohne dass man verstehen kann, was falsch ist. Es ist Ihre Wahl, aber eine Neuformatierung ist der sicherste Punkt.

Ich möchte das nicht alle paar Tage machen - das ist keine langfristige Option.
Es ist möglich, aber unwahrscheinlich, dass Sie auf einen Fehler gestoßen sind. Wenn Sie neu formatieren und neu installieren und der Fehler erneut auftritt, würde ich einen möglichen Hardwarefehler als (und möglicherweise wahrscheinlicher) als einen Fehler in APFS betrachten.
Vielleicht oder vielleicht auch nicht – das Problem ist, dass es keine Dokumentation, keine Quellen, gar nichts gibt. Man kann fsck_apf-Flags entdecken, indem man in der Binärdatei sucht - daher rate ich, sich von APFS fernzuhalten, bis der Linux-Kernel APFS-Volumes im R/W-Modus mounten kann.

Versuchen Sie, Ihren Arbeitsspeicher zu überprüfen.

Ich hatte ein ähnliches Problem mit 10.13 (High Sierra) auf einem 2017er iMac (18,3) mit einer werkseitigen SSD und RAM eines Drittanbieters. Ich wurde wiederholt eingefroren und das Festplattendienstprogramm Erste Hilfe meldete Fehler wie „Objektzuordnung ist ungültig“ und kam zu dem Schluss „Überprüfung oder Reparatur des Dateisystems fehlgeschlagen“. Jedes Mal formatierte ich die SSD neu und installierte macOS und Software neu, aber das Problem kehrte nach ein paar Tagen zurück. Es hat die Apple-Diagnose bestanden, und mein lokaler Apple Store konnte keine Hardwareprobleme erkennen (nachdem ich den RAM des Drittanbieters entfernt hatte). Ich hatte keine Probleme auf mehreren anderen Computern, darunter 2 andere iMacs, ein MacBook und mehrere virtuelle MacOS-Maschinen.

Was es für mich behoben hat, war, RAM nach Bank abzugleichen, dh Bank 0 (DIMM 0/1) enthält ein übereinstimmendes Paar Apple RAM und Bank 1 (DIMM 0/1) enthält ein übereinstimmendes Paar RAM von Drittanbietern.

Update 06.01.2018: Habe gerade nach 1 Woche einen weiteren Ausfall bekommen. (Dies ist das Problem mit zufälligen Fehlern). Ich habe den RAM des Drittanbieters vorübergehend entfernt, während ich weitere Tests durchführe.

Update 22.01.2018: Nach 10 Tagen mit neuem RAM ist das Problem nicht aufgetreten. Ich glaube, mein Problem wurde durch schlechten RAM verursacht. (Vielleicht verwendet APFS RAM als Cache?).

Hallo Greg, ich bin mehr/weniger zu HFS zurückgekehrt - aus meiner persönlichen Erfahrung rate ich dringend, sich von APFS fernzuhalten, bis Apple entweder die Quellen / die richtige Dokumentation veröffentlicht und es eine Implementierung von Drittanbietern gibt. Kurz gesagt - berühren Sie APFS nicht, bis der Linux-Kernel es mounten kann :)
Benutze es seit Tag 1 offiziell ohne Probleme. Ich denke, APFS ist hier nicht das Problem. Schlechte Hardware könnte stattdessen sein.

Ich konnte Dateien wiederherstellen, nachdem ich ein Disk-Image von der beschädigten APFS-Partition erstellt hatte und es gemountet werden konnte.