GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gelöschte Dateien unter Linux wiederherstellen (Anfänger-Tutorial)

Haben Sie jemals versehentlich wichtige Dateien gelöscht? Wer nicht! Okay, aber kann ich sie wiederherstellen? In diesem Beitrag erfahren Sie, wie Sie gelöschte Dateien unter Linux mit verschiedenen Programmen auf verschiedenen Dateisystemen wiederherstellen können.

Sie werden sehen, wie Sie gelöschte Dateien von SD-Karten, Festplatten und gelöschten Partitionen auf verschiedenen Linux-Dateisystemen wie EXT3, EXT4 und sogar von Windows-Dateisystemen wie FAT32 und NTFS wiederherstellen können.

Dateien von gelöschter Partition wiederherstellen

Das ist ein ziemliches Problem. Linux-Benutzer installieren häufig mehrere Systeme gleichzeitig und löschen möglicherweise versehentlich eine Partition während des Installationsvorgangs.

Wie kann man jedoch Dateien von diesen gelöschten Partitionen wiederherstellen? Dazu müssen wir die Partition mit einem Tool namens TestDisk wiederherstellen.

Testdisk ist ein leistungsstarkes Dienstprogramm zur Partitionsanalyse und Datenwiederherstellung. Die meisten Linux-Distributionen wie Debian und Ubuntu werden mit TestDisk geliefert.

Andererseits ist die Anwendung plattformübergreifend und unterstützt eine große Anzahl von Partitionstabellen wie Intel, MSDOS und Mac. Dies sind die beliebtesten Partitionstabellen.

Außerdem unterstützt es viele Dateisysteme wie NTFS, EXT4 und andere unpopuläre Dateisysteme wie BeOS und ReiserFS.

Wenn Sie eine Datei löschen, wird die Liste der von der Datei belegten Cluster gelöscht, wodurch die für die Verwendung verfügbaren Sektoren markiert werden. Wenn die Cluster nicht überschrieben wurden, kann TestDisk die Dateien wiederherstellen.

Starten Sie zunächst die Anwendung wie folgt:

$ testdisk

Als Nächstes haben Sie die Möglichkeit, eine neue Datei für die Protokolle zu erstellen. Wenn Sie eine erstellen möchten, wählen Sie Erstellen Option und drücken Sie die Eingabetaste. Wenn Sie keine Protokolldatei wünschen, wählen Sie die Option „Kein Protokoll“.

Als nächstes werden die vom System erkannten Festplatten oder Partitionen gescannt. In diesem speziellen Fall ist sda die Partition, die wir wiederherstellen möchten.

TestDisk erkennt verschiedene Arten von Partitionstabellen. Es ist normalerweise Intel, es sei denn, Sie verwenden ein spezielles.

Auf dem nächsten Bildschirm sehen Sie eine Reihe von Optionen, die das Programm hat. Für diesen speziellen Fall müssen wir die Option „Analysieren“ wählen.

Mit dieser Option wird das Programm die Festplatte gründlich analysieren, um die Struktur zu finden.

Dann werden Sie nach der Art der Suche gefragt, die Sie durchführen möchten. Wählen Sie normalerweise die Option Schnellsuche.

Wenn Sie Glück haben, sehen Sie die gelöschte Partition. Wenn nicht, müssen Sie eine tiefere Suche wählen.

Wählen Sie dann die Option Schreiben, um die Partitionstabelle zu schreiben. Wenn Sie fertig sind, starten Sie das System neu und Sie haben Ihre Partition wieder!

Beachten Sie, dass es während dieser Schritte lange dauern kann. Dies hängt von der Festplattengröße ab.

Je nach Art des Dateisystems, das diese Partition haben kann, werden bestimmte Anweisungen befolgt. Sie werden später detailliert beschrieben.

Gelöschte Dateien von einem externen Laufwerk wiederherstellen

Stellen wir uns nun vor, wir haben ein externes Flash-Laufwerk, und Sie haben versehentlich einige Dateien davon gelöscht. Wie kann ich sie wiederherstellen?

Dank TestDisk wird der Vorgang dem einer gelöschten Partition ziemlich ähnlich. Aber es gibt einige Unterschiede.

Um das Programm zu starten, verwenden wir den Befehl testdisk. Außerdem können wir das Flash-Laufwerk wie folgt als Parameter hinzufügen:

$ sudo testdisk /dev/sdb

Wählen Sie als Nächstes Fortfahren aus. Wählen Sie dann den Partitionstabellentyp aus.

Wählen Sie dann die erweiterten Optionen, um Dateien wiederherzustellen.

Der nächste Schritt ist die Auswahl der Partition und der Option Wiederherstellen.

Dann sehen Sie alle gelöschten Dateien auf der Partition.

Wählen Sie nun den Zielordner aus, um die wiederhergestellten Dateien zu platzieren. Sie müssen bei der ersten Option C drücken, um die Dateien im aktuellen Verzeichnis abzulegen.

Schließlich sehen Sie diese Nachricht:

Herzliche Glückwünsche! Dateien wiederhergestellt.

Gelöschte Dateien von der SD-Karte wiederherstellen

Normalerweise ist auf einer SD-Karte zu bemerken, dass sie für Multimediadateien verwendet werden. Daher ist es ratsam, für diese Dateien ein spezialisierteres Programm zu verwenden.

In diesem Fall verwenden wir die Anwendung namens Photorec, die in TestDisk integriert ist.

Legen Sie zuerst die SD-Karte in den PC ein. Führen Sie als Nächstes photorec als root aus:

$ sudo photorec [device]

Dann sehen Sie das folgende Bild. Wählen Sie das Medium aus und fahren Sie fort und drücken Sie die Eingabetaste.

Als nächstes wählen Sie die Partition aus. Wählen Sie Optionen und drücken Sie die Eingabetaste.

Dort sehen Sie die Wiederherstellungsoptionen:

Drücken Sie q, um zum vorherigen Bildschirm zurückzukehren. Es ist notwendig, die Dateitypen auszuwählen, die wir wiederherstellen möchten. Dies wird erreicht, indem die Option File Opt ausgewählt wird.

Drücken Sie die Taste s, um alle Formate auszuwählen und abzuwählen. Sie können auch die Dateitypen auswählen, die Sie wiederherstellen möchten, indem Sie die rechte Taste verwenden. Um die ausgewählten Optionen zu speichern, drücken Sie die Taste b. Kehren Sie mit der q-Taste zum Hauptmenü zurück.

Wählen Sie dann im Hauptmenü die Option Suchen, um den Vorgang zu starten. Und wählen Sie das Dateisystem.

Ihnen werden dann zwei Optionen angezeigt. Frei und ganz. Normalerweise reicht Free aus. Wenn Sie eine gründliche Analyse durchführen möchten, wählen Sie „Ganz“, aber denken Sie daran, dass der Prozess dadurch verlangsamt wird.

Nun muss der Speicherort ausgewählt werden, an dem die Dateien gespeichert werden. Drücken Sie dazu die Taste c.

Nachdem Sie das Ziel ausgewählt haben, wird der Wiederherstellungsprozess gestartet. Denken Sie daran, dass das System zusammenbrechen und einfrieren wird. Seien Sie also geduldig.

Am Ende sehen Sie eine Nachricht, die Sie über alles informiert, was passiert ist.

Überprüfen Sie als Nächstes die Ergebnisse.

Gelöschte Dateien von NTFS wiederherstellen

NTFS ist ein Windows-Dateisystem. Wenn Sie einer von denen sind, die beide Systeme auf dem Computer verwenden, müssen Sie möglicherweise gelöschte Dateien von einer Windows-Partition mit diesem Dateisystem wiederherstellen.

Dazu haben wir ein Tool namens ntfsundelete, das recht einfach zu verwenden ist.

Zuerst müssen Sie die Festplatte oder Partition scannen. Zum Beispiel:

$ sudo ntfsundelete /dev/sda1

Dann können wir die gelöschte Datei mit dem folgenden Befehl wiederherstellen:

$ sudo ntfsundelete [HD_Or_partition] -u -m [filename]

   

  Die wiederhergestellten Dateien gehören jetzt dem Root-Benutzer. Der letzte Schritt besteht darin, die Berechtigungen und Eigentümer der Dateien mit dem Befehl chown zu ändern.

Dateien von FAT32 wiederherstellen

Ein weiteres gängiges Windows-Dateisystem ist FAT32. Sie können Dateien von FAT32 wiederherstellen, indem Sie TestDisk verwenden.

Führen Sie also erneut testdisk als Root-Benutzer aus und übergeben Sie die Festplatte als Parameter:

$ sudo testdisk [partition/HD]

 

Fahren Sie dann mit den oben beschriebenen Schritten fort, um die Dateien wiederherzustellen.

Speicherdateien wiederherstellen (mit Inode)

Wenn Sie eine Datei löschen, die von einem anderen Prozess verwendet wird, können Sie sie mit Inode aus dem Speicher wiederherstellen.

Einige Anfangsbedingungen müssen geschaffen werden. Erstens MUSS die gelöschte Datei von einem anderen Prozess geöffnet bleiben . Dann müssen Sie den Prozess überprüfen und ihn schließlich wiederherstellen und seine Berechtigungen ändern.

In diesem Fall erstelle ich mit dem Nano-Editor eine Datei namens example.txt und füge Text hinzu:

$ nano example.txt

Speichern Sie dann die Änderungen und öffnen Sie ein weiteres Terminalfenster und verwenden Sie die Datei. Zum Beispiel mit dem Befehl less.

$ less example.txt

  Öffnen Sie eine weitere Terminalsitzung, löschen Sie die Datei und vergewissern Sie sich, dass sie gelöscht ist:

$ rm example.txt

$ ls example.txt

Wie Sie sehen können, existiert die Datei nicht mehr. Aber wir werden es wiederherstellen können. Lassen Sie uns dazu die Nummer des Prozesses abrufen, der dem Inode der Datei zugeordnet ist.

$ lsof | grep example.txt

Sie werden den Prozess und den Befehl bemerken, der die Datei verwendet (der Less-Befehl). Aus diesem Bild müssen wir auf den zweiten und vierten Wert achten. Dies sind die PID des Prozesses bzw. der Deskriptor der Datei.

Stellen Sie es dann mit dem folgenden Befehl wieder her:

$ ls -l /proc/2325/fd/4

 

Kopieren Sie es dann an einen beliebigen Ort, und das reicht aus, um es wiederherzustellen.

$ sudo cp /proc/2325/fd/4 .

  Überprüfen Sie als Nächstes die Ergebnisse und öffnen Sie die Datei:

   

Auf diese Weise können wir eine gelöschte Datei wiederherstellen, die sich noch im Speicher befindet und von einem Prozess mit dem Inode verwendet wird.

Gelöschte Dateien von EXT4 wiederherstellen (mit extundelete)

EXT4 ist das Standarddateisystem auf den meisten Linux-Distributionen. Es ist ziemlich schnell und mit technischen Merkmalen, die vom Linux-Kernel sehr gut ausgenutzt werden.

Eines der verwendeten Tools zum Wiederherstellen von Dateien aus dem EXT4-Dateisystem ist extundelete.

Extundelete ist eine Open-Source-Anwendung, mit der gelöschte Dateien von einer Partition oder einem Datenträger mit dem EXT3- oder EXT4-Dateisystem wiederhergestellt werden können. Es ist einfach zu verwenden und wird standardmäßig auf den meisten Linux-Distributionen installiert.

Um eine bestimmte Datei wiederherzustellen, verwenden Sie einfach den folgenden Befehl:

$ sudo extundelete [device] -restore-file [pathfile]

Zum Beispiel:

$ sudo extundelete /dev/sdb1 -restore-file home/angelo/other.txt

Wenn Sie alle Dateien in einem Ordner wiederherstellen möchten, verwenden Sie das Platzhalterzeichen:

$ extundelete /dev/sda6 -restore-file home/angelo/*

Wenn Sie jedoch alle Dateien auf der Partition oder Festplatte wiederherstellen möchten, würde der nächste Befehl ausreichen:

$ extundelete /dev/sda6 -restore-all

Die wiederhergestellten Dateien befinden sich also im Verzeichnis RECOVERED_FILES. Auf diese Weise können Sie also gelöschte Dateien mit extundelete wiederherstellen.

Debugfs verwenden

Es ist auch möglich, das debugfs-Tool zu verwenden, um gelöschte Dateien wiederherzustellen. Dieses Tool verwendet auch die Inode-Nummer der gelöschten Datei. Es funktioniert jedoch nur auf EXT4-Dateisystemen.

Auch die Bedienung ist denkbar einfach. Zuerst müssen Sie die Partition oder das Gerät eingeben.

$ debugfs [device]

Zum Beispiel

$ sudo debugfs /dev/sdb1

Nach einer Weile können Sie sich dann bei der debugfs-Konsole anmelden, um nach kürzlich gelöschten Dateien zu suchen.

$ debugfs: lsdel

In der ersten Spalte sehen Sie die Inode-Nummer der gelöschten Dateien auf diesem Gerät. Stellen Sie es dann mit dem folgenden Befehl wieder her:

$ debugfs mi <inode_number>

Und das ist alles. Es ist ganz einfach.

Ext4magic verwenden

Eine weitere alternative Möglichkeit, gelöschte Dateien auf einer Festplatte mit einem Ext4-Dateisystem wiederherzustellen, ist die Verwendung von Ext4magic. Diese Anwendung ist auch recht einfach zu bedienen.

Die grundlegendste Syntax der Anwendung ist die folgende:

$ sudo ext4magic [device] -f [folder_to_scan] -r -d [output_folder]

Wenn ich die gelöschten Dateien aus einem Ordner namens Dateien wiederherstellen möchte, würde der Befehl diesem ähneln:

$ sudo ext4magic /dev/sdb1 -r -d files

So einfach ist die Nutzung von ext4magic. All dies dank der Tatsache, dass Ext4 ein Community- und Open-Source-Dateisystem ist.

Überschriebene Dateien wiederherstellen (mit Skalpell)

Scapel ist ein weiteres Open-Source-Tool, mit dem Sie Dateien von formatierten Laufwerken, überschriebenen Dateien und sogar beschädigten Laufwerken wiederherstellen können. Es ist bekannt für seine Geschwindigkeit und Effizienz. In diesem Sinne stellt es sich als Alternative heraus, die in Betracht gezogen werden sollte.

Scalpel schnitzt Dateien ohne die Hilfe von Dateisystemen . Es versucht, Kopf- und Fußzeilen von Dateien zu extrahieren und versucht, die gesamte Dateistruktur mithilfe einiger gut entwickelter Algorithmen zu erraten.

Wie TestDisk ist es in den offiziellen Repositories der meisten Linux-Distributionen verfügbar. Daher beschränkt sich seine Installation auf die Nutzung des Terminals und des Paketmanagers der Distribution.

Der schnellste und einfachste Weg, Scapel zu verwenden, ist wie folgt:

$ scalpel [device] -o [output_folder]

Der output_folder gibt an, wo scapel alle wiederhergestellten Dateien ablegen wird. Beachten Sie, dass Scalpel das Ausgabeverzeichnis selbst erstellt.

Aber woher weiß Scapel, welche Dateien wiederhergestellt werden müssen? Nun, das ist in der Konfigurationsdatei der Anwendung definiert.

Diese Konfigurationsdatei befindet sich normalerweise an folgendem Speicherort:

/etc/scalpel/scalpel.conf

Und Sie können es mit Ihrem bevorzugten Texteditor öffnen, und dort müssen Sie nur die Zeilen auskommentieren, um die zu durchsuchenden Dateiformate zu definieren.

Die Dateiformate, die Sie auskommentieren, Scalpel sucht danach.

Führen Sie als Nächstes den vollständigen Scalpel-Befehl aus, und im Ausgabeordner sehen Sie die wiederhergestellten Dateien.

$ sudo scalpel /dev/sdb1 -o recovered_files1

Manchmal stellt Scalpel Teile der Datei wieder her. Das hängt vom Zustand des Laufwerks und davon ab, wie viele Daten beschädigt wurden.

Außerdem gibt es viele Verlangensalgorithmen, die Sie verwenden können, aber wir haben hier die grundlegende Art und Weise des Verlangens nach Daten besprochen.

Dateien von einem nicht bootfähigen System wiederherstellen

Dies ist ein heikler Fall, da wir von einer Live-CD von Ubuntu oder einer anderen ähnlichen Linux-Distribution darauf zugreifen müssen. Sobald wir gebootet haben, könnten wir TestDisk verwenden, um zu versuchen, die Daten wiederherzustellen.

In diesem Fall müssten wir ein externes Laufwerk verwenden, auf dem die Daten gespeichert werden. Andererseits können wir, falls TestDisk die Aufgabe nicht erledigen kann, auch extundelete oder ext4magic ausprobieren, solange die Partition Ext4 ist.

Wenn es nicht funktioniert, können Sie versuchen, die Partition mit TestDisk wie oben beschrieben neu zu erstellen.

Schlussfolgerung

Es ist möglich, Dateien versehentlich zu löschen. Die Idee ist, die geeigneten Werkzeuge und Techniken zu kennen, um diese Dateien wiederherzustellen.

In diesem Beitrag haben wir mehrere Umstände und verschiedene Dateisysteme behandelt, die helfen könnten, solche Probleme zu vermeiden.

Komm immer wieder.

Danke.


Linux
  1. So stellen Sie eine gelöschte Datei unter Linux wieder her

  2. Linux-CD-Befehls-Tutorial für Anfänger (8 Beispiele)

  3. Wie kann man gelöschte Dateien unter Linux mit dem Scalpel-Datenwiederherstellungstool wiederherstellen?

  4. Wie kann ich Dateien von einer ext4-Partition wiederherstellen/wiederherstellen?

  5. Unix/Linux stellt gelöschte Dateien wieder her

Linux ss Command Tutorial für Anfänger (8 Beispiele)

Linux lsof Command Tutorial für Anfänger (15 Beispiele)

So installieren Sie TestDisk unter Linux und stellen gelöschte Dateien wieder her

So verwenden Sie PhotoRec, um gelöschte Dateien in Linux/Ubuntu wiederherzustellen

Top 20 der besten Linux-Datenwiederherstellungstools zur Wiederherstellung gelöschter/beschädigter Dateien

So verwenden Sie Linux zum Wiederherstellen gelöschter Dateien