Daten-Retter?

Von: , Frage gestellt am Do, 11. Sep 2003

hallo,
kennt jemand zufällig ein programm(unter linux) womit man gelöschte daten(noch nicht physikalisch weg) wiederbekommt???
ich wäre sehr dankbar für tipps!

3 Antworten zu dieser Frage

  1. Antwort von nach 6 Stunden 0 hilfreich
    Re: Daten-Retter?

    Welches Filesystem hast Du denn? hallo,
    kennt jemand zufällig ein programm(unter linux) womit man
    gelöschte daten(noch nicht physikalisch weg) wiederbekommt???
    ich wäre sehr dankbar für tipps!

      • Antwort von nach 3 Tagen 0 hilfreich
        Re^3: Daten-Retter?

        datensystem? fat32...
        (vergl. http://sdb.suselinux.hu/de/sdb/html/cg_rmfiles.html)

        Sie haben auf einem Linux ext2 Dateisystem versehentlich eine oder mehrere
        Dateien gelöscht. Sie haben kein Backup und wollen den Inhalt dieser Datei
        wiederherstellen.



        Hintergrund



        Wie auch unter anderen Betriebssystemen üblich wird auch auf dem Linux ext2
        Dateisystem eine Datei dadurch `gelöscht', daß entsprechende Verweise in der
        Folderdatei gelöscht werden. Die eigentlichen Daten der Datei sind nach dem
        eigentlichen `löschen' zwar zum Überschreiben freigegeben, aber noch auf der
        Festplatte lesbar. Erst beim Anlegen weiterer Dateien werden diese nun
        freigegebenen Datenblöcke überschrieben.



        Zudem existiert auch nach dem Löschen die sog. Inode in der die logische
        Verkettung der Blöcke und die ganzen Zugriffsrechte gespeichert sind. Hier wird
        hier auch der Zeitpunkt des Löschens (`Deletion time') festgehalten. Was
        wirklich durch das Löschen endgültig verloren gegangen ist ist der Dateiname.



        Durch Setzen eines Flags mit Hilfe des Kommandos chattr kann man auf dem ext2
        Dateisystem auch ein `sicheres' Löschen beim Absetzen eines Löschkommandos
        bewirken. Hierdurch wird die Datei vom Kernel beim Löschen vollständig mit
        Nullen überschrieben. Solchermassen gelöschte Daten sind nur u.U. mit
        speziellen Geräten, keinesfalls aber mit der hier beschriebenen Methode
        wiederherstellbar.



        Eine Warnung vorneweg Mit dem im folgenden beschriebenen Programm debugfs
        können Sie sehr systemnahe Zugriffe auf das Dateisystem durchführen. Ohne
        genaue Kentniss der Interna des ext2 Dateisystems ist es sehr gefährlich für
        Ihre restlichen Daten mit den in der Hilfe bzw. in der Man-Page zu `debugfs'
        beschriebenen Kommandos zu `experimentieren'. Falls Sie experimentieren
        möchten, so legen Sie sich am besten eine Übungspartition an.



        Vorgehen



        Führen Sie keine Schreibzugriffe mehr auf das Dateisystem aus auf dem Sie
        Dateien wiederherstellen möchten. Insbesondere das Neuanlegen von Dateien kann
        fatal für Ihre zu rettenden Daten sein. Falls Sie nur eine Partition `/'
        verwenden so fahren Sie den Rechner am besten geordnet herunter und booten mit
        einem Rettungssystem. Ansonsten reicht es wenn Sie auch die betroffene(n)
        Partition(en) mit dem Kommando umount aushängen. Zur Verwendung von mount und
        umount beachten Sie bitte das Handbuchkapitel "Einstieg in Linux".



        Nehmen wir einfach an Sie haben folgende Datei versehentlich gelöscht und
        wollen Sie wiederherstellen.


        erde:/mnt/Versuch # ls -la Protokoll_2009.txt
        -rw-r--r-- 1 cg suse 1050 Dec 29 13:31 Protokoll_2009.txt
        erde:/mnt/Versuch # rm Protokoll_2009.txt



        Sie umounten die betreffende Partition sofort.


        erde:~# umount /mnt



        In meinem Beispiel handelt es sich um die Partition /dev/sdc1 die auf den
        Mountpoint /mnt gemounted ist. Sie müssen natürlich den Devicenamen in Ihrem
        System in den unten aufgeführten Beispielen einsetzen. Geben Sie bitte das
        Kommando debugfs devicename ein um den Filesystemdebugger aufzurufen. Dieser
        meldet sich nach dem Start mit dem Prompt debugfs: an dem Sie Kommandos zum
        direkten Zugriff auf das Dateisystem eingeben können.


        erde:/# debugfs /dev/sdc1
        debugfs 1.17, 26-Oct-1999 for EXT2 FS 0.5b, 95/08/09
        debugfs: lsdel
        1 deleted inodes found.
        Inode Owner Mode Size Blocks Time deleted
        25794 515 100644 1050 2/ 2 Wed Dec 29 13:32:32 1999



        Mit dem Kommando lsdel kann man sich also die gelöschten Inodes auflisten
        lassen. An den Dateirechten Mode, dem Eigentümer (Hier als numerische User id),
        dem Zeitpunkt des Löschens und der ehemaligen Dateigrösse Size können Sie recht
        gut die wiederherzustellende Datei auffinden falls Sie mehrere Dateien gelöscht
        haben (und beispielsweise nur eine wiederherstellen möchten). Wichtig ist hier
        für das folgende dump Kommando vor allem die Inode Nummer, im obigen Beispiel
        25794.



        Geben Sie folgendes Kommando ein um die oben gelöschte Datei mit den gleichen
        Dateirechten als neue Datei `gerettet' im Verzeichniss /tmp wiederzubeleben.
        Beachten Sie bitte, daß Sie die spitzen Klammern < und > mit eingeben!

        debugfs: dump -p <25794> /tmp/gerettet
        debugfs: quit
        erde:/# ls -l /tmp/gerettet
        -rw-r--r-- 1 cg suse 1050 Dec 29 13:31 /tmp/gerettet

        Nach dieser Aktion können Sie das Dateisystem wieder mounten und die Datei aus
        dem /tmp Verzeichniss zurückspielen.

        Es gibt noch weitere Methoden diese Datei wiederherzustellen, doch diese
        Methode hat den Vorteil keine Schreibzugriffe über debugfs oder nach
        vollzogener Wiederherstellung einen Dateisystemcheck zu benötigen.


Keine passende Antwort gefunden? Jetzt eigene Frage stellen!