Defektes TimeMachine-Backup / Sparsebundle reparieren
Meldet Time Machine ein beschädigtes Sparsebundle, so werden einem nur zwei Möglichkeiten angeboten:
- Backup später erstellen: Verschiebt lediglich das Backup, löst das Problem aber nicht.
- Neues Backup starten: Erstellt ein komplett neues Backup, die bisherige Backup-Historie geht verloren.
Die folgende Anleitung beschreibt eine dritte Möglichkeit, die allerdings nur für erfahrene Anwender geeignet ist.
Bitte kopiert vor dieser Prozedur euer Sparsebundle in einen anderen Ordner oder erstellt eine Kopie! Ebenso ist es zu empfehlen diese Reparatur nur per Fast-Ethernet oder besser Gigabit-Ethernet durchzuführen und nicht per WLAN/DLAN! Durchführung auf eigene Gefahr!
1. Schritt
Öffnet unter MacOS das Terminal und holt euch root-Rechte mit folgendem Befehl:
sudo su -
Nun das root-Passwort angeben.
2. Schritt
Da das TM-Backup als "defekt" markiert wurde, muss dies wieder rückgängig bzw. auf "Normal" gesetzt werden. Dies erledigt folgender Befehl
chflags -R nouchg /Volumes/{Netzwerkfreigabename}/{Name des TM-Backups}.sparsebundle
Sollten Leerzeichen im Namen sein, dann müssen diese mit einem \ versehen werden. Beispiel
/Volumes/backup/Mustermanns\ MacBook\ Pro.sparsebundle/
Die Prozedur dauerte bei mir ca. 2 Minuten (kann auch länger dauern). Es erscheint keine Rückmeldung (ausser dem Terminal Prompt)!
3. Schritt
Als nächstes kann die Schnellprüfung gestartet werden.
hdiutil attach -nomount -noverify -noautofsck /Volumes/{Netzwerkfreigabename}/{Name des TM-Backups}.sparsebundle
Es erscheint folgende Ausgabe im Terminal. Bitte die dritte Zeile notieren.
/dev/disk1 Apple_partition_scheme /dev/disk1s1 Apple_partition_map /dev/disk1s2 Apple_HFSX
Der Prozess läuft im Hintergrund (siehe Netzwerkauslastung). Um sich den Vorgang anzeigen zu lassen, kann folgender Befehl ausgeführt werden:
tail -f /var/log/fsck_hfs.log
Die Ausgabe sieht wie folgt aus (ggf. warten, bis alle Zeilen ausgegeben werden):
QUICKCHECK ONLY; FILESYSTEM DIRTY /dev/rdisk1s2: fsck_hfs run at Thu Apr 12 16:54:19 2012 /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. The volume name is Time Machine-Backups ** Checking extents overflow file. ** Checking catalog file. ** Checking multi-linked files. ** Checking catalog hierarchy. ** Checking extended attributes file. ** Checking multi-linked directories. ** Checking volume bitmap. ** Checking volume information. ** The volume Time Machine-Backups appears to be OK.
In diesem Fall war die Prüfung in Ordnung. Weiter mit Punkt 5. (cmd+ oder Strg + C beendet die Anzeige)
Andernfalls erscheint folgende Meldung:
The Volume could not be repaired
4. Schritt
Sollte die obige Prüfung fehlgeschlagen sein, dann kann ein weiterer Reparaturversuch gestartet werden:
fsck_hfs -drfy /dev/diskxs2
Die Bezeichnung "diskxs2" bitte, aus zuvor notierter Ausgabe (dritte Zeile), anpassen. Dieser Prozess kann sehr lange dauern. Mit folgendem Befehl kann der Fortschritt angezeigt werden:
tail -f /var/log/fsck_hfs.log
Wenn die Ausgabe
The Volume was repaired successfully
lautet, dann war die Reparatur erfolgreich. Wenn nicht muss ein neues TimeMachine-Backup angelegt werden.
5. Schritt
Da das Backup erfolgreich war, muss das Backup wieder ungemountet werden:
hdiutil detach /dev/diskxs2
Bitte "diskxs2" durch den notierten Eintrag aus Schritt 3 anpassen!
Die Meldung erscheint:
"disk1" unmounted. "disk1" ejected.
6. Schritt
Im letzten Schritt muss TimeMachine mitgeteilt werden, dass das Sparsebundle funktionstüchtig ist. Den Speicherort des Sparsebundles im Finder öffnen. Mit der rechten Maustaste auf das Bundle klicken und "Paketinhalt anzeigen" wählen. Nun folgende Datei mit einem Texteditor öffnen:
com.apple.TimeMachine.MachineID.plist
Der Inhalt sieht wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>RecoveryBackupDeclinedDate</key> <date>2012-04-12T14:00:32Z</date> <key>VerificationDate</key> <date>2012-04-12T15:34:57Z</date> <key>VerificationExtendedSkip</key> <false/> <key>VerificationState</key> <integer>2</integer> <key>com.apple.backupd.HostUUID</key> <string>AXXXXX-XXX-5XXX-8XXX-DDXXXXAX7XXD</string> </dict> </plist>
Jetzt den "Verification State" von 2 auf 0 setzen und das Dokument speichern.

Abschluss
Nun kann TimeMachine "Backup jetzt erstellen" ausgewählt werden. Zuerst wird TM das Backup prüfen, was eine Zeit lang dauern kann. Danach sollte das Backup wie gewohnt fortgesetzt werden.

- ----amarthius Übersetzung/Anpassung Original hier zu finden--> Fix TM-Backup Errors