Auf TimeCapsule Volumen reparieren.

kwmobil

Mitglied
Thread Starter
Dabei seit
26.12.2009
Beiträge
54
Reaktionspunkte
2
hi Leute,

heute bekam ich ein Fehlermeldung von meiner TimeCapsule in welchem mir gesagt wurde, das ein Fehler auftrat und wenn dieser weiter bestehen würde ich mit dem Festplattendienstprogramm das Volumen reparieren sollte.

Nun habe ich eine Prüfung des Volumens bekgonnen und mir wurde schon nach einiger Zeit hier Fehler angezeigt. So habe ich die Prüfung abgebrochen und wollte dann gleich beides durchführen, also Prüfen und Reparieren. Hier bekomme ich aber die Meldung, das dieser Vorgang abgebrochen wurde, weil Timecapule für diesen Vorgang nicht deaktiviert werden konnte.

Stelle ich in den Einstellungen die Maschine auf aus, wird Sie aber im Dienstprogramm nicht mehr zur Auswahl aufgeführt.

Was also Tun um hier eine reparatur durchführen zu können. Wer kann fundiert weiter helfen?
 
Dieses script habe ich aus Informationen im Internet zusammengebaut.
Es dauert übers Netz ewig.

Die wichtigsten Aspekte sind

chflags -R nouchg .
sonst kann man die Dateien nicht ändern

attach -nomount -noverify -noautofsck
sonst hat man kein device node

VerificationState
Die Info.plist muss verändert werden damit TM das Volume wieder akzeptiert.

Falls Dir die Erfahrung fehltr es auszuführen, mach es besser nicht.
Richte Dich datauf ein, dass es Stunden braucht.
Das script macht alles nötige.

Code:
#!/bin/bash
#
# tm.sh - repair a TimeMachine Volume
#
# Usage:
#    tm.sh <sparsebundle>
#
# Example:
#    tm.sh /Volumes/TM/MacPro.sparsebundle
#

function check_path () {
    if [ ! -d "$1" ]; then
        echo "Not a directory: \"$1\""
    return 1;
    fi

    if [ ! -f "${1}/Info.plist" ]; then
        echo "No \"Info.plist\" found: \"$1\""
    return 1;
    fi

    return 0;
}

function change_flags () {
    ( cd "$1" && chflags -R nouchg . )
}

function attach_image () {
    hdiutil >/dev/null 2>&1 attach -nomount -noverify -noautofsck "$1"
}

function detach_disk () {
    hdiutil detach $1
}

function get_disk () {
    diskutil list |
    perl -e 'my $disk;
             while (<>) {
               chomp;
               ($disk) = m/Time\s+Machine.*(disk\d+s\d+)/;
               last if defined($disk);
             }
             print $disk;'
}

function check_bundle () {
    fsck_hfs -drfy /dev/$1
}

function change_state () {
    perl -e \
    'my $in;
     my $out;
     open ($in, "<", $ARGV[0]) or die "Cannot read ".$ARGV[0];
     open ($out, ">", $ARGV[1]) or die "Cannot write ".$ARGV[1];
     while (<$in>) {
       unless (/<key>VerificationState<\/key>/) {
         print $out $_;
       }
       else {
         my $swallow = <$in>;
         print $out $_;
         print $out "\t<integer>0</integer>\n";
       }
     }' \
     "${1}/com.apple.TimeMachine.MachineID.plist" \
     "${1}/com.apple.TimeMachine.MachineID.tmp"

     cp "${1}/com.apple.TimeMachine.MachineID.tmp" "${1}/com.apple.TimeMachine.MachineID.plist"
     rm -f "${1}/com.apple.TimeMachine.MachineID.tmp"
}

while [ -n "$1" ]; do
    if check_path "$1"; then
       echo "Working with \"$1\""

       echo "... changing flags"
       change_flags "$1"

       echo "... attaching image"
       attach_image "$1" 

       volume=`get_disk "$1"`
       disk=`echo $volume | sed 's,s[0-9],,g'`

       if [ -n "$volume" ]; then
           echo "Working on \"/dev/$volume\" (disk \"/dev/$disk\")"

           echo "... starting fsck"
           check_bundle $volume
           echo "... done"

           echo "... detaching disk"
           detach_disk $disk

           echo "... updating state file"
      change_state "$1"
       fi

       echo "Finished working on \"$1\""
       echo
    fi

    shift
done
exit 0
 
Besten Dank für diese Info! Du hast allerding die richtige befürchtung gehabt, das ich dafür zu unerfahren bin.
Habe den Support kontaktiert und bei der Chatsitzung kam der Vorführefekt und die TimeCamsul lies sich ohne Probleme Prüfen und reparieren. War allerdings kein Fehler mehr vorhanden.

So hat sich dieses Thema erledigt und sage hier nochmals vielen Dank.
 
Zurück
Oben Unten