Auf einem Linux-System ist GNU ddrescue ein Dienstprogramm, mit dem Sie Laufwerke reparieren und kopieren können. Es gilt für Flash-Laufwerke, DVDs, Festplatten, Partitionen und jedes andere Speichermedium. Durch die Replikation von Daten in Chunks führt es eine Datenwiederherstellung durch. Hier finden Sie eine Anleitung zur Installation und Verwendung von GNU Ddrescue zur Wiederherstellung von Daten unter Ubuntu.
In diesem Artikel
Teil 1. Was ist GNU Ddrescue?
GNU ddrescue ist ein Tool zur Datenwiederherstellung für Festplatten, DVDs, CDs und andere digitale Speichermedien. Es kopiert Raw Speicherblöcke, wie z.B. Festplattensektoren, von einem Gerät oder einer Datei auf ein anderes, während es Lesefehler intelligent behandelt, um Datenverluste zu reduzieren, indem es gute Sektoren aus teilweise gelesenen Blöcken entfernt.
Der grundlegende Betrieb von Ddrescue ist vollständig automatisiert. Sie brauchen nicht auf einen Fehler zu warten, das Programm anzuhalten, es von einer anderen Position aus neu zu starten und so weiter. Die Daten werden wiederhergestellt, wenn Sie die Map-Datei-Funktion von Ddrescue verwenden (es werden nur die benötigten Blöcke gelesen). Wenn Ddrescue fehlerhafte Sektoren in der Eingabe erkennt, schreibt es keine Nullen in die Ausgabe und schneidet die Ausgabedatei nicht ab, wenn es nicht dazu aufgefordert wird. Daher versucht es jedes Mal, wenn Sie es auf dieselbe Ausgabedatei anwenden, die Lücken zu füllen, ohne die zuvor gespeicherten Daten zu löschen.
Wenn Sie zwei oder mehr beschädigte Kopien einer Datei, CD-ROM, etc. haben und Ddrescue nacheinander auf allen Kopien mit derselben Ausgabedatei ausführen, sollten Sie eine vollständige und fehlerfreie Datei erhalten. Das liegt daran, dass die Wahrscheinlichkeit, dass derselbe Bereich in allen Kopien beschädigt ist, gering ist (wenn die Fehler zufällig am Speicherort liegen).
Funktionen
- Ddrescue funktioniert nur bei durchsuchbaren (random access) Ein- und Ausgabedateien, da es an zufälligen Speicherorten lesen und schreiben muss.
- Wenn Ihr System dies unterstützt, kann Ddrescue die Eingabedatei direkt von der Festplatte lesen, ohne den Kernel-Cache zu verwenden.
- Ddrescue enthält auch einen "Füllmodus", mit dem Sie Teile der Ausgabedatei selektiv überschreiben können. Dies kann nützlich sein, um Daten zu löschen, fehlerhafte Bereiche zu markieren oder in manchen Fällen sogar beschädigte Sektoren zu "reparieren".
- Eine der Stärken von Ddrescue ist die Unabhängigkeit von der Oberfläche, so dass es mit jedem Gerät verwendet werden kann, das von Ihrem Kernel unterstützt wird (ATA, SATA, SCSI, alte MFM-Laufwerke, Disketten oder sogar Flash-Medienkarten wie SD).
Download Optionen
GNU Ddrescue funktioniert in Unix-ähnlichen Betriebssystemen. Hier finden Sie die Jahre und Versionen von GNU ddrescue, als es veröffentlicht wurde.
- 2014: GPL-2.0-oder-später
- 2007: GPL-3.0-oder-später
- 2004: GPL-2.0-oder-später
Geschichte von GNU Ddrescue
GNU ddrescue ist eine Open-Source-Software, die in der Programmiersprache C++ geschrieben wurde und erstmals am 12. August 2004 (vor 18 Jahren) veröffentlicht wurde. Es ist auch als Binärkomponente in den meisten Linux-Distributionen verfügbar.
Teil 2. Tipps zur sicheren Verwendung von Ddrescue
- GNU Ddrescue ist ein Power Tool, wie jedes andere auch. Um es sicher zu verwenden, müssen Sie zunächst verstehen, was es tut, gefolgt von einigen Informationen über die Geräte, mit denen es diese Dinge tut.
- Versuchen Sie NIEMALS, eine r/w gemountete Partition wiederherzustellen. Die daraus resultierende Kopie muss möglicherweise effektiver sein. Es ist besser, wenn die zu rettende Partition nicht gemountet ist, auch wenn sie schreibgeschützt ist.
- Reparieren Sie NICHT ein Dateisystem auf einem Laufwerk mit E/A-Fehlern; Sie werden mit ziemlicher Sicherheit weitere Daten verlieren.
- Alle Daten, die auf einem Gerät oder einer Partition gespeichert sind, werden überschrieben, wenn Sie diese als Ziel verwenden.
- Bei einem Neustart ändern einige Systeme möglicherweise die Namen der Geräte. Überprüfen Sie die Gerätenamen vor dem Neustart von Ddrescue, wenn Sie neu starten.
- Wenn Sie in die Rettung eingreifen und dann neu starten, sollten alle teilweise kopierten Partitionen versteckt werden, bevor ein Betriebssystem, das versucht, die Partitionen zu mounten und zu "reparieren", sie berühren kann.
Teil 3. Wie man Ddrescue unter Ubuntu installiert
Bevor Sie beginnen, müssen Sie Ddrescue auf Ihrem System installieren. Das Tool wird in der Regel nicht standardmäßig installiert, aber Sie können es einfach aus den Online-Software-Repositories Ihrer Distribution installieren.
Führen Sie den folgenden Befehl aus, um ddrescue mit dem Paketmanager Ihres Systems zu installieren. Befolgen Sie diese Schritte zur Installation auf allen gängigen Linux-Distributionen:
- So installieren Sie ddrescue unter Ubuntu, Debian oder Linux Mint.
$ sudo apt install gddrescue
- So installieren Sie ddrescue unter Fedora, CentOS, AlmaLinux und Red Hat:
$ sudo dnf install ddrescue
- So installieren Sie ddrescue auf Arch Linux und Manjaro.
$ sudo pacman -S ddrescue
Teil 4. Kleines Ddrescue Tutorial mit Beispielen
Diese Anleitung ist für Personen gedacht, die bereits mit dem Befehl dd vertraut sind. Wenn Sie mit dd nicht vertraut sind, sollten Sie zunächst im Internet nach einführendem Material über dd und GNU Ddrescue suchen.
Mit der Zeit entwickelt ein defektes Laufwerk mehr und mehr Fehler. Sie sollten also sofort Daten von einem Laufwerk speichern, wenn Sie den ersten Fehler sehen. Seien Sie immer vorsichtig, wenn ein beschädigtes Laufwerk hochfährt und Daten ausgeben kann.
Am besten verwenden Sie Ddrescue, um eine Kopie des ausgefallenen Laufwerks zu erstellen und versuchen dann, diese Kopie zu reparieren. Wenn Ihre Daten wichtig sind, verwenden Sie die erste Kopie als Master für eine zweite Kopie und versuchen Sie, die zweite Kopie zu reparieren. Wenn etwas schief geht, können Sie immer noch auf den Master zurückgreifen.
Wenn Sie versuchen, eine ganze Partition wiederherzustellen, reparieren Sie die Kopie zunächst mit e2fsck oder einem anderen Tool, das für den Typ der Partition geeignet ist, die Sie wiederherstellen möchten. Mounten Sie dann die reparierte Kopie irgendwo und versuchen Sie, die Dateien darin wiederherzustellen.
Wenn die Partitionstabelle beschädigt ist, speichern Sie den gesamten Datenträger, bevor Sie die Partitionstabelle und die Partitionen auf der Kopie reparieren. Und wenn das beschädigte Laufwerk nicht in /dev aufgeführt ist, kann es nicht wiederhergestellt werden. Jedenfalls nicht mit ddrescue.
Beispiel 1: Vollständig automatische Rettung einer gesamten Festplatte mit zwei ext2-Partitionen in /dev/sda nach /dev/sdb. Sie müssen /dev/sdb nicht vorher partitionieren, aber wenn die Partitionstabelle auf /dev/sda beschädigt ist, müssen Sie sie auf /dev/sdb neu erstellen.
ddrescue -f -r3 /dev/sda /dev/sdb mapfile
fdisk /dev/sdb
e2fsck -v -f /dev/sdb1
e2fsck -v -f /dev/sdb2
Beispiel 2: Verschieben Sie eine ext2-Partition von /dev/sda2 nach /dev/sdb2. Sie müssen zuerst fdisk verwenden, um die Partition sdb2 mit dem richtigen Typ und der richtigen Größe zu erstellen.
ddrescue -f -n /dev/sda2 /dev/sdb2 mapfile
ddrescue -d -f -r3 /dev/sda2 /dev/sdb2 mapfile
e2fsck -v -f /dev/sdb2
mount -t ext2 -o ro /dev/sdb2 /mnt(read rescued files from /mnt)
Beispiel 3: Beim Versuch, das gesamte Laufwerk /dev/sda nach /dev/sdb zu retten, bleibt /dev/sda an der Position 12345678 hängen.
ddrescue -f /dev/sda /dev/sdb mapfile # /dev/sda freezes here
(restart /dev/sda or reboot computer)
(restart copy at a safe distance from the troubled sector)
ddrescue -f -i 12350000 /dev/sda /dev/sdb mapfile
(then copy backwards down to the troubled sector)
ddrescue -f -R /dev/sda /dev/sdb mapfile
Beispiel 4: Während Sie Daten von /dev/sda nach /dev/sdb übertragen, fällt /dev/sdb aus und Sie müssen Daten auf ein drittes Laufwerk, /dev/sdc, übertragen.
ddrescue -f -n /dev/sda /dev/sdb mapfile1 # /dev/sdb fails here
ddrescue -f -m mapfile1 /dev/sdb /dev/sdc mapfile2
ddrescue -f -n /dev/sda /dev/sdc mapfile2
ddrescue -d -f -r3 /dev/sda /dev/sdc mapfile2
Beispiel 5: Während der Rettung einer Partition in /dev/sda1 in die Datei hdimage reagiert /dev/sda1 nicht mehr und beginnt mit Lesefehlern zu reagieren, so dass ddrescue den Rest der Partition als nicht gerettet aufzeichnen kann.
ddrescue -n /dev/sda1 hdimage mapfile # /dev/sda1 schlägt hier fehl(
starten Sie /dev/sda neu oder starten Sie den Computer neu)
ddrescue -n -A -i<pos> -O /dev/sda1 hdimage mapfile
(wenn /dev/sda1 erneut ausfällt, starten Sie /dev/sda neu oder starten Sie den Computer neu und
wiederholen Sie dann den obigen Befehl so oft wie nötig, bis er Erfolg hat.
<pos> ist die Position, an der das Laufwerk nicht mehr reagiert)
ddrescue -d -r3 /dev/sda1 hdimage mapfile
Beispiel 6: Nachdem eine Partition von /dev/sda1 in die Datei hdimage gerettet wurde, verschwindet sda1 aus /dev.
ddrescue -n /dev/sda1 hdimage mapfile # /dev/sda1 schlägt hier fehl
(starten Sie /dev/sda neu oder starten Sie den Computer neu und wiederholen Sie den obigen Befehl
so oft wie nötig, bis er erfolgreich ist)
ddrescue -d -r3 /dev/sda1 hdimage mapfile
Beispiel 7: Während der Rettung einer Partition von /dev/sda1 in die Datei hdimage wird die Partitionstabelle von /dev/sda unlesbar und das Betriebssystem erkennt sda1 in /dev nicht mehr. Die Lösung ist, die Map-Datei zu verschieben und die verbleibende Partition sda1 von /dev/sda zu lesen. Sie müssen den Versatz der Partition sda1 im Laufwerk sda und die Größe von sda1 kennen.
ddrescue /dev/sda1 hdimage mapfile # Partitionstabelle schlägt hier fehl
ddrescuelog --shift -o<offset> mapfile > shifted_mapfile
ddrescue -i<offset> -o0 -s<size> /dev/sda hdimage shifted_mapfile
Beispiel 8: Nachdem Sie eine Partition in /dev/sda1 in der Datei hdimage gespeichert haben, erweitern Sie hdimage, um das gesamte Laufwerk in /dev/sda zu kopieren, ohne die zuvor kopierte Partition /dev/sda1 erneut zu kopieren. Die Lösung besteht darin, die Map-Datei umzubenennen, die Daten von sda1 an ihren endgültigen Speicherort in hdimage zu kopieren und dann die restlichen Daten von /dev/sda zu lesen. Sie müssen den Versatz der Partition sda1 im Laufwerk sda und die Größe von sda1 kennen.
ddrescue /dev/sda1 hdimage mapfile # rescue partition
ddrescuelog --shift -o<offset> mapfile > shifted_mapfile
ddrescue --same-file -o<offset> -s<size> --reverse hdimage hdimage
ddrescue /dev/sda hdimage shifted_mapfile # rescue rest of drive
Teil 5. Ddrescue verwenden, um Daten unter Ubuntu wiederherzustellen - Vollständige Anleitung
Schritt 1. Starten Sie ein Kommandozeilenterminal und geben Sie den Gerätepfad zu der Festplatte oder Partition an, die Sie klonen möchten. Sie können dies mit Tools wie lsblk, fdisk, etc. tun.
$ lsblk
Schritt 2. Die Partition wird dann mit der folgenden Befehlssyntax in eine Image-Datei kopiert. In dem folgenden Beispiel verwenden wir /dev/sdX, aber Sie können es leicht durch Ihre Partition oder Ihr Gerät ersetzen. Der Inhalt wird in einer Datei backup.img gespeichert.
$ sudo ddrescue -d /dev/sdX backup.img backup.logfile
Hinweis: Die Option -d weist ddrescue an, den Cache des Kernels zu umgehen und stattdessen direkt auf die Festplatte zuzugreifen.
Schritt 3. Wenn Sie versuchen, Daten von einem beschädigten Datenträger wiederherzustellen, fügen Sie nach dem oben beschriebenen ersten Versuch die Option -r hinzu. Es weist ddrescue an, fehlerhafte Sektoren erneut zu versuchen, um so viele Daten wie möglich zu retten. Nach der Option können Sie die Anzahl der Wiederholungsversuche angeben.
$ sudo ddrescue -d -r3 /dev/sdX backup.img backup.logfile
Schritt 4. Die neue Image-Datei wird dann auf eine andere Festplatte oder Partition kopiert. Hierfür können wir den Befehl dd verwenden.
$ sudo dd if=backup.img of=/dev/sdX
Alternativ können Sie auch den Befehl ddrescue verwenden.
$ sudo ddrescue -f backup.img /dev/sdX clone.logfile
Die Option -f zeigt an, dass unsere Ausgabe an ein Blockgerät und nicht an eine Datei gesendet wird.
Schritt 5. Wenn Sie eine Festplatte oder Partition direkt auf eine andere klonen möchten, ohne eine Image-Datei zu verwenden, verwenden Sie die folgende Syntax. In diesem Beispiel klonen wir die Partition /dev/sdX1 nach /dev/sdX2.
$ sudo ddrescue -d -f /dev/sdX1 /dev/sdX2 clone.logfile
Nachdem Sie die vorangegangenen Schritte ausgeführt haben, sollten Sie auf den geklonten Speicher zugreifen können und alle Ihre Dateien sehen, da ddrescue sie erfolgreich wiederhergestellt hat.
Teil 6. Entfernung/Deinstallation von Ddresuce aus Ubuntu
Nachdem Sie Ihre Daten unter Ubuntu mit Ddrescue wiederhergestellt haben, können Sie das Programm deinstallieren, um Platz zu schaffen. Hier erfahren Sie, wie Sie ddrescue von Ubuntu 12.04 LTS deinstallieren können. Mit dem Befehl apt können Sie dieses Paket ganz einfach von Ihrem Linux-Betriebssystem deinstallieren.
Schritt 1. Der folgende Befehl wird ausgeführt, um ddrescue zu entfernen:
sudo apt-get remove ddrescue
Schritt 2. Um das ddrescue Paket und seine Abhängigkeiten zu entfernen, verwenden Sie den folgenden Befehl:
sudo apt-get remove --auto-remove ddrescue
Die Ausführung dieses Befehls deinstalliert ddrescue und alle seine Abhängigkeiten, die im System nicht mehr benötigt werden.
Entfernen Sie ddrescue und alle Konfigurationsdateien vollständig:
Schritt 3. Da er alle Konfigurationsdateien und Daten löscht, sollte der folgende Befehl mit Vorsicht verwendet werden:
sudo apt-get purge ddrescue
Schritt 4. Führen Sie alternativ diesen Befehl aus, um alle Konfigurationsdateien und Daten zu löschen, die mit dem ddrescue Paket verbunden sind. Sie können gelöschte Daten nicht wiederherstellen, verwenden Sie diesen Befehl also mit Vorsicht.
sudo apt-get purge --auto-remove ddrescue
Teil 7. [Optional] Installation von Recoverit - Ein GUI Tool zur Datenrettung unter Linux
Die Verwendung von GNU ddrescue für Linux kann für Benutzer mit geringen Kenntnissen der Kommandozeile ein wenig überwältigend sein. Zum Glück gibt es eine großartige Alternative - Wondershare Recoverit Linux Data Recovery. Es ist eine Datenrettungslösung für Linux-Betriebssysteme mit grafischer Oberfläche. Sie können damit gelöschte oder verlorene Dateien von Linux-Geräten mit nur wenigen Klicks wiederherstellen.
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 Datenverlustszenarien, wie z.B. Löschen, Formatieren der Festplatte, Absturz des Betriebssystems, Stromausfall, Virenbefall, verlorene Partition und viele mehr.
Die einfache Oberfläche ermöglicht es Ihnen, Daten von Linux-Festplatten mit nur wenigen Klicks wiederherzustellen.
Funktioniert über eine Fernverbindung. Sie können verlorene Daten wiederherstellen, selbst wenn Ihr Linux-Gerät abgestürzt ist.
Hier finden Sie eine Schritt-für-Schritt-Anleitung für die Datenrettung mit Wondershare Recoverit Linux Recovery, damit Sie Ihre wichtigen Dateien so schnell wie möglich wiederherstellen können.
Schritt 1. Wählen Sie die Linux-Wiederherstellung
Installieren Sie Wondershare Recoverit, nachdem Sie es heruntergeladen haben. Öffnen Sie es dann und wählen Sie NAS und Linux als erste Option, gefolgt von Linux Recovery.
Schritt 2. Verbindung zu einem Linux-Gerät aus der Ferne
Füllen Sie die erforderlichen Felder aus, um eine Fernverbindung herzustellen. Wenn Sie fertig sind, drücken Sie die Verbinden Schaltfläche. Danach führt Recoverit eine automatische Suche nach fehlenden Dateien durch.
Schritt 3. Dateiwiederherstellung und Speichern von Daten
Die Menge der zu scannenden Daten bestimmt die Dauer des Scanvorgangs, die Sie in der unteren Leiste sehen können. Sie können die Suche beenden, wenn Sie die Datei gefunden haben, die Sie wiederherstellen möchten.
Nach dem Scan können Sie die Dateien untersuchen, um sicherzustellen, dass sie die Daten enthalten, die Sie wiederherstellen möchten. Wählen Sie dann Wiederherstellen.
Folgen Sie den Anweisungen der Software, um die wiederhergestellten Dateien zu speichern. Klicken Sie auf Wiederherstellen, um die wiederhergestellten Daten zu erhalten. Bitte wählen Sie einen anderen Dateipfad als den zuletzt verlorenen.
Für Windows Vista/7/8/10/11
Für macOS X 10.10 - macOS 13
Fazit
Dieses Tutorial stellt GNU ddrescue für Linux vor. Außerdem lernen Sie, wie Sie das GNU ddrescue Tool auf allen wichtigen Linux-Distributionen installieren und zur Wiederherstellung verwenden können. Darüber hinaus bieten wir Ihnen auch die beste Alternative zu GNU ddrescue, nämlich Wondershare Recoverit Linux Recovery für einfachere und unkompliziertere Wiederherstellungsvorgänge.