Dd

Aus Ubuntu-Forum Wiki

Wechseln zu: Navigation, Suche

under construction 18.30 13.07.07


Inhaltsverzeichnis

1 Wikitext.png 704.png 610.png 606.png Datensicherung mittels dd

Datensicherung von einzelnen Partitionen und ganzen Laufwerken mittels des Programms dd


Datensicherung ist nicht nur für Warmduscher, sondern erspart einem viel Ärger wenn man feststellt, dass die Daten (Bilder, Texte, Kontoauszüge, E-Mails und Browserlinks) unwiederbringlich verloren sind.

Alle Angaben sind ohne Gewähr und sollten nur unter Beachtung der genauen Syntax von dd angewendet werden.


dd ist ein gnu-Tool und ist in der Regel bei jeder Distribution bereist in der Grundinstallation vorhanden.


2 Beschreibung:

dd ist ein Programm zur Sicherung von Partitionen und ganzen Festplatten (Klonen (duplizieren) einer Festplatte).


Hierbei wird eine Quelle (Partition oder ganzes Laufwerk (Festplatte, CD, DVD) und ein Ziel angegeben.

Desweiteren kann die zu übertragende Datensatzgrösse (Blockgrösse) festgelegt werden, dies kann bei der Übertragung

mittels DFÜ sich als sehr nützlich erweisen.


Da dd immer eine 1:1 Kopie der Quelle anlegt, benötigt das Ziellaufwerk soviel freien Speicherplatz wie die Quelle maximal aufweist.


Durch das Pipelining (Weiterleitung eines Programmergebnisses an ein anderes Programm zur Weiterverarbeitung) können die Daten

durch nachschalten der gzip Komprimierung Speicherplatzschonend gepackt werden.


Das Ergebnis wird in einer Datei abgelegt deren Name frei vergeben werden kann.


Eine Übersicht aller möglichen Parameter können Sie der manpage zu dem Befehl dd entnehmen.



3 Installation:

In der Regel nicht notwendig, da Bestandteil der Linuxgrundinstallation.




4 Syntax

dd if=quelle of=ziel bs= ggf. Blockgrösse in Byte angeben (optional)



5 Kurz Erklärungen

if = Inputfile (Eingabedatei)

of = outputfile (Ausgabedatei)

bs = optional bestimmbare Blockgrösse der zu schreibenden Datensätze in Bytes


Das Zeichen | erhalten Sie durch gleichzeitiges Drücken der AltGR (rechts neben der Zwischenraumtaste)

und der <> Taste (links neben der Umschaltetaste)



Da unter Linux jedes Device (Laufwerk etc.) eine Datei ist und auch so behandelt wird, wurde hierbei der Name file verwendet.

Das Eingabe ´file´ kann in der Regel eine Datei, Partition oder ein komplettes Laufwerk (Festplatte CD, DVD) sein.




5.1 Duplizieren einer kompletten Festplatte

Dateisystem unanhängig (geeignet für Windows, Linux- und andere Dateisysteme)


Steht der Kauf einer neuen grösseren Festplatte an, so erledigt dd für uns das Klonen der kompletten Festplatte und

erstellt eine Lauffähige 1:1 Kopie von der Alten auf die neue Festplatte.


Hierbei ist, z.b. die alte Festplatte an /dev/hda und die Neue an /dev/hdb angeschlossen (das Zielfestplatte muss mindestens

über so viel Speicherplatz verfügen wie die alte Festplatte).


Hierbei setzt man die alte Festplatte entweder auf read only (nur lesen) oder benutzt am besten eine Live CD Ubuntu

oder z.B. Knoppix. Da man nur eine Kommandozeile( rootkonsole) benötigt, kann man auch ein Minimallinux vom USB Stick booten.


Die Zielfestplatte muss nicht formatiert werden, da die Inhalte 1:1 übertragen werden.


  1. dd if=/dev/hda of=/dev/hdb


Die Angabe einer Blockgrösse (bs) ist nicht notwendig.


Das Kopieren wird seine Zeit dauern. Anschließend jumpert (von Slave nach Master) man die zweite Festplatte

um und baut diese anstelle der alten Festplatte wieder ein.


Es steht dann einem Boot nichts mehr im Wege und die neue Festplatte müsste wie die Alte funktionieren.


Ist die neue Festplatte grösser als die alte Festplatte, so verbleibt der freie Speicher zur weiteren Verfügung.

Man kann dann mittels qtparted die Partitionsgrössen ggf. anpassen.



5.2 Duplizieren einer Festplattenpartition

Hierbei kann wie o.a. nur durch Angabe einer Partition diese gesichert werden (z.b: /dev/hda1).


Bitte beachten Sie dass bei der Sicherung der Rootpartition diese nur read only gemountet ist,

oder Sie eine Live CD verwenden.



Unkomprimierte Sicherung


  1. dd if=/dev/hda1 of=/dev/hda2/sicherung_hda1.file



Komprimiert


# dd if=/dev/hda1 | gzip > /dev/hda2/sicherung_hda1.gz




Unkomprimierte Rücksicherung


# dd if=/dev/hda2/sicherung_hda1 of=/dev/hda1



Komprimierte Rücksicherung


  1. gunzip -c /dev/hda2/hsicherung_hda1.gz| dd of=/dev/hda1




5.3 Anlegen eines Diskimages einer Festplatte

Eine Vollsicherung (Diskimage) sollte von Zeit zu Zeit erfolgen, damit man

im Fehlerfall schnell wieder eine lauffähige Version ohne zeitaufwendige Neuinstallation

erhält. Der Sicherungsrythmus hängt ganz von Ihren Bedürfnissen ab (monatlich oder wöchentlich).


Anraten kann man jedoch eine tägliche Sicherung der geänderten Anwenderdateien z.B. mittels des

Programms rsync (ein wiki Beitrag hierzu wird noch erstellt). Das Programm rsync stellt z.B. ein

Spiegelbild einer Datenquelle (Verzeichnis, Partition o.ä) her und kann das Ziel (z.B. USB Stick,

USB Festplatte oder ein anderes widerbeschreibbares Medium) automatisch mit der Quelle synchronisieren.


Entwickeln Sie deshalb eine für Sie angemessene Datensicherungsstrategie (Tagesdaten, Partitionen, ganze Festplatte),

es erspart Ihnen jede Menge Ärger und, es geht auch irgendwann mal eine Festplatte kaputt. Wohl dem

der dann noch seine wichtigen Dateien hat.


Da es wenig Sinn macht ein Diskimage unkomprimiert abzulegen beschreibe ich hier nur die komprimierte Form.

Unkomprimiert kann es wie o.a. durchgeführt werden.


Hierbei setzt man die zu sichernde Festplatte entweder auf read only (nur lesen) oder benutzt am besten eine

Live CD Ubuntu oder z.B. Knoppix.


Da man nur eine Kommandozeile( rootkonsole) benötigt, kann man auch ein Minimallinux vom USB Stick booten.


Das Ziel sollte hierbei gemounted sein und über genügend Speicherplatz verfügen und auch die Dateigrösse an einem

Stück aufnehmen können (man beachte die Einschränkung bei vfat auf 4 GByte pro Datei).



Diskimage der ersten Festplatte herstellen


  1. dd if=/dev/hda | gzip > /dev/hdb1/sicherung_hda.gz



Diskimage wieder zurückspielen


Hierbei verwendet man wie o.a. entweder eine Live CD oder ein Minimallinux.

Das Ziellaufwerk wird hierbei komplett überschrieben.


  1. gunzip -c /dev/hdb1/sicherung_hda.gz| dd of=/dev/hda



5.4 Ganze Festplatte löschen

Der dd Befehl kann auch dazu benutzt werden den gesamten Festplatteninhalt- oder alle

Daten auf einer Zielangabe zu löschen bzw. zu überschreiben.


Achtung!

Die vorhandenen Daten auf der Zielangabe werden unwiederbringlich gelöscht.



Hierbei wird das gesamte Laufwerk /dev/hda mit Zufallszahlen überschrieben. Je nach Grösse

der Festplatte kann dies eine ganze Zeit dauern.


  1. dd if=/dev/urandom of=/dev/hda


Führt man diesen Befehl z.B. ein paar mal durch, dürfte es kaum möglich sein den ursprünglichen Inhalt

der Daten wieder herzustellen.




5.5 MBR sichern, zurückspielen oder löschen

Mittels nachfolgendem Befehl kann der Bootsektor des MBR (MasterBootRecord) gesichert und wieder

zurückgespielt werden:


MBR sichern


  1. dd if=/dev/hda bs=512 count=1 of=/Ziel_und_Dateiname_bestimmen



MBR zurückspielen


dd if=Ziel_und_Dateiname_angeben of=/dev/hda



MBR löschen


dd if=/dev/zero of=/dev/hda1 bs=1 count=446 conv=notrunc




5.6 Weitere Möglichkeiten von dd

Wie man sieht, ist dd ein mächtiges Werkzeug und erspart einem den Kauf von Zusatzsoftware wie dies bei

anderen Betriebssystemen der Fall wäre.


Es besteht auch die Möglichkeit dd über eine ssh Verbindung zu Tunneln und somit ein Backup über das Netzwerk

(Internet) durchzuführen.


Alle möglichen Befehle von dd können der manpage entnommen werde, es wurden hier nur die am meisten

benötigten Funktionen beschrieben.



Vorgefertigte Datenrettungs CD´s mit Programmen und unterschiedlichem Funktionsumfang

findet man auf der Themenseite unseres wiki.


Es ist anzuraten solch eine Rettungs-CD vor einem Crash schon mal vorsorgehalber zu erstellen und diese

auch mal auszuprobieren.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge