So verwenden Sie den dd-Befehl in Linux, ohne die Festplatte zu zerstören

So verwenden Sie den dd-Befehl in Linux, ohne die Festplatte zu zerstören

Egal, ob Sie versuchen, Daten von einem sterbenden Speicherlaufwerk zu retten, ein Archiv auf einem Remote-Speicher zu sichern oder eine perfekte Kopie einer aktiven Partition an einem anderen Ort zu erstellen, erfahren Sie, wie Sie Laufwerke und Dateisysteme sicher und zuverlässig kopieren. Glücklicherweise gibt es dd, ein einfaches, aber leistungsstarkes Tool zum Kopieren von Bildern mit einer langen Geschichte. Es gibt für diesen Zweck kein besseres Werkzeug.

Erklärung des dd-Befehls

dd: Kopiert eine Datei in Blöcken einer bestimmten Größe und führt beim Kopieren die angegebenen Konvertierungen durch.

Hinweis: Wenn die Stelle, an der eine Zahl angegeben ist, mit den folgenden Zeichen endet, multiplizieren Sie mit der entsprechenden Zahl: b=512; c=1; k=1024; w=2

Parameterhinweise:

1. if=Dateiname: Eingabedateiname, der Standard ist die Standardeingabe. Geben Sie also die Quelldatei an. < if=Eingabedatei >

2. of=Dateiname: Name der Ausgabedatei, der Standard ist die Standardausgabe. Geben Sie also die Zieldatei an. <of=Ausgabedatei >

3. ibs=bytes: Liest jeweils Bytes, d. h. gibt eine Blockgröße von Bytes an.

obs=bytes: Gibt jeweils Bytes aus, d. h., gibt eine Blockgröße von Bytes an.

bs=bytes: Legt die Blockgröße für Lesen und Ausgabe auf Bytes fest.

4. cbs=bytes: Konvertiert Bytes auf einmal, d. h. gibt die Größe des Konvertierungspuffers an.

5. skip=blocks: Überspringe Blöcke vom Anfang der Eingabedatei, bevor mit dem Kopieren begonnen wird.

6. seek=blocks: Überspringe Blöcke vom Anfang der Ausgabedatei, bevor mit dem Kopieren begonnen wird.

Hinweis: Dies ist normalerweise nur dann wirksam, wenn es sich bei der Ausgabedatei um eine Diskette oder ein Band handelt, d. h. beim Sichern auf eine Diskette oder ein Band.

7. count=blocks: kopiert nur Blöcke, bei denen die Blockgröße der von ibs angegebenen Anzahl Bytes entspricht.

8. conv=conversion: Konvertiert die Datei mit den angegebenen Parametern.

ascii: ebcdic in ascii umwandeln

ebcdic: ASCII in ebcdic konvertieren

ibm: ASCII in alternatives EBCDIC konvertieren

Block: Konvertieren Sie jede Zeile in eine Länge von cbs und füllen Sie den unzureichenden Teil mit Leerzeichen

Entsperren: Machen Sie jede Zeile cbs lang und füllen Sie den unzureichenden Teil mit Leerzeichen

lcase: Großbuchstaben in Kleinbuchstaben umwandeln

ucase: Kleinbuchstaben in Großbuchstaben umwandeln

swab: tauscht jedes Bytepaar in der Eingabe

noerror: Nicht anhalten, wenn ein Fehler auftritt

notrunc: Die Ausgabedatei nicht kürzen

sync: Füllen Sie jeden Eingabeblock auf ibs Bytes und füllen Sie den unzureichenden Teil mit Nullzeichen (NUL) auf.

Erstellen Sie perfekte Kopien von Laufwerken und Partitionen

Wenn Sie sich gründlich genug damit befassen, können Sie mit dd alle möglichen Aufgaben ausführen. Die beeindruckendste Funktion ist jedoch, dass Sie mit Partitionen herumspielen können. Natürlich können Sie tar oder sogar scp verwenden, um ein gesamtes Dateisystem zu kopieren, indem Sie die Dateien von einem Computer kopieren und unverändert in ein neu installiertes Linux auf einem anderen Computer einfügen. Da es sich bei diesen Dateisystemarchiven allerdings nicht um vollständige Images handelt, ist als Basis auf beiden Seiten ein laufendes Host-Betriebssystem erforderlich.

Andererseits kann dd verwendet werden, um von fast allem, was Sie digitalisieren, ein bytegenaues Bild zu erstellen. Doch bevor Sie beginnen, Partitionen von einem Ort zum anderen zu kopieren, sei erwähnt, dass an dem alten Sprichwort unter Unix-Administratoren, dass „dd für Disk Destroyer steht“, etwas Wahres dran ist. Das Eingeben auch nur eines einzigen falschen Zeichens im dd-Befehl kann zum sofortigen und dauerhaften Löschen der wertvollen Daten des gesamten Laufwerks führen. Ja, es ist wichtig, dass Sie es korrekt eingeben.

Denken Sie daran: Überlegen Sie gut, bevor Sie die Eingabetaste drücken, um dd aufzurufen!

Grundlegende Operationen von dd

Wir haben Sie gewarnt und beginnen zunächst mit den einfachen Aspekten. Angenommen, Sie möchten eine exakte Spiegelung der Daten auf der gesamten Festplatte mit der Bezeichnung /dev/sda erstellen. Sie haben ein leeres Laufwerk eingefügt (idealerweise eines so groß wie das /dev/sda-System). Die Syntax ist einfach: if = definiert das Quelllaufwerk, of = definiert die Datei oder den Speicherort, an dem die Daten gespeichert sind:

# dd if=/dev/sda of=/dev/sdb

Das nächste Beispiel erstellt ein IMG-Archiv des Laufwerks /dev/sda und speichert es im Home-Verzeichnis des Benutzerkontos:

# dd if=/dev/sda of=/home/username/sdadisk.img

Diese Befehle erstellen ein Image des gesamten Laufwerks. Sie können sich auch auf eine einzelne Partition innerhalb eines Laufwerks konzentrieren. Das nächste Beispiel macht dies und verwendet außerdem bs, um die Anzahl der gleichzeitig zu kopierenden Bytes festzulegen (in diesem Beispiel 4096 Bytes). Durch Anpassen des BS-Werts kann die Gesamtgeschwindigkeit von DD-Vorgängen beeinflusst werden. Die ideale Einstellung hängt jedoch von Ihrem Hardwareprofil und anderen Überlegungen ab.

# dd if=/dev/sda2 of=/home/username/partition2.img bs=4096

Die Wiederherstellung ist einfach: Kehren Sie einfach den Wert von if und den Wert von of um. In diesem Artikel entspricht if= dem Image, das Sie wiederherstellen möchten, und of= dem Laufwerk, auf das Sie das Image schreiben möchten:

# dd if=sdadisk.img of=/dev/sdb

Sie können die Erstellungs- und Kopiervorgänge auch mit einem Befehl ausführen. In diesem Beispiel wird beispielsweise SSH verwendet, um ein komprimiertes Image eines Remote-Laufwerks zu erstellen und das resultierende Archiv auf Ihrem lokalen Computer zu speichern:

# ssh [email protected] "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz

Sie sollten Archive immer testen, um sicherzustellen, dass sie ordnungsgemäß funktionieren. Wenn es sich um das von Ihnen erstellte Startlaufwerk handelt, legen Sie es in Ihren Computer ein und prüfen Sie, ob es normal startet. Wenn es sich um eine normale Datenpartition handelt, mounten Sie sie, um sicherzustellen, dass die Dateien vorhanden sind und normal darauf zugegriffen werden kann.

Löschen Sie die Festplatte mit dd

Vor vielen Jahren hatte ich einen Freund, der für die Sicherheit der Botschaften seiner Regierung im Ausland verantwortlich war. Er erzählte mir einmal, dass jede Botschaft, die er beaufsichtigte, mit einem von der Regierung ausgegebenen Hammer ausgestattet war. Warum? Mit diesem Hammer können sämtliche Festplatten zerstört werden, falls die Botschaft in Gefahr gerät.

Warum also die Daten nicht löschen? Willst du mich verarschen? Es ist allgemein bekannt, dass das Löschen von Dateien mit vertraulichen Daten von einem Speichergerät nicht automatisch zum Löschen der Daten führt. Mit genügend Zeit und Motivation können Sie fast alle Daten von fast jedem digitalen Medium wiederherstellen, mit Ausnahme derer, die in Stücke gerissen wurden.

Mit dd können Sie es Bösewichten jedoch extrem schwer machen, an Ihre alten Daten zu gelangen. Dieser Befehl benötigt eine Weile, um in jeder Ecke der Partition /dev/sda1 Millionen von Nullen zu erstellen:

# dd if=/dev/zero of=/dev/sda1

Aber es kann besser werden. Mit der Datei /dev/urandom als Quelle können Sie zufällige Zeichen auf die Festplatte schreiben:

# dd if=/dev/urandom of=/dev/sda1

Überwachen von DD-Vorgängen

Da das Archivieren einer Festplatte oder Partition lange dauern kann, möchten Sie dem Befehl möglicherweise Tools zur Fortschrittsüberwachung hinzufügen. Installieren Sie Pipe Viewer (führen Sie unter Ubuntu „sudo apt install pv“ aus) und fügen Sie es in dd ein. Mit pv würde der endgültige Befehl folgendermaßen aussehen:

# dd wenn=/dev/urandom | pv | dd von=/dev/sda1
4,14MB 0:00:05 [ 98kB/s] [ <=> ]

Haben Sie genug von Backups und Datenträgerverwaltung? Mit dd haben Sie nicht viele Ausreden. Die Verwendung ist nicht schwer, aber seien Sie vorsichtig. Viel Glück!

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • So verwenden Sie den Befehl „DD“ in Linux/OSX, um ein ISO-Image eines USB-Installationsdatenträgers für das Betriebssystem zu erstellen
  • Tutorial zur Verwendung des Linux-Befehls dd
  • Detaillierte Erklärung der grundlegenden Verwendung des Befehls useradd unter Linux
  • Eine kurze Diskussion über die Verwendung von ldconfig und ldd in Linux
  • Wie DDNS funktioniert und wie es unter Linux implementiert wird
  • Eine Reihe von Shell-Befehlstextoperationen pro Tag - Tutorial zur Verwendung von Linux DD
  • Detaillierte Erklärung der Linux-Befehle: So verwenden Sie den Befehl useradd
  • So verwenden Sie den Befehl dd unter Linux
  • So verhindern Sie, dass PHPDDOS Pakete sendet, um andere anzugreifen (iis+linux)

<<:  Spezifische Schritte für den Vue-Browser zur Rückgabe der Überwachung

>>:  MySQL5.7 Master-Slave-Konfigurationsbeispielanalyse

Artikel empfehlen

Detaillierte Erklärung der Entwurfsmuster des JavaScript-Frameworks

Inhaltsverzeichnis mvc MVP mvv Die Quelle von Vue...

Anfänger lernen einige HTML-Tags (2)

Verwandter Artikel: Anfänger lernen einige HTML-Ta...

MySQL stellt Daten über Binlog wieder her

Inhaltsverzeichnis MySQL-Protokolldateien binlog ...

Navicat importiert CSV-Daten in MySQL

In diesem Artikel erfahren Sie, wie Sie mit Navic...

Prozessdiagramm für die Sitzungsfreigabe bei Tomcat Nginx Redis

1. Vorbereitung Middleware: Tomcat, Redis, Nginx ...

Tipps zur MySQL-Leistungsoptimierung

MySQL-Leistungsoptimierung MySQL wird in Internet...

Detaillierte Erklärung, wie Vue-Komponenten Werte untereinander übertragen

Inhaltsverzeichnis Überblick 1. Die übergeordnete...

Ausführliche Erklärung zu Slots und Filtern in Vue

Inhaltsverzeichnis Spielautomaten Was sind Slots?...

Sekundäre Kapselung des Elements el-table table (mit Tischhöhenanpassung)

Vorwort Während meines Praktikums in der Firma ha...

Beispielcode zur Implementierung einer Hohlmaskenebene mit CSS

Inhalt dieses Artikels: Seitenhohlmaskenebene, Se...