Dd

Aus Ubuntu-Forum Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Habs mal schön gemacht :-))
Zeile 1: Zeile 1:
-
=== [[Bild:wikitext.png]] [[Bild:704.png]] [[Bild:610.png]] [[Bild:606.png]] Datensicherung mittels dd ===
+
[[Bild:wikitext.png]] [[Bild:704.png]] [[Bild:610.png]] [[Bild:606.png]]  
 +
__TOC__
 +
= Allgemeines =
-
Datensicherung ist nicht nur für Warmduscher, sondern erspart einem viel Ärger wenn man feststellt,
+
'''Disk Dump''' ist ein Programm zur Datensicherung. Datensicherung ist '''immer''' ratsam, denn es erspart einem viel Ärger, wenn man feststellt,
dass die Daten (Bilder, Texte, Kontoauszüge, E-Mails und Browserlinks) unwiederbringlich verloren sind.  
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.
+
Alle Angaben sind ohne Gewähr und sollten nur unter '''genauester''' Beachtung der Syntax von dd angewendet werden.
-
'''Installation:'''
+
= Funktionsweise =
-
dd ist ein gnu-Tool und ist in der Regel bei jeder Distribution bereist in der Grundinstallation vorhanden.
+
dd ist ein Programm zur Sicherung von Partitionen und ganzen Festplatten (Klonen (Duplizieren) einer Festplatte).
-
 
+
-
 
+
-
'''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.
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  
+
Desweiteren kann die zu übertragende Datensatzgröße (Blockgröße) festgelegt werden, was sich bei der Übertragung  
-
mittels DFÜ sich als sehr nützlich erweisen.
+
mittels DFÜ als sehr nützlich erweisen kann.
-
 
+
-
 
+
-
Da dd immer eine 1:1 Kopie der Quelle anlegt, benötigt das Ziellaufwerk soviel freien Speicherplatz wie die Quelle maximal aufweist.
+
 +
'''Hinweis: 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 das Pipelining (Weiterleitung eines Programmergebnisses an ein anderes Programm zur Weiterverarbeitung) können die Daten  
-
durch nachschalten der gzip Komprimierung Speicherplatzschonend gepackt werden.  
+
durch Nachschalten der gzip-Komprimierung Speicherplatzschonend gepackt werden. Das Ergebnis wird in einer Datei abgelegt deren Name frei vergeben werden kann.
-
Das Ergebnis wird in einer Datei abgelegt deren Name frei vergeben werden kann.
+
= Installation =
 +
Das Ganze beginnt einfach, denn Disk Dump ist in Bestandteil der Grundinstallation vieler Distributionen, so auch Ubuntu. Somit ist eine Installation nicht nötig.
-
Eine Übersicht aller möglichen Parameter können Sie der manpage zu dem Befehl dd entnehmen.
 
 +
= Datensicherung =
-
'''Installation:'''
+
Die Grundsyntax von dd ist sehr einfach:
 +
dd if of bs
-
In der Regel nicht notwendig, da Bestandteil der Linuxgrundinstallation.
+
Erklärung:
 +
{| border=1
 +
|'''if'''
 +
|Inputfile (Eingabedatei/-laufwerk)
 +
|--
 +
|'''of'''
 +
|Outputfile (Ausgabedatei/-laufwerk)
 +
|--
 +
|'''bs'''
 +
|Blocksize/-größe (optional und erst mal nicht wichtig)
 +
|}
-
'''Syntax:'''
+
* Auf einer deutschen Tastatur erhält man das Zeichen "|" durch gleichzeitiges Drücken der AltGR (rechts neben der Leertaste)
 +
und der Taste für <> (links neben "Y").
-
dd if=quelle of=ziel bs= ggf. Blockgrösse in Byte angeben (optional)
+
* 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.
-
'''Kurze Erklärungen:'''
+
== Duplizieren einer kompletten Festplatte ==
-
if = Inputfile  (Eingabedatei)
+
Dies ist unabhängig vom Dateisystem, also geeignet für Windows, Linux und andere Dateisysteme.
-
of = outputfile  (Ausgabedatei)
+
Steht beispielsweise der Kauf einer neuen und größeren Festplatte an, so erledigt dd für uns das Klonen der kompletten Festplatte und
-
bs = optional bestimmbare Blockgrösse der zu schreibenden Datensätze in Bytes
+
erstellt eine lauffähige 1:1 Kopie der alten auf die neue Festplatte.
-
Das Zeichen | erhalten Sie durch gleichzeitiges Drücken der AltGR (rechts neben der Zwischenraumtaste)
+
Hierbei ist, z.b.  die alte Festplatte an ''/dev/hda'' und die Neue an ''/dev/hdb'' angeschlossen (die Zielfestplatte muss mindestens  
-
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.
+
-
'''
+
-
 
+
-
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).
ü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
+
Damit das Ganze auch funktioniert, muss man alte Festplatte entweder auf read only (nur lesen) setzen, oder besser: Man benutzt eine LiveCD, z.B. von Ubuntu oder Knoppix. Da man nur eine Kommandozeile ([[Terminal]]) benötigt, kann man auch ein Minimal-Linux vom USB Stick booten.
-
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.'''
-
Die Zielfestplatte muss nicht formatiert werden, da die Inhalte 1:1 übertragen werden.
+
  dd if=/dev/hda of=/dev/hdb
  dd if=/dev/hda of=/dev/hdb
-
Die Angabe einer Blockgrösse (bs) ist nicht notwendig.
+
Die Angabe einer Blockgröße (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.  
+
 +
Das Kopieren wird seine Zeit dauern. ''Anschließend'' jumpert man die zweite Festplatte
 +
um  (von Slave nach  Master) 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.
-
'''Duplizieren einer Festplattenpartition'''
+
= Einzelne Partitionen =
 +
== Duplizieren einer Festplattenpartition ==
-
Hierbei kann wie o.a. nur durch Angabe einer Partition diese gesichert werden (z.b: /dev/hda1).
+
Eine Partition kann wie eine komplette Festplatte gesichert werden, der Unterschied besteht lediglich darin, dass /dev/hda'''1''' als Inputfile und /dev/hdb'''1''' als Outputfile verwendet werden. Zum Beispiel:
-
Bitte beachten Sie dass bei der Sicherung der Rootpartition diese nur read only gemountet ist,
+
dd if=/dev/hda1 of=/dev/hdb1
-
oder Sie eine Live CD verwenden.
+
 +
'''Auch hier ist zu beachten, dass bei der Sicherung der Rootpartition diese nur read only gemountet ist oder eine Live CD verwendet wird!'''
-
'''Unkomprimierte Sicherung'''
 
 +
== Unkomprimierte Sicherung ==
 +
Diese Syntax beschreibt die Datensicherung einer Partition in eine Datei:
  dd if=/dev/hda1 of=/dev/hda2/sicherung_hda1.file
  dd if=/dev/hda1 of=/dev/hda2/sicherung_hda1.file
-
'''Komprimiert'''
+
== Komprimierte Sicherung ==
-
 
+
Diesmal wird das Inputfile (/dev/hda1 in dieseM Fall) als komprimierte Datei gesichert:
  dd if=/dev/hda1 | gzip > /dev/hda2/sicherung_hda1.gz
  dd if=/dev/hda1 | gzip > /dev/hda2/sicherung_hda1.gz
-
'''Unkomprimierte Rücksicherung'''
+
== Unkomprimierte Rücksicherung ==
-
 
+
Die Rücksicherung kann hier aus einer Datei gemacht werden. Hat man wie oben beschrieben eine komplette Partition als Partition gesichert, ist der Befehl von oben selbstverständlich nur umgekehrt auszuführen. Für Datei -> Partition gilt:
  dd if=/dev/hda2/sicherung_hda1 of=/dev/hda1
  dd if=/dev/hda2/sicherung_hda1 of=/dev/hda1
-
'''Komprimierte Rücksicherung'''
+
== Komprimierte Rücksicherung ==
-
 
+
Hierbei wird die gepackte Sicherung der Partition hda1 nach /dev/hda1 zurück geschrieben, nachdem es entpackt wurde:
  gunzip -c /dev/hda2/hsicherung_hda1.gz| dd of=/dev/hda1
  gunzip -c /dev/hda2/hsicherung_hda1.gz| dd of=/dev/hda1
-
'''Anlegen eines Diskimages einer Festplatte'''
+
= Ganze Festplatten =
-
 
+
-
 
+
Eine Vollsicherung (Diskimage) sollte von Zeit zu Zeit erfolgen, damit man
Eine Vollsicherung (Diskimage) sollte von Zeit zu Zeit erfolgen, damit man
-
im Fehlerfall schnell wieder eine lauffähige Version ohne zeitaufwendige Neuinstallation
+
im Fehlerfall schnell und ohne zeitaufwendige Neuinstallation wieder eine lauffähige Version  
-
erhält. Der Sicherungsrythmus hängt ganz von Ihren Bedürfnissen ab (monatlich oder wöchentlich).
+
erhält. Der Sicherungsrythmus hängt ganz von den individuellen Bedürfnissen ab (z.B. 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.  
+
Möchte man eine '''tägliche''' Datensicherung der geänderten Anwenderdaten, empfiehlt sich dies z.B. mittels des
 +
[[Rsync]].  
-
Da man nur eine Kommandozeile( rootkonsole) benötigt, kann man auch ein Minimallinux vom USB Stick booten.
+
Da es wenig Sinn macht, ein Diskimage unkomprimiert abzulegen, wird hier nur die komprimierte Form beschrieben. Unkomprimiert kann es wie o.a. durchgeführt werden.
-
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).
+
'''Voraussetzung:''' Die zu sichernde Festplatte muss entweder auf read-only (nur lesen) gestellt werden, besser aber benutzt man eine LiveCD wie die von Ubuntu oder Knoppix. Da man nur eine Kommandozeile ([[Terminal]]) benötigt, kann man auch ein MinimalLinux vom USB-Stick booten.
 +
Das Ziel sollte hierbei gemountet sein, ü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 (FAT32) auf 4 GByte pro Datei!).
-
'''Diskimage der ersten Festplatte herstellen'''
 
 +
== Diskimage der ersten Festplatte herstellen ==
 +
Hier wird die erste Festplattre (hda) in komprimierter Form als Datei auf Partition hdb1 auf der zweiten Festplatte gesichert:
  dd if=/dev/hda | gzip > /dev/hdb1/sicherung_hda.gz
  dd if=/dev/hda | gzip > /dev/hdb1/sicherung_hda.gz
-
'''Diskimage wieder zurückspielen'''
+
== Diskimage wieder zurückspielen ==
-
 
+
Hierbei verwendet man wie o.a. entweder eine LiveCD oder ein Minimal-Linux. Das Ziellaufwerk wird hierbei komplett überschrieben.
-
Hierbei verwendet man wie o.a. entweder eine Live CD oder ein Minimallinux.
+
-
 
+
-
Das Ziellaufwerk wird hierbei komplett überschrieben.
+
-
 
+
  gunzip -c /dev/hdb1/sicherung_hda.gz| dd of=/dev/hda
  gunzip -c /dev/hdb1/sicherung_hda.gz| dd of=/dev/hda
-
'''Ganze Festplatte löschen'''
+
== Ganze Festplatte löschen ==
-
 
+
Der dd Befehl kann auch dazu benutzt werden, den gesamten Festplatteninhalt oder alle
-
Der dd Befehl kann auch dazu benutzt werden den gesamten Festplatteninhalt- oder alle
+
Daten auf einer Zielangabe zu löschen bzw. zu überschreiben.
Daten auf einer Zielangabe zu löschen bzw. zu überschreiben.
-
'''Achtung!'''
+
'''Achtung!''': Die vorhandenen Daten auf der Zielangabe werden '''unwiederbringlich''' gelöscht.  
-
 
+
-
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.
+
 +
Hierbei wird das gesamte Laufwerk /dev/hda mit Zufallszahlen überschrieben. Je nach Grösse der Festplatte kann dies eine ganze Zeit dauern.
  dd if=/dev/urandom of=/dev/hda
  dd if=/dev/urandom of=/dev/hda
 +
Führt man diesen Befehl ein paar mal hintereinander durch, ist es praktisch unmöglich, den ursprünglichen Inhalt der Daten wiederherzustellen.
-
Führt man diesen Befehl z.B. ein paar mal durch, dürfte es kaum möglich sein den ursprünglichen Inhalt
+
= Master Boot Reccord (MBR) =
-
der Daten wieder herzustellen.
+
Mittels nachfolgender Befehle kann der Bootsektor des [[MBR]] (Master Boot Record) gesichert und wieder zurückgespielt werden.
-
'''MBR sichern, zurückspielen oder löschen'''
+
== MBR sichern ==
-
 
+
Dafür muss man natürlich wissen, wo sich der MBR befindet. In der Regel wird dieser auf die erste Festplatte geschrieben, wo der Befehl dann lautet:
-
Mittels nachfolgendem Befehl kann der Bootsektor des MBR (MasterBootRecord) gesichert und wieder
+
-
zurückgespielt werden:
+
-
 
+
-
 
+
-
'''MBR sichern'''
+
-
 
+
  dd if=/dev/hda bs=512 count=1 of=/Ziel_und_Dateiname_bestimmen
  dd if=/dev/hda bs=512 count=1 of=/Ziel_und_Dateiname_bestimmen
-
'''MBR zurückspielen'''
+
== MBR zurückspielen ==
-
 
+
Hierbei wird der [[MBR]] (wieder zurück) auf hda geschrieben:
  dd if=Ziel_und_Dateiname_angeben of=/dev/hda
  dd if=Ziel_und_Dateiname_angeben of=/dev/hda
-
'''MBR löschen'''
+
== MBR löschen ==
-
 
+
Möchte man den kompletten MBR aus irgendeinem Grund löschen, macht man das hiermit:
  dd if=/dev/zero of=/dev/hda1 bs=1 count=446 conv=notrunc
  dd if=/dev/zero of=/dev/hda1 bs=1 count=446 conv=notrunc
-
'''Weitere Möglichkeiten von dd'''
+
= 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.
-
Wie man sieht, ist dd ein mächtiges Werkzeug und erspart einem den Kauf von Zusatzsoftware wie dies bei
+
Es besteht auch die Möglichkeit, dd über eine ssh-Verbindung zu tunneln und somit ein Backup über das Netzwerk oder das Internet durchzuführen.
-
anderen Betriebssystemen der Fall wäre.
+
 +
Alle möglichen Befehle von dd können der '''manpage''' entnommen werden, es wurden hier nur die am häufigsten benötigten Funktionen beschrieben.
-
Es besteht auch die Möglichkeit dd über eine ssh Verbindung zu Tunneln und somit ein Backup über das Netzwerk
+
Vorgefertigte Datenrettungs-CDs mit Programmen und unterschiedlichem Funktionsumfang findet man auf der [[Ubuntu-Forum_Wiki:Portal#System-Tools_-_Rettungsanker_und_Datensicherung_.28Backup.29|Themenseite unseres Wikis]].
-
(Internet) durchzuführen.
+
-
Alle möglichen Befehle von dd können der manpage entnommen werde, es wurden hier nur die am meisten
+
'''Es ist anzuraten solch eine Rettungs-CD vor einem Crash schon mal vorsorgehalber zu erstellen und diese auch mal auszuprobieren.'''
-
benötigten Funktionen beschrieben.
+
-
Vorgefertigte Datenrettungs CD´s mit Programmen und unterschiedlichem Funktionsumfang
+
[[Kategorie:System-Tools]]
-
findet man auf der Themenseite unseres wiki.
+
[[Kategorie:7.04]]
-
 
+
[[Kategorie:6.10]]
-
 
+
[[Kategorie:6.06]]
-
'''Es ist anzuraten solch eine Rettungs-CD vor einem Crash schon mal vorsorgehalber zu erstellen und diese auch mal auszuprobieren.'''
+

Version vom 14. Juli 2007, 08:15 Uhr

Wikitext.png 704.png 610.png 606.png

Inhaltsverzeichnis


1 Allgemeines

Disk Dump ist ein Programm zur Datensicherung. Datensicherung ist immer ratsam, denn es 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 genauester Beachtung der Syntax von dd angewendet werden.


2 Funktionsweise

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öße (Blockgröße) festgelegt werden, was sich bei der Übertragung mittels DFÜ als sehr nützlich erweisen kann.

Hinweis: 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.


3 Installation

Das Ganze beginnt einfach, denn Disk Dump ist in Bestandteil der Grundinstallation vieler Distributionen, so auch Ubuntu. Somit ist eine Installation nicht nötig.


4 Datensicherung

Die Grundsyntax von dd ist sehr einfach:

dd if of bs

Erklärung:

if Inputfile (Eingabedatei/-laufwerk)
of Outputfile (Ausgabedatei/-laufwerk)
bs Blocksize/-größe (optional und erst mal nicht wichtig)


und der Taste für <> (links neben "Y").

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


4.1 Duplizieren einer kompletten Festplatte

Dies ist unabhängig vom Dateisystem, also geeignet für Windows, Linux und andere Dateisysteme. Steht beispielsweise der Kauf einer neuen und größeren Festplatte an, so erledigt dd für uns das Klonen der kompletten Festplatte und erstellt eine lauffähige 1:1 Kopie der alten auf die neue Festplatte.

Hierbei ist, z.b. die alte Festplatte an /dev/hda und die Neue an /dev/hdb angeschlossen (die Zielfestplatte muss mindestens über so viel Speicherplatz verfügen wie die alte Festplatte).

Damit das Ganze auch funktioniert, muss man alte Festplatte entweder auf read only (nur lesen) setzen, oder besser: Man benutzt eine LiveCD, z.B. von Ubuntu oder Knoppix. Da man nur eine Kommandozeile (Terminal) benötigt, kann man auch ein Minimal-Linux vom USB Stick booten.

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

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

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

Das Kopieren wird seine Zeit dauern. Anschließend jumpert man die zweite Festplatte um (von Slave nach Master) 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 Einzelne Partitionen

5.1 Duplizieren einer Festplattenpartition

Eine Partition kann wie eine komplette Festplatte gesichert werden, der Unterschied besteht lediglich darin, dass /dev/hda1 als Inputfile und /dev/hdb1 als Outputfile verwendet werden. Zum Beispiel:

dd if=/dev/hda1 of=/dev/hdb1

Auch hier ist zu beachten, dass bei der Sicherung der Rootpartition diese nur read only gemountet ist oder eine Live CD verwendet wird!


5.2 Unkomprimierte Sicherung

Diese Syntax beschreibt die Datensicherung einer Partition in eine Datei:

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


5.3 Komprimierte Sicherung

Diesmal wird das Inputfile (/dev/hda1 in dieseM Fall) als komprimierte Datei gesichert:

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


5.4 Unkomprimierte Rücksicherung

Die Rücksicherung kann hier aus einer Datei gemacht werden. Hat man wie oben beschrieben eine komplette Partition als Partition gesichert, ist der Befehl von oben selbstverständlich nur umgekehrt auszuführen. Für Datei -> Partition gilt:

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


5.5 Komprimierte Rücksicherung

Hierbei wird die gepackte Sicherung der Partition hda1 nach /dev/hda1 zurück geschrieben, nachdem es entpackt wurde:

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


6 Ganze Festplatten

Eine Vollsicherung (Diskimage) sollte von Zeit zu Zeit erfolgen, damit man im Fehlerfall schnell und ohne zeitaufwendige Neuinstallation wieder eine lauffähige Version erhält. Der Sicherungsrythmus hängt ganz von den individuellen Bedürfnissen ab (z.B. monatlich oder wöchentlich).

Möchte man eine tägliche Datensicherung der geänderten Anwenderdaten, empfiehlt sich dies z.B. mittels des Rsync.

Da es wenig Sinn macht, ein Diskimage unkomprimiert abzulegen, wird hier nur die komprimierte Form beschrieben. Unkomprimiert kann es wie o.a. durchgeführt werden.

Voraussetzung: Die zu sichernde Festplatte muss entweder auf read-only (nur lesen) gestellt werden, besser aber benutzt man eine LiveCD wie die von Ubuntu oder Knoppix. Da man nur eine Kommandozeile (Terminal) benötigt, kann man auch ein MinimalLinux vom USB-Stick booten.

Das Ziel sollte hierbei gemountet sein, ü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 (FAT32) auf 4 GByte pro Datei!).


6.1 Diskimage der ersten Festplatte herstellen

Hier wird die erste Festplattre (hda) in komprimierter Form als Datei auf Partition hdb1 auf der zweiten Festplatte gesichert:

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


6.2 Diskimage wieder zurückspielen

Hierbei verwendet man wie o.a. entweder eine LiveCD oder ein Minimal-Linux. Das Ziellaufwerk wird hierbei komplett überschrieben.

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


6.3 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.

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

Führt man diesen Befehl ein paar mal hintereinander durch, ist es praktisch unmöglich, den ursprünglichen Inhalt der Daten wiederherzustellen.

7 Master Boot Reccord (MBR)

Mittels nachfolgender Befehle kann der Bootsektor des MBR (Master Boot Record) gesichert und wieder zurückgespielt werden.


7.1 MBR sichern

Dafür muss man natürlich wissen, wo sich der MBR befindet. In der Regel wird dieser auf die erste Festplatte geschrieben, wo der Befehl dann lautet:

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


7.2 MBR zurückspielen

Hierbei wird der MBR (wieder zurück) auf hda geschrieben:

dd if=Ziel_und_Dateiname_angeben of=/dev/hda


7.3 MBR löschen

Möchte man den kompletten MBR aus irgendeinem Grund löschen, macht man das hiermit:

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


8 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 oder das Internet durchzuführen.

Alle möglichen Befehle von dd können der manpage entnommen werden, es wurden hier nur die am häufigsten benötigten Funktionen beschrieben.

Vorgefertigte Datenrettungs-CDs mit Programmen und unterschiedlichem Funktionsumfang findet man auf der Themenseite unseres Wikis.


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