Defektes TimeMachine-Backup / Sparsebundle reparieren

Aus Synology Wiki
Wechseln zu: Navigation, Suche
Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

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 vorangestellten \ 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 weitere Prozess läuft im Hintergrund und dauert ohne weiteres eine halbe Stunde oder mehr (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

Falls die Reparatur erfolgreich war, wird folgende Meldung ausgegeben:

 The Volume was repaired successfully

Falls 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

Sparsebundle-Inhalt

Im letzten Schritt muss TimeMachine mitgeteilt werden, dass das Sparsebundle funktionstüchtig ist. Hierzu 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

TM_backup prüfen

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. ((Bei mir war dies anders: Zuerst wurde das Backup erstellt, erst danach erfolgte die Überprüfung. Mac OS 10.8.2.))

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

Thread im Forum