Haben Sie versehentlich wichtige Dateien auf Ihrem Linux-System gelöscht und suchen nach einer Methode, diese wiederherzustellen? In dieser Anleitung erfahren Sie, wie Sie mit debugfs gelöschte Dateien unter Linux wiederherstellen können. Das Tool debugfs ermöglicht den Zugriff auf die Inode-Informationen und Datenstrukturen eines Dateisystems und ist damit ein leistungsfähiges Tool zur Wiederherstellung von Dateien.
Teil 1. Was ist debugfs?
Debugfs ist ein leistungsfähiges Debugging-Dienstprogramm im Linux-Betriebssystem, das eine Methode zum Zugriff auf die internen Datenstrukturen und Inode-Informationen eines Dateisystems bietet. Kernel-Entwickler verwenden es häufig, um Aufgaben wie das Rückgängigmachen von Dateien und die Datenwiederherstellung durchzuführen.
Debugfs verfügt über einige Funktionen, die es zu einem hilfreichen Tool für die Verwaltung von Dateisystemen machen. Es bietet eine einfache, RAM-basierte Oberfläche für den Zugriff auf Dateisysteminformationen und ermöglicht es Benutzern, Inode-Datenstrukturen zu manipulieren und Dateien zu löschen. Debugfs bietet auch viele andere Funktionen, wie die Anzeige von Dateisystemstatistiken und mehr.
Teil 2. Wie man debugfs verwendet
In der Linux-Kernel-Umgebung ist debugfs ein weit verbreitetes Dateisystem für Treiber und Subsysteme. Im Gegensatz zu anderen Dateisystemen wird der Inhalt von debugfs-Dateien vom Kernel erzeugt und ist spezifisch für jeden Treiber oder jedes Subsystem. Bei der Entwicklung neuer Treiber wird debugfs gegenüber printk-Anweisungen bevorzugt, da es einen schlankeren Prozess für die Aktivierung/Deaktivierung und eine standardisierte Oberfläche bietet.
Voraussetzungen
Angenommen, der Kernel wird mit den folgenden Konfigurationsoptionen erstellt:
CONFIG_DEBUG_FS=y
Debugfs mounten
Der Vorgang ist ähnlich wie bei anderen virtuellen Dateisystemen, die den mount Befehl verwenden. Zum Mounten des debugfs-Dateisystems:
Schritt 1: Erstellen Sie einen Mountpunkt. Der Standardwert ist /sys/kernel/debug/; möglicherweise ist er bereits vorhanden.
# mkdir /sys/kernel/debug
Schritt 2: Mounten Sie debugfs mit dem mount Befehl:
# mount -t debugfs none /sys/kernel/debug
Schritt 3: Verwenden Sie den cat Befehl, um den Inhalt des Dateisystems anzuzeigen:
# cat /sys/kernel/debug/gpio
GPIOs 32-63, A:
[ds5] GPIOA6: [gpio] set
[ds1] GPIOA9: [gpio] clear
[sda] GPIOA23: [gpio] set
[scl] GPIOA24: [gpio] set
[Button 3] GPIOA30: [gpio] set
[Button 4] GPIOA31: [gpio] set
GPIOs 64-95, B:
GPIOs 96-127, C:
[udc_vbus] GPIOC5: [gpio] set
[nand_rdy] GPIOC13: [gpio] set
[nand_enable] GPIOC14: [gpio] set
Hinzufügen von debugfs-Unterstützung zu einem Treiber
Die debugfs-API finden Sie in den Kernel-Quelldateien fs/debugfs/inode.c und fs/debugfs/file.c. Um debugfs-Dateien für einen Treiber oder ein Subsystem zu erstellen, folgen Sie diesen drei Schritten:
- Bestimmen Sie die Verzeichnisstruktur
- Entwickeln Sie Dateifunktionen für jede Datei
- Registrieren Sie die Dateien im debugfs-Dateisystem
Teil 3. Wie stellt man gelöschte Dateien mit debugfs unter Linux wieder her?
Das Verfahren ist ganz einfach.
Schritt 1: Erstellen Sie eine Textdatei (data.txt) und geben Sie ein:
echo 'This is a test' > data.txt
Schritt 2: Um die Inode-Nummer von data.txt anzuzeigen, geben Sie den Befehl ein:
ls -li data.txt
Schritt 3: Es liefert eine Ausgabe. Hier ist ein Beispiel:
7536648 -rw-r--r-- 1 root root 15 May 3 12:40 data.txt
Notieren Sie sich die Inode-Nummer.
Schritt 4: Angenommen, das Dateisystem befindet sich auf /dev/sda2, geben Sie den Befehl ein
# debugfs -w /dev/sda2
ODER
Wenn das Dateisystem /dev/mapper/wks01-root ist, geben Sie den Befehl ein:
# debugfs -w /dev/mapper/wks01-root
Nach einiger Zeit erhalten Sie den folgenden Prompt:
debugfs 1.41.12 (17-May-2010)
debugfs:
Geben Sie den folgenden Befehl ein, um einen Datenblock abzurufen
debugfs: logdump -i <7536648>
Sie erhalten wieder eine Ausgabe. Notieren Sie sich die Blöcke. Z.B. (0+1): 7559168 line
Schritt 5. Verwenden Sie den folgenden Befehl, um die Datei data.txt zu entfernen
rm data.txt
ls data.txt
Sie erhalten eine Ausgabe wie die folgende
ls: cannot access data.txt: No such file or directory.
Schritt 6: Um die Datei wiederherzustellen, geben Sie den folgenden Befehl ein:
# dd if=/dev/mapper/wks01-root of=data.txt bs=4096 count=1 skip=7559168
Schritt 7: Bestätigen Sie, dass die Daten wiederhergestellt sind.
cat data.txt
Schließlich erhalten Sie eine Ausgabe wie die folgende:
This is a test
Teil 4. Die beste Alternative zu debugfs für die Wiederherstellung gelöschter Dateien unter Linux
Debugfs ist ein leistungsfähiges Tool in der Linux-Umgebung. Es hat jedoch einige Einschränkungen, die bei der Entscheidung, ob es für eine bestimmte Aufgabe eingesetzt werden soll, berücksichtigt werden müssen. Erstens dient es in erster Linie der Fehlersuche und ist möglicherweise nicht für alle Anwendungsfälle geeignet.
Außerdem kann die Funktionalität von debugfs komplex und für Benutzer mit begrenzten technischen Kenntnissen schwer zu verstehen sein. Dennoch können Sie das Wondershare Recoverit Linux Recovery Tool ausprobieren, da es einfach zu bedienen ist und über verschiedene Funktionen zur Datenwiederherstellung verfügt, wie z.B.:
Wondershare Recoverit - Ihre sichere und zuverlässige Linux-Wiederherstellungssoftware
5.481.435 Personen haben das Tool bereits heruntergeladen.
Stellt verlorene oder gelöschte Dokumente, Fotos, Videos, Musik, E-Mails und über 1.000 weitere Dateitypen effektiv, sicher und vollständig wieder her.
Kompatibel mit allen gängigen Linux-Distributionen, einschließlich Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, etc.
Hilft bei mehr als 500 Szenarien von Datenverlusten, wie z.B. Löschung, Formatierung der Festplatte, Stromausfall, Virenbefall, verlorene Partition und viele mehr.
Funktioniert über eine Fernverbindung. Sie können Daten wiederherstellen, selbst wenn Ihr Linux-Computer abgestürzt ist.
Um diese debugfs-Alternative zur Wiederherstellung gelöschter Dateien zu verwenden, gehen Sie wie folgt vor:
Für Windows Vista/7/8/10/11
Für macOS X 10.10 - macOS 13
Schritt 1: Starten Sie das Linux Datenrettungstool nach der Installation und navigieren Sie zu der Option NAS und Linux auf der linken Seite der Oberfläche. Klicken Sie dort auf die Schaltfläche Linux Recovery, um die Datenwiederherstellung zu starten.
Schritt 2: Es erscheint ein neues Fenster, in dem Sie die erforderlichen Informationen für die Fernverbindung eingeben müssen. Nachdem Sie die Informationen eingegeben haben, initiieren Sie die Verbindung, indem Sie auf die Verbinden Schaltfläche klicken.
Schritt 3: Nach erfolgreicher Verbindung wird Recoverit einen automatischen Scan starten, um auf dem Linux-Gerät nach fehlenden Dateien zu suchen. Sobald die gewünschte Datei gefunden wurde, kann der Scan gestoppt und die Datei wiederhergestellt werden.
Schritt 4: Sobald der Scan abgeschlossen ist, sehen Sie sich die Dateien in der Vorschau an, um sicherzustellen, dass es sich um die gewünschten Dateien für die Wiederherstellung handelt. Klicken Sie dann auf die Wiederherstellen Schaltfläche, um die Dateien zu speichern.
Die debugfs-Alternative fordert Sie auf, den Zielordner zum Speichern der wiederhergestellten Dateien auszuwählen. Starten Sie den Wiederherstellungsprozess, indem Sie auf die Wiederherstellen Schaltfläche klicken. Es empfiehlt sich, einen anderen Speicherort als den ursprünglichen zu wählen, um die wiederhergestellten Dateien zu speichern.
Für Windows Vista/7/8/10/11
Für macOS X 10.10 - macOS 13
Fazit
Wenn es um die Wiederherstellung von gelöschten Dateien unter Linux geht, bietet debugfs eine leistungsstarke Lösung für erfahrene Benutzer. Für diejenigen, die eine leichter zugängliche Option suchen, ist Wondershare Recoverit Linux Recovery jedoch eine gute Wahl. Es vereinfacht den Wiederherstellungsprozess und gewährleistet erfolgreiche Ergebnisse, was es zu einer zuverlässigen Lösung für Datenverluste macht.