Wie behebt man eine ungültige Kartenknotenverknüpfung?

Wie behebt man eine ungültige Kartenknotenverknüpfung?

Mein Laufwerk ist auf HFS+ formatiert und nicht sauber.

Wenn ich beispielsweise versuche, das Laufwerk über zu mounten mount -f -o rw, dmesgwird folgender Fehler angezeigt:

hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.
mounting read-only.

Wenn ich also versuche, es über fsck.hfsplus(einen Teil von hfsprogs) zu reparieren, heißt es:

$ fsck -dyf /media/sdd2
** /dev/sdd2
    Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
   Invalid map node linkage
(4, 0)
** Volume check failed.
volume check failed with error 7 
    volume type is pure HFS+ 
    primary MDB is at block 0 0x00 
    alternate MDB is at block 0 0x00 
    primary VHB is at block 2 0x02 
    alternate VHB is at block 3906291630 0xe8d547ae 
    sector size = 512 0x200 
    VolumeObject flags = 0x07 
    total sectors for volume = 3906291632 0xe8d547b0 
    total sectors for embedded volume = 0 0x00 

Trotz Verwendung von -yoder -fwird das Laufwerk nicht repariert.

Hier ist die Erklärung dieses Fehlers gemäß diesemBlog:

Sobald der B*-Baum geprüft wurde, fährt fsck mit der Prüfung der Zuordnungskarte fort. fsck prüft den Header-Knoten wie oben beschrieben. Dann prüft es jeden Knoten und stellt sicher, dass er sich als Zuordnungsknoten identifiziert und die richtige Anzahl von Datensätzen hat. Wenn der Knoten diese Prüfungen nicht besteht, gibt fsck „Ungültiger Zuordnungsknoten“ zurück. Dann prüft fsck, ob die Knotenhöhe nicht 0 ist („Ungültige Knotenhöhe“). Wenn es schließlich bis zum Ende des Baums geschafft hat und die Kartengröße (die die Gesamtzahl der Datensätze im Baum speichert und bei jeder Verarbeitung eines Knotens dekrementiert wird) nicht 0 ist,fsck weiß, dass es verwaiste Knoten gibt, und gibt „Ungültige Map-Knotenverknüpfung“ zurück.

Ich weiß jedoch nicht, wie ich diesen Fehler beheben kann, da er nicht automatisch korrigiert wird und ich die Partition nicht so mounten kann, dass sie beschreibbar ist. Irgendwelche Ideen, wie ich diesen Fehler beheben kann?

Das PS-Festplatten-Dienstprogramm hat ein ähnliches Problem.

Antwort1

Sie sollten versuchen, die Katalogdatei neu zu erstellen (B-Baum) auf dem angegebenen Dateisystem (dasHFS+) durch Angabe -reiner Option für fsck, zum Beispiel:

$ fsck.hfsplus -fryd /dev/sdd2

Diese Option funktioniert derzeit nur, wenn auf dem angegebenen Dateisystem genügend zusammenhängender Speicherplatz für eine neue Katalogdatei vorhanden ist und die Blattknoten in der vorhandenen Katalogdatei nicht beschädigt sind (mit anderen Worten, fsck kann alle Knoten im angeforderten B-Baum erfolgreich durchlaufen).

Wenn Sie keine weitere Datenbeschädigung riskieren möchten, führen Sie natürlich vor der Durchführung von Festplattenoperationen eine Sicherung (vollständiger Disk-Dump des Image) durch.

Sehen Sie mehr, indem Sie ausführen man fsck.hfsplus.

Wenn dies nicht hilft, versuchen Sie, Ihre Festplatte mit anderen Tools zu reparieren, z. B.:

  • TestDiskvon CGSecurity | Mac, Windows, Linux ( apt-get install testdisk)
  • DiskWarriorvon Alsoft (kommerziell) - bootfähige Diskette oder Mac-App

verwandte Informationen