Reparieren Sie Time Machine-Sparsebundle, das nicht mehr montiert werden kann


24

Ich habe mein Time Machine-Backup auf irgendeine Weise durcheinander gebracht. Ich kann die Sparsebundle-Datei nicht mehr mounten, da ich die Fehlermeldung erhalte, dass es keine mountenbaren Dateisysteme gibt.

Ich habe den Befehl hdiutil verwendet, um die Sparsebundle-Datei anzuhängen:

hdiutil attach -nomount -readwrite flattop.sparsebundle

was zu folgenden / dev / Geräten führte:

/dev/disk2              Apple_partition_scheme
/dev/disk2s1            Apple_partition_map
/dev/disk2s2            Apple_HFSX

Danach habe ich den Befehl fsch_hfs ausgeführt, um das Hauptvolume (/ dev / disk2s2) zu überprüfen:

fsck_hfs -drf /dev/disk2s2

Dies führte zu dem Hinweis, dass das Time Machine Backups-Volume beschädigt ist und repariert werden musste:

Unable to open block device /dev/disk2s2: Permission deniedjournal_replay(/dev/disk2s2) returned 13
** /dev/rdisk2s2 (NO WRITE)
    Using cacheBlockSize=32K cacheTotalBlock=32768 cacheSize=1048576K.
   Executing fsck_hfs (version diskdev_cmds-540.1~34).
Non-empty journal:  start = 66310144, end = 94912512
   Journal need to be replayed but volume is read-only
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
   The volume name is Time Machine Backups
** Checking extents overflow file.
   Unused node is not erased (node = 3568)
   Unused node is not erased (node = 3574)
   Unused node is not erased (node = 3575)
** Checking catalog file.
** The volume Time Machine Backups was found corrupt and needs to be repaired.
    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 2865568974 0xaacd1cce 
    sector size = 512 0x200 
    VolumeObject flags = 0x07 
    total sectors for volume = 2865568976 0xaacd1cd0 
    total sectors for embedded volume = 0 0x00 

Wie Sie sehen, wird auch der Fehler "Block Device / dev / disk2s2 kann nicht geöffnet werden: Die Berechtigung deniedjournal_replay (/ dev / disk2s2) hat 13 zurückgegeben" angezeigt.

Ich dachte, dies könnte daran liegen, dass der Befehl fsck_hfs nicht als su ausgeführt wurde, also habe ich es mit sudo versucht, aber dies hatte das gleiche Ergebnis.

Meine Sparsebundle-Datei befindet sich auf einem Synology DS408 NAS und läuft seit ungefähr 2 Jahren ohne Probleme :(

Hat jemand eine Idee, wie man das weiterführt?

Herzliche Grüße, Niels R.

UPDATE: Wie ich beim Schreiben dieser Frage vermutet habe, habe ich wahrscheinlich ein Problem mit den Lese- / Schreibrechten. Ich sehe jetzt das Volume im Festplatten-Dienstprogramm und wenn ich auf "Verify" klicke, erhalte ich die folgende Ausgabe:

Verifying volume “Time Machine Backups”
Checking file systemJournal need to be replayed but volume is read-only
Checking Journaled HFS Plus volume.
Detected a case-sensitive volume.
Checking extents overflow file.
Unused node is not erased (node = 3568)
Checking catalog file.
Keys out of order
The volume Time Machine Backups was found corrupt and needs to be repaired.
Error: This disk needs to be repaired. Click Repair Disk.

Kann ich die Sparsebundle-Datei einfach ändern, um die richtigen Berechtigungen festzulegen?

Antworten:


26

In meinem Blog wird beschrieben, wie NAS-basierte Sparsebundle-Fehler repariert werden können . Zusammenfassend:

  1. hdiutil attach -nomount -noverify -noautofsck /Volumes/{name of your disk}/{name of}.sparsebundle

    Du wirst dann sowas sehen

    /dev/diskx Apple_partition_scheme
    /dev/diskxs1 Apple_partition_map
    /dev/diskxs2 Apple_HFSX
    

    Wobei x die Festplatten-ID für die externe Festplatte ist. x kann 2, 3, 4 oder höher sein. Sie interessieren sich für das mit Apple_HFSX oder Apple_HFS bezeichnete.

  2. fsck_hfs -drfy /dev/diskxs2 Verwenden des in Schritt 1 angegebenen relevanten Geräts.

    Hoffentlich werden Sie irgendwann sehen

    Das Volume wurde erfolgreich repariert

  3. hdiutil detach /dev/diskxs2


Seit OS X 10.6.3 weigert sich Time Machine jedoch, auf ein Ziel-Volume zu schreiben, dessen Überprüfung fehlgeschlagen ist. Auch wenn der oben beschriebene Vorgang die Wiederherstellung der Sicherung erfolgreich abgeschlossen hat, müssen Sie möglicherweise die schwarzen Markierungen entfernen, die Time Machine bei fehlgeschlagener Überprüfung geschrieben hat.

  1. Schalte das Sparsebundle frei

    chflags -R nouchg /Volumes/{name of your disk}/{name of}.sparsebundle
    
  2. Verschieben Sie es wieder an seinen ursprünglichen Speicherort

    mv /Volumes/{name of your disk}/{name of}_YYYY-MM-DD.sparsebundle /Volumes/{name of your disk}/{name of}.sparsebundle
    
  3. Bearbeiten Sie die Datei im obersten Verzeichnis des Sparsebundles com.apple.TimeMachine.MachineID.plist.

    • Löschen

      <key>RecoveryBackupDeclinedDate</key>
      <date>{whatever-the-date}</date>
      
    • Veränderung

      <key>VerificationState</key>
      <integer>2</integer>
      

      zu

      <key>VerificationState</key>
      <integer>0</integer>
      

3
Der Aufruf zur fsck_hfsRückkehr: Block Device / dev / disk7s2 kann nicht geöffnet werden: Ressource busyjournal_replay (/ dev / disk7s2) zurückgegeben 16
Stefan Müller

3
fsck_hfs -drfy / dev / disk2s2 Block Device / dev / disk2s2 kann nicht geöffnet werden: Berechtigung verweigertjournal_replay (/ dev / disk2s2) zurückgegeben 13 ** / dev / rdisk2s2 (NO WRITE)
malhal

Diese Anleitung hat bei mir nicht funktioniert, aber der Link von Christian L hat es geschafft.
Malhal

Das hat das Problem für mich gelöst, danke! Hier ist die Ausgabe der Befehle (um die Suche zu vereinfachen ): gist.github.com/oleander/d3d37a46940d0ac4b538da62e0745601 Pro Tipp: Führen Sie die obigen Befehle nicht über Wi-Fi (802.11n, 200 GB) aus. Versuchte es zuerst und musste nach 30h + abbrechen. Endete mit einem Ethernet-Kabel, was "nur" 2 Stunden dauerte.
Linus Oleander

1
Wenn fsck_hfs sagt, kann nicht reparieren versuchen diskutil repairVolume / dev / disk2s2
malhal

6

Erweiterte Attribute im Sparsebundle verhindern möglicherweise das Schreiben in die Datei:

Lauf

chflags -R nouchg flattop.sparsebundle

Aber seien Sie vorsichtig, das Sparsebundle wurde möglicherweise geschützt, weil es wirklich kaputt ist.


Wenn es wirklich kaputt ist, gibt es etwas zu verlieren? Ich verstehe, dass die einzige andere Option darin besteht, sie zu löschen und eine neue Sicherung zu starten.
Matt

4

Es ist nicht so einfach wie chmod. Zunächst scheint es , dass 10.5 / 10.6 / 10.7 geringfügige Unterschiede in der Handhabung eines Bündels mit geringer Dichte aufweisen. Zweitens werden die Flags und der Dirty / Bad-Status eines Sparse-Bundles an anderer Stelle gespeichert. Drittens müssen Sie möglicherweise das Sparse-Bundle selbst angreifen - nicht das darin enthaltene Dateisystem.

Am besten überlassen Sie dem Festplatten-Dienstprogramm die Reparatur des Images, bevor Sie sich das darin eingebettete Dateisystem ansehen. Es funktioniert sowohl auf dem Bundle als auch auf den Dateisystemen - und weiß, wie Apple Dinge gespeichert hat.

Die Details des Bundles sind entweder proprietär oder in den Entwicklerdokumenten nur schwer zu erkennen - und es ist sicherlich nichts, was andere Dienstprogramme von Drittanbietern an dieser Stelle reparieren möchten. Solange Sie eine gleichwertige oder neuere Version des Festplatten-Dienstprogramms als den Mac verwenden, der die Sicherungen erstellt hat, sollten Sie in Ordnung sein. Sobald Sie das Festplatten-Dienstprogramm aufgegeben haben - vielleicht versuchen Sie es mit Drive Genius oder Disk Warrior -, aber ich würde mich an Apples Tool halten, wenn Sie dieses Bundle wiederverwenden möchten.

Die Art der Sparse Bundles - insbesondere die Hardlinks sowie das Konzept, dass sie beim Löschen von Dateien nicht komprimiert werden, erfordern viel Arbeit . Ich habe DiskUtility zwei Wochen lang laufen lassen und einen Reparaturdurchlauf für ein 800 MB großes Archiv immer noch nicht abgeschlossen.

In der Praxis ist es möglicherweise besser, auf eine frühere Version Ihres NAS zurückzugreifen, wenn dieser über Snapshots verfügt oder selbst gesichert ist. Am Ende - wenn es Fehler gibt, die fsck / Disk Utility nicht beheben kann, wird Ihr Sparse-Bundle als fehlerhaft markiert und gesperrt. Sie können dann lesen, aber nie wieder schreiben. Prüfen Sie, ob Sie eine Maschine an den Speicher anschließen und Probleme beheben können (DAS- oder Hochgeschwindigkeitsverbindungen sind besser - ebenso wie eine Maschine, die die Zeit hat, Probleme zu beheben und nicht neu gestartet zu werden, ist ideal).

Viel Glück - dies kann möglicherweise nicht aus den von Ihnen angegebenen Details wiederhergestellt werden.


1

@ Garths Antwort hat bei mir nicht funktioniert. Ich musste die -readwriteOption hinzufügen hdiutil, damit es für mein verschlüsseltes Bild funktioniert. Fragt ohne diese Option hdiutilnicht nach dem Passwort.

Beim fsck-Schritt bin ich auf a gestoßen Disk full error. Um das zu beheben, habe ich die resizeOption verwendet, um die Bildgröße vor dem Ausführen von fsck zu vergrößern.

Hier sind die Befehle, mit denen ich das Problem behoben habe:

# chflags -R nouchg MyImage.sparsebundle

# hdiutil attach -nomount -noverify -readwrite -noautofsck MyImage.sparsebundle
Enter the password to access „MyImage.sparsebundle“: 
/dev/disk2              GUID_partition_scheme           
/dev/disk2s1            EFI                             
/dev/disk2s2            Apple_HFS                       

# hdiutil resize -size 1.5t MyImage.sparsebundle
Enter the password to access „MyImage.sparsebundle“: 

# fsck_hfs -drf /dev/disk2s2
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
   The volume name is Time Machine-Backups
** Checking extents overflow file.
** Checking catalog file.
** Rebuilding catalog B-tree.
…

# hdiutil detach /dev/disk2s2

Wie in den anderen Antworten erläutert, kann der Gerätepfad variieren. Stattdessen müssen disk2s2Sie den Datenträger verwenden, der vom hdiutil attachBefehl gedruckt wird . Außerdem benötigen Sie den resizeSchritt nur, wenn Sie Disk full errorbeim Ausführen des fsck_hfsBefehls den erhalten haben. Außerdem sollten Sie anstelle von "Mein" 1.5teine angemessene neue Größe eingeben, die nur geringfügig größer ist als Ihre aktuelle Bildgröße (überprüfen Sie mit du -hs MyImage.sparsebundle).


Großartig, aber ich musste mich trennen, bevor ich die Größe veränderte, sonst hdiutil: resize: failed. Ressource vorübergehend nicht verfügbar (35)
Malhal

0

Ich habe ein Syology NAS und habe den NO-WRITE-Fehler erhalten, als ich versucht habe, das Update auszuführen, aber ich bin auf diese optimierte Version gestoßen, die meinen Speck gerettet hat.

http://tonylawrence.com/blog/2012/08/11/fixing-corrupted-time-machine-backups/


2
Willkommen bei Ask Different! Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier einzuschließen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verlinkte Seite ändert.
grg

Ich bekam auch kein Schreiben, dies waren die einzigen Anweisungen, die für mich funktionierten und ich versuchte es mit allen anderen.
Malhal

0

Wenn Sie ein Festplattenimage für ein Sparse-Bundle auf einem Computer sichern und versuchen, es auf einem anderen zu öffnen, wird möglicherweise die Fehlermeldung "Keine bereitstellbaren Dateisysteme" angezeigt, insbesondere, wenn sich die Benutzernamen der Besitzer zwischen den beiden Computern unterscheiden.

Meine Lösung bestand darin, das Bundle auf meine lokale Festplatte zu kopieren und auszuführen

sudo chown -R MyUserName nonmounting.sparsebundle

darauf.

Danach ging es gut und alles war in Ordnung mit der Welt.


0

Ich habe alle oben genannten Schritte ausgeführt, aber nach einer Weile konnte das Image nicht mit fsck_hfs oder hdutil repariert werden. Viele Fehler im Zusammenhang mit Threads oder Knoten waren beschädigt.

Was bei mir funktioniert hat war:

  1. (Optional) Schließen Sie ein externes USB-1-TB-Laufwerk mit HFS-Jornaled-Format an.
  2. (Optional) Wechseln Sie im Airport Utility zu Time Capsule Disks -> Archive Disk in das Laufwerk, das über USB mit Time Capsule verbunden ist. Für 600 GB habe ich 12 Stunden gebraucht.

  3. hdiutil attach -nomount -noverify -noautofsck /Volumes/DISK/MyFile.sparsebundle

  4. Dann war die Festplatte mit DiskWarrior sichtbar . Klicken Sie auf der Registerkarte Verzeichnis auf Neu erstellen . Es dauerte ungefähr 1 Stunde.

Einmal repariert, konnte ich endlich meine Dateien mounten und sichern.

Klicken Sie auf Neu erstellen


Folgendes wird angezeigt: "DiskWarrior hat erfolgreich ein neues Verzeichnis für die Festplatte mit dem Namen" Time Machine Backups "erstellt. Das neue Verzeichnis kann das ursprüngliche Verzeichnis nicht ersetzen, da die Festplatte gesperrt ist." Weißt du, wie man es freischaltet?
9.

0

Das hat bei mir funktioniert:

  • Klicken Sie mit der rechten Maustaste auf das Image, und ändern Sie "Jeder" in "Lesen und Schreiben".
  • Terminal öffnen
  • chmod -R 777 {disk image path}

Es war anscheinend eine Berechtigungsfrage.

HINWEIS: Dadurch wird Ihr Backup für jeden zugänglich, der physischen Zugriff darauf hat


0

Ich hoffe das kann jemandem helfen.

Nach einem El Capitan-Sicherheitsupdate mit dem Fehler "Kein bereitstellbares Dateisystem" wurde mein älteres Dateitresorkonto gesperrt.

In meinem Fall wurde die Sparsebundle-Datei mit "Paketinhalt anzeigen" aus dem Dropdown-Menü geöffnet und der Zugriff für "Alle" manuell von "Kein Zugriff" auf "Lesen und Schreiben" für jedes der beigefügten Elemente geändert. Für das 'bands'-Verzeichnis habe ich den Befehl' Apply to attached items 'aus dem Dropdown-Menü verwendet.


0

Ich hatte ein ähnliches Problem mit einem Sparsebundle, das auf einem Windows-Computer gehostet wurde. Ich habe alles in diesem und anderen Threads ausprobiert, was immer zu einer Fehler mit nicht bereitstellbaren Dateisystemen führte (der auch einen Fehler mit 112 anzeigt).

Das Problem war Windows Defender, das eine der Dateien im Sparsebundle als Trojaner erkannte (Trojaner: Script / Foretype.A! Ml). Andere meldeten ähnliche Fehlalarme wie Spotify-Cache oder kompilierte Rust- Dateien.

Um das Problem zu beheben, schließen Sie die Datei einfach aus der Windows Defender-Quarantäne aus und stellen Sie das Sparsebundle erneut bereit. Es hat zu lange gedauert, sodass Sie mit dem folgenden Befehl eine Ausgabe erhalten können:

hdiutil attach -verbose -debug -mountpoint /mount/path /path/to.sparsebundle

-1

Ich hatte gerade das gleiche Problem

** /dev/rdisk2s2 (NO WRITE)

beim Versuch, ein beschädigtes TM-Sparsebundle auf einem QNAP 419II zu reparieren.

Ich habe die TM-Halterung mit Finder "ausgeworfen" und ausgeführt

hdiutil attach -nomount -noverify -noautofsck ...

Befehl (hier zu finden Fix Time Machine Sparsebundle NAS-basierte Backup-Fehler ) erneut, der (im Gegensatz zu dem ersten Lauf, mit dem er "/ dev / disk2s2 Apple_HFSX" druckte) dieses Mal gab

/dev/disk1s2            Apple_HFSX  

Überprüfen des Syslogs mit

tail -f /var/log/fsck_hfs.log

Nein gezeigt

/dev/rdisk1s2: fsck_hfs run at Sun Feb 17 17:53:20 2013
/dev/rdisk1s2: ** /dev/rdisk1s2
/dev/rdisk1s2:    Executing fsck_hfs (version diskdev_cmds-540.1~34).
** Checking Journaled HFS Plus volume.
** Detected a case-sensitive volume.
... LOTS-OF-OUTPUT ...
QUICKCHECK ONLY; FILESYSTEM CLEAN

Nichtsdestotrotz führte die erneute Aktivierung von TM immer noch zu einer gedrosselten Backup-Nachricht :(

Viel Glück!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.