Anzeige:
Ergebnis 1 bis 5 von 5

Thema: zerstörten Bootsektor wiederherstellen

  1. #1
    Registrierter Benutzer
    Registriert seit
    Sep 2002
    Beiträge
    91

    zerstörten Bootsektor wiederherstellen

    Hallo,

    da hab ich mir doch mal das Programm W... installiert, um eine digitale Satelitenkarte zu testen und beim defragmetieren hängte sich Windows auf und zerstörte mir den Startsektor.
    Auf hdb1 waren ca. 3,5 GByte fat32 und danach kamen ca 37,5 GByte Linux ext2.
    Eine Sicherung des Bootsektors habe ich natürlich nicht, selber schuld.

    fdisk -l /dev/hdb sieht zur zeit so aus:

    ---------------------------------------
    Disk /dev/hdb: 255 heads, 63 sectors, 2891 cylinders
    Units = cylinders of 16065 * 512 bytes

    Device Boot Start End Blocks Id System
    /dev/hdb1 * 133677 451 1077340671+ b Win95 FAT32
    /dev/hdb2 134123 5008 1110361991+ 83 Linux
    /dev/hdb3 133677 5 1073758208 0 Empty
    Partition 3 does not end on cylinder boundary:
    phys=(128, 128, 0) should be (128, 254, 63)
    /dev/hdb4 133677 5 1073758208 0 Empty
    Partition 4 does not end on cylinder boundary:
    phys=(128, 128, 0) should be (128, 254, 63)

    e2fsck 1.28 (31-Aug-2002) bringt folgende Meldung:

    Couldn't find ext2 superblock, trying backup blocks...
    e2fsck: Bad magic number in super-block while trying to open /dev/hdb2

    The superblock could not be read or does not describe a correct ext2
    filesystem. If the device is valid and it really contains an ext2
    filesystem (and not swap or ufs or something else), then the superblock
    is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

    Weil er wohl an der falschen Stelle den Superblock sucht.

    Kennt jemand eine Möglichkeit den Bootsektor zu restaurieren, wenn ja wie würden die Befehle genau sein?

    Meine Vermutung:
    Device Boot Start End Blocks Id System
    /dev/hdb1 * 1 451 b Win95 FAT32
    /dev/hdb2 452 2891 83 Linux

    Danke

  2. #2
    Registrierter Benutzer
    Registriert seit
    Sep 2002
    Beiträge
    91
    Hallo,

    leider bin ich bis jetzt noch ohne Erfolge bei der Dateirettung.

    Ich habe probiert mit

    #dd if=/dev/hda | xxd | grep 30:.*5ef

    nach Adressen von möglichen Superblocks zu suchen.

    Die Ausgabe sieht wiefolgt aus:
    ...
    030e030: 325b 0258 bf6a 0d6f 53ef cd12 2f7a 7055 2[.X.j.oS.../zpU
    035e330: 9a75 147e 7fe2 8bc1 fa0d 2bb7 53ef a9d6 .u.~......+.S...
    0b94330: 9861 b70c 596e eb69 2a37 53ef 704f 254f .a..Yn.i*7S.pO%O
    0f3e830: 53ef 9d1c 03ff a8ec a001 f4aa a809 9ca3 S...............
    16d0630: cd80 53ef cba1 7650 902d a910 00e4 8c54 ..S...vP.-.....T
    17be030: f87b 0c56 c5ff 6237 53ef fe70 8d6e 4cfe .{.V..b7S..p.nL.
    1b24c30: f446 a791 a329 e953 53ef a795 aa9e 9e9e .F...).SS.......
    ...
    Leider kann ich nicht die gesamte Platte mit dd durchsuchen, oder spiegeln (I/O error).


    Einen weiteren Versuch habe ich mit

    #findsuper /dev/hda

    unternommen. Da sieht man
    ...
    529994240 517572 -374191141 974075395 Thu Oct 26 15:54:33 1972
    560437760 547302 -948285641 -550129517 Thu Mar 20 17:48:31 2003
    738117120 720817 134054362 -2123892989 Fri Jan 19 08:27:53 1973
    754683904 736996 -154115043 -1287320167 Tue Jan 19 19:28:50 1971
    994859008 971542 -1326872956 -1711218223 Sun Nov 21 14:06:45 1954
    1159576064 1132398 -854382527 -620550045 Sat Sep 1 18:09:18 2029
    1298293248 1267864 -10019295 841273228 Tue Oct 9 12:10:25 2012
    ...
    wenigstens ob das Datum halbwegs passt und ich konnte mir folgendes rausfilten was Sinn macht:

    thisoff block fs_blk_sz blksz last_mount
    -626491392 -611808 9155041 2 Sun Aug 31 08:45:32 2003
    744935424 727476 2136842468 840732482 Wed Jan 1 00:24:43 2003
    -1388680192 -1356133 394160256 464652096 Wed Nov 12 14:46:11 2003
    -919366656 -897819 -299308329 1222024361 Fri Mar 14 06:35:16 2003
    1582697984 1545603 421367514 796266963 Sat Feb 15 21:38:01 2003
    2144815616 2094546 62393495 -1440925495 Fri Jan 31 23:25:00 2003
    769892352 751848 -948285641 -550129517 Thu Mar 20 17:48:31 2003
    -1107126272 -1081178 -210040520 -346498929 Thu Oct 16 18:33:54 2003
    560437760 547302 -948285641 -550129517 Thu Mar 20 17:48:31 2003
    345283072 337190 530798 2 Sat Aug 9 03:31:12 2003
    Failed on 1 at -1775534080

    Wenn hier die ersten Zahlen nicht negativ wären, so könnte ich versuchen zu rechnen wo das liegt, aber bei -626491392 ???

    Kann jemand helfen, oder kennt einen Guten Link?

    Vielen Dank
    FH

  3. #3
    Registrierter Benutzer
    Registriert seit
    Sep 2002
    Beiträge
    91
    Hi,

    für diejenigen die es interessiert.

    Die Festplatte ist defekt ( IBM noch nicht einmal ein Jahr).

  4. #4
    Registrierter Benutzer
    Registriert seit
    Sep 2003
    Ort
    Münster
    Beiträge
    59
    Jo kenn ich... Bei mir auch. Eingeschickt und 8 Wochen gewartet. Dann eine neue reparierte bekommen. Ich werde IBM nie mehr kaufen!

  5. #5
    Registrierter Benutzer
    Registriert seit
    Sep 2002
    Beiträge
    91
    Hallo,

    nun habe ich mit etwas Glück meine Daten wieder herstellen können und möchte dies hier beschreiben. Vielleicht hilft es ja irgendwann mal jemanden.

    Als ich Probleme mit der Platte bemerkte habe ich sofort alles was ohne I/O Fehler zu lesen war gesichert.#

    # dd if=/dev/hdc of=/SICHERUNG.dd
    > bringt I/O Fehler und bricht ab

    # dd if=/dev/hdc of=/SICHERUNG.dd skip=422
    das ging dann ohne Fehler

    nach möglichen Superblocks (ext2) in der Datei SICHERUNG.dd suchen
    # dd if=SICHERUNG.dd | xxd |grep 30:.*53ef
    und dann eine ordentliche Partitionstabelle erstellen habe ich nicht geschafft (die Platte ist immernoch zur Reparatur)

    Ich habe versucht die SICHERUNG einzubinden und zwar mit dem folgenden Programm:

    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    # dieses Programm versucht eine mit
    # dd if=/dev/hdx of=SICHERUNG.dd
    # einzuhaengen, wenn nicht bekannt ist, wo z.Bsp. hdx3 beginnt

    # Startnummer eingeben (erhoehen, wenn z.Bsp. hdx2 gefunden wurde und hdx3 nun gesucht wird)
    nummer=0


    #startbedingung erfuellen
    mkdir /tmp/sicherung
    umount /tmp/sicherung
    losetup -d /dev/loop1


    while
    echo $nummer
    do
    # max 35 GByte
    if test $nummer -lt 35000000000

    then
    echo $nummer
    losetup -o $nummer /dev/loop1 SICHERUNG.dd

    # wenn das einbinden klappt beenden
    while mount -t ext2 /dev/loop1 /tmp/sicherung
    do
    df
    echo es muesste geklappt haben bei: $nummer
    exit
    done
    umount /mnt/hde
    losetup -d /dev/loop1
    # wenns nicht klappt und man vieeeeel Zeit hat + 1 anstelle + 1024
    nummer=` expr $nummer + 1024`
    else
    # programm beenden
    exit
    fi
    done


    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    Ja ich weiß die Schleifen sind dumm gelößt, aber ich hatte andere sorgen und es hat geklappt. Man hätte auch rechnen können, aber beim 3. Mal verrechnen habe ich's so versucht.

    Übrigens: mein monatliches Backup war aktuell.

    FH

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •