APFS-Fehler: fsck kann nicht reparieren

12

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.

Standardausgabe Hardware und ich bin sicher, dass diese Hardware einwandfrei ist - da ich Linux / Freebsd darauf laufen lasse.

Drive ist ein standardmäßiges, 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 das Installationsprogramm über USB gestartet. Das ging in Ordnung, aber nach ein paar Tagen überprüfte ich die Lautstärke nach einem Stromausfall und stellte fest, dass ich sie nicht mehr reparieren kann ...

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

Ich konnte keine nützliche Dokumentation finden, nur ein Marketing-Mambo-Jumbo ohne technische Tiefe.

Ich habe die öffentliche Beta-Version 10.13.1 mit der Hoffnung installiert, dass sie möglicherweise die nicht erkannten Funktionen erkennt . Jetzt wird mehr oder weniger dasselbe angezeigt und das Volume kann immer noch nicht repariert werden - obwohl sie sich nicht über nicht erkannte Funktionen beschwert.

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

Unterthemen

  • Gibt es eine Möglichkeit, APFS auf SSD zu deaktivieren?
  • Gibt es eine Möglichkeit, zurück zu HFS + zu konvertieren?

Während der Installation hat das Installationsprogramm nicht nach der Konvertierung gefragt (oder ich habe sie 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 Verweise aus dem Wikipedia-Eintrag über APFS gelesen haben (korrigieren Sie mich, wenn ich falsch liege), sollte die APFS-Implementierung alle Fehler selbst beseitigen, und theoretisch ist kein fsck-Befehl erforderlich. Wenn ich daran denke, musste ich auch nie ein BTRFS-Volume überprüfen. Wenn beim Booten einige Probleme aufgetreten sind, sollte APFS auch so funktionieren - da Fehlertoleranz eine der Kernfunktionen ist.

Weitere technische Details von Reverse Engineering APFS finden Sie hier

Update III (07.01.2018)

Nach einigen Wochen APFs, die auf nativer Apple- und Nicht-Apple-Hardware getestet wurden, indem viele allgemeine und einige weniger häufige Tests durchgeführt wurden, empfehle ich, sich davon fernzuhalten, bis der Linux-Kernel ein APFS-Volume in R / W bereitstellen kann Modus. Nach meiner Erfahrung kann man einen wirklich schlechten Tag erwarten, wenn Ihr APFS-basierter Speicher aus irgendeinem Grund abstürzt und sich nicht selbst heilen kann. In den meisten Fällen erledigt es die Arbeit und kann sich selbst reparieren - jedoch bin ich in 8 Wochen in mehr als 5 Fällen gelandet, in denen dies nicht möglich war - trotz eines Hardwarefehlers. Ich konnte das Volume ohne Neuformatierung nicht reparieren / wiederverwenden, daher verwende ich APFS erst, wenn es unter Linux im R / W-Modus für alles andere als Systemdateien gut dokumentiert und bereitstellbar ist.

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 Hybrid-Laufwerken aktiviert sein (obwohl das Apple-Installationsprogramm 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 komprimieren können, begrenzt ist und HFS + kein Engpass darstellt.

PJJ
quelle
Wie ist die Speicherkonfiguration für diesen Computer? Bitte seien Sie so genau wie möglich - wie lauten die genauen Spezifikationen für den Arbeitsspeicher in jedem Steckplatz und sind diese nicht von Apple stammenden RAMs?
Greg Glockner
1
Ich habe 3 Maschinen, von denen jede das gleiche Problem mit der fs hat. Ich habe das Volume in USB übertragen und es sogar auf ein anderes Laufwerk übertragen, obwohl ich es nicht reparieren und reinigen konnte.
PJJ
Ich hatte kein Glück mit der Reparatur eines beschädigten APFS-Volumes. Ich musste aus dem Backup wiederherstellen.
Greg Glockner
In der Zwischenzeit scheint es einen Open-Source-Reverse-Engineer-Apfs-Treiber zu geben. Siehe: github.com/sgan81/apfs-fuse ist auf dieses und Ihre Geschichte gestoßen, da ich dieses etwas ähnliche Problem habe. apple.stackexchange.com/questions/323883/…
Rene Pickhardt
einige Open-Source-Software, um die Python-Wiederherstellung im Auge zu behalten github.com/cugu/afro / apfs hex editor github.com/ydkhatri/APFS_010
johndpope

Antworten:

4

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

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

Es gibt keine Möglichkeit, zurück zu HFS + zu konvertieren . Es gibt jedoch einen inoffiziellen Weg, sich abzumelden.

Es ist kein fsckBefehl erforderlich , dh der FS versucht, Fehler im laufenden Betrieb online zu beheben. Kein Dateisystem kann vor allen möglichen Schäden oder Implementierungsfehlern gefeit sein. Wenn etwas nicht fsckoffline repariert werden kann, gibt es wirklich keine Möglichkeit, es online reparieren zu lassen.

Ein mögliches Szenario ist jedoch ein Fehler mit fsckund nicht der Systemcode, aber auch dies ist reine Spekulation, ohne verstehen zu können, was falsch ist. Sie haben die Wahl, aber eine Neuformatierung ist der sicherste Punkt.

user71659
quelle
Ich möchte das nicht alle paar Tage tun - das ist keine langfristige Option.
PJJ
Es ist möglich, aber nicht wahrscheinlich, 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 ansehen.
Steve Chambers
Könnte oder könnte nicht - das Problem ist, dass es keine Dokumentation, keine Quellen, kein Nichts gibt. Man kann fsck_apf-Flags durch Suchen in der Binärdatei erkennen. Daher empfehle ich, sich von APFS fernzuhalten, bis der Linux-Kernel APFS-Volumes im R / W-Modus bereitstellen kann.
PJJ
2

Überprüfen Sie Ihren RAM.

Ich hatte ein ähnliches Problem mit 10.13 (High Sierra) auf einem 2017 iMac (18,3) mit einer werkseitigen SSD und RAM eines Drittanbieters. Ich habe wiederholte Einfrierungen erhalten, und die Erste Hilfe des Festplatten-Dienstprogramms hat Fehler wie "Objektzuordnung ist ungültig" gemeldet und kommt zu dem Schluss, dass die Überprüfung oder Reparatur des Dateisystems fehlgeschlagen ist. Jedes Mal formatierte ich die SSD neu und installierte macOS und Software neu, aber das Problem trat nach einigen Tagen wieder auf. Es hat Apple Diagnostics bestanden und mein lokaler Apple Store konnte keine Hardwareprobleme erkennen (nachdem ich den RAM des Drittanbieters entfernt hatte). Ich hatte keine Probleme mit mehreren anderen Computern, darunter zwei anderen iMacs, einem MacBook und mehreren virtuellen 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 2018-01-06: Nach 1 Woche ist ein weiterer Fehler aufgetreten. (Dies ist das Problem mit zufälligen Fehlern). Ich habe den Arbeitsspeicher eines Drittanbieters vorübergehend entfernt, während ich weitere Tests durchführe.

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

Greg Glockner
quelle
Hallo Greg, ich bin mehr oder weniger auf HFS zurückgegangen. Aus meiner persönlichen Erfahrung empfehle ich dringend, mich von APFS fernzuhalten, bis Apple entweder die Quellen oder die richtige Dokumentation veröffentlicht und es eine Implementierung von Drittanbietern gibt. Kurz gesagt - berühren Sie APFS erst, wenn der Linux-Kernel es
bereitstellen
Ich benutze es seit Tag 1 offiziell ohne Probleme. Ich denke, APFS ist hier nicht das Problem. Möglicherweise liegt stattdessen schlechte Hardware vor.
Paul-Sebastian Manole
0

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

WeiZhi Shi
quelle