Linux 15.036 Themen, 107.107 Beiträge

dd

ghartl1 / 10 Antworten / Baumansicht Nickles

hallo

kann ich mit dd eine ganze festplatte klonen.(die festplatte hat 3 partitionen.

wenn ja..
muss ich zum zurückspielen auf eine neue festplatte die partitionen vorher anlegen?oder macht das e dd?
ich weiss schon, dass die neue hd nicht kleiner sein darf..

wie mach ich das, wenn ich das image der festplatte in 2 gb blöcke aufteilen will

dd if=/dev/hda of=/media/sicherung.iso | split -b 2gb

ääähh...wird da nicht erst die komplette iso datei gespeichert und dann aufgesplittet...sollte eigentlich gleich gesplittet werden
hat da wer einen passenden befehl?

und dann die 2 gb blöcke als eine datei auf eine festplatte zurückspielen will?

cat sicherung.iso_part* > /dev/neue/festplatte

funktioniert das?

gruss günter

bei Antwort benachrichtigen
Xdata ghartl1 „dd“
Optionen

Das geht, aber man kann die Festplatte oder auch eine Partition nur so übertragen wie sie ist.
Die Dateisysteme und deren Größe ist auf der zweiten Platte dann wie beim Original.
Die Bootfähikeit ist auf der anderen Platte dann auch vorhanden wenn man sie "ganz" kopiert.
Es muß bei of= aber der Device Name der 2ten Festplatte angegeben werden. Zum Beispiel
dd if=/dev/hda of=/dev/hdb

Mit cfdisk kann man schaun wie die 2te Platte als Device heißt, bei einer Sata als Ziel etwa /dev/sda

Hatte vor Kurzem eine Ähnliche Frage. Falls es sich bei den Platten um Linux Partitionen handelt die
auf dem Ziel eine andere Größe haben sollen war vom rsync Befehl die Rede.
Damit kann man wohl auf andere Größen kopieren -- bei Dateisystemen die auf der zweiten Platte schon sind.

Warte mal noch Antworten ab, ob es mit einem iso geht weiß ich nicht.

bei Antwort benachrichtigen
KarstenW ghartl1 „dd“
Optionen

dd kopiert nur Sektoren , die bei einer Festplatte 512 Byte groß sind.
Man kann schon mit dd ganze Festplatten klonen.
Allerdings prüft dd nicht ob die Daten fehlerfrei kopiert worden sind. Ich wüßte zumindest nichts davon.
Ich würde in jedem Fall rsync bevorzugen. rsync prüft ob die Daten fehlerfrei kopiert worden sind.
rsync wird auch benutzt um Internetserver zu spiegeln.

rsync ist für Windows verfügbar:

http://wiki.njh.eu/mediawiki/index.php?title=Rsync_unter_Windows&printable=yes

http://www.itefix.no/phpws/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=6&MMN_position=23:23

http://rsync.samba.org/


Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
ghartl1 KarstenW „dd kopiert nur Sektoren , die bei einer Festplatte 512 Byte groß sind. Man kann...“
Optionen

@xdata

"Warte mal noch Antworten ab, ob es mit einem iso geht weiß ich nicht."
eigentlich hab ich gemeint, dass dd das iso ist (ich weiss ist eine datei...)

@karstenw
"rsync wird auch benutzt um Internetserver zu spiegeln."
das hab ich nicht gewusst..dachte die machen das mit dd

bei Antwort benachrichtigen
KarstenW ghartl1 „@xdata Warte mal noch Antworten ab, ob es mit einem iso geht weiß ich nicht....“
Optionen

Mit dd kann man eventuell mal den MBR auf Diskette kopieren oder sogar ein Image von einer CD machen.
Für das Spiegeln von Festplatten nimmst du am besten rsync.
Die Manpage ist von rsync erstmal erschreckend groß, aber du brauchst nur ganz wenige Optionen für den "normalen" Einsatz von rsync.

rsync -avz /Quellverzeichnis /Zielverzeichnis

http://de.wikipedia.org/wiki/Rsync

Beispiel eines Backups mit rsync:

http://www.heinlein-support.de/projekte/rsync-backup/backup-rsync

http://www.heinlein-support.de/web/support/wissen/rsync-backup/


Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
TimmintoR 2°°4 ghartl1 „dd“
Optionen
muss ich zum zurückspielen auf eine neue festplatte die partitionen vorher anlegen? oder macht das e dd? ich weiss schon, dass die neue hd nicht kleiner sein darf..
Nein, musst du nicht. Wenn du die komplette HDD kopierst, dann wird auch der MBR in die Sicherung mit aufgenommen und somit ist auch deine Partitionstabelle gesichert.

dd if=/dev/hda of=/media/sicherung.iso | split -b 2gb
Sollte funktionieren, einfach mal ausprobieren.

cat sicherung.iso_part* > /dev/neue/festplatte
Wird nicht funktionieren, siehe Antwort von xdata.


Gruß

TimmintoR 2°°4
Linux.DOS.Windows - The Good.The Bad.The Ugly
bei Antwort benachrichtigen
the_mic ghartl1 „dd“
Optionen
dd if=/dev/hda of=/media/sicherung.iso | split -b 2gb

Das funktioniert garantiert nicht so, da über die Pipe nur die Ausgaben weitergeleitet werden, die in den stdout geschrieben werden.

Ausserdem ist's besser, wenn grad blockweise kopiert wird. Festplattensektoren sind normalerweise 512 Bytes gross.

Für die Split-Grösse empfehle ich etwas zu nehmen, das auch grad auf einen optischen Datenträger passt. Also besser 700MB oder 4200MB (für die genaue Kapazität einer DVD musst du ggf etwas ausprobieren).

Also:
dd bs=512 if=/dev/hda | split -b 2048M - hdoutput.iso

Achtung, einzeln stehender - in der split-Syntax nicht übersehen. Das weist split an, den stdin zu lesen.

Einfacher wär's allerdings, mit dd direkt auf die neue Platte zu schreiben:
dd bs=512 if=/dev/hda of=/dev/hdb

Und da dd direkt die Festplatte auf tiefster Ebene ausliest, kopiert es natürlich auch sämtliche Strukturinformationen wie Partitionseinteilungen.
cat /dev/brain > /dev/null
bei Antwort benachrichtigen
ghartl1 the_mic „ Das funktioniert garantiert nicht so, da über die Pipe nur die Ausgaben...“
Optionen

hmmm macht das was wenn meine festplattensektoren 4096 byte gross sind?

würde der befehl funktionieren...von knoppix aus auf eine externe platte sichern

dd bs=4096 if=/dev/hda | split -b 4096M - /mnt/home/sicherung_hda.iso

bei Antwort benachrichtigen
KarstenW ghartl1 „hmmm macht das was wenn meine festplattensektoren 4096 byte gross sind? würde...“
Optionen

Mit Festplattensektoren ist nicht die Blockgröße des Dateisystems gemeint, sondern die "echten" Festplattensektoren auf die ein Dateisystem wie ext3 aufgesetzt wird.
Die Hersteller formatieren die Festplatte und unterteilen die Spuren in Sektoren. Diese Sektoren sind bei Festplatten in der Regel 512 Byte groß.

dd kopiert nur diese Sektoren und kann mit einem Dateisystem überhaupt nicht umgehen.

http://de.wikipedia.org/wiki/Festplatte

Diese Sektoren sind gemeint und nicht die Datenblöcke des Dateisystems:

http://de.wikipedia.org/wiki/Dateisystem#Organisation_von_Massenspeichern

http://de.wikipedia.org/wiki/Festplattengeometrie

Mit dem Parameter bs=512 teilst du dem Programm dd mit wie groß ein Sektor von dieser Festplatte ist.
Disketten haben in der Regel auch eine Sektorgröße von 512 Byte.
Der Parameter bs hat nichts mit der Inodendichte oder Blockgröße des Dateisystems ext3 oder einem anderen Dateisystem zu tun.
CDs mit dem Dateisystem iso9660 haben eine Blockgröße von 2048 Byte.

Die Festplattensektoren sind für den Festplattencontroller wichtig, damit er die Schreibleseköpfe richtig positionieren kann.


Die Blockgröße eines Dateisystems ist was ganz anderes


http://de.wikipedia.org/wiki/Dateisystem

PS: Ich würde für das Kopieren rsync nutzen, allein schon wegen der Fehlererkennung. dd kopiert nur die Sektoren der Festplatte und prüft NICHT ob sie feherfrei gespeichert worden sind.







Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
ghartl1 KarstenW „Mit Festplattensektoren ist nicht die Blockgröße des Dateisystems gemeint,...“
Optionen

aha...danke

gruss günter

bei Antwort benachrichtigen
robinx99 ghartl1 „dd“
Optionen

>muss ich zum zurückspielen auf eine neue festplatte die partitionen vorher anlegen?oder macht das e dd?

Also dazu kann ich nur ein bischen sagen (hatte es bisher nur einmal gemacht)
Und zwar eine 80gb platte zurückgespielt auf eine 160gb platte mit dem ergebniss dass es hinterher lief und die neue platte hatte 80gb unpartitionierten Bereich.

Und für einige Spezial Situationen finde ich dd immernoch sehr praktisch, als ich meinen Neuen Laptop hatte hab ich auch erstmal mit dd ein Backup gemacht, der Grund ist simpel. 4 Primäre partitionen. 1 Backup Partition die Vista wieder herstellt, 2 Vista Partition, 3 Daten Partition, 4 Partition mit einem WinXP embedded um Videos abzuspielen. Und da es halt keine Recovery CD gab hab ich das backup auch mit dd gemacht in meinem Fall auf eine USB Platte. Mittels des Befehls (boot mittels Gentoo CD) "dd if=/dev/sda | lzop -9 >/mnt/usb/backup.lzop" vorher noch unter Windows einmal die Festplatten voll gemacht mit nullfile http://www.feyrer.de/g4u/#shrinkimg
Gab eigentlich eine datei in recht angenehmer größe. Zurückspielen läßt es sich hinterher durchaus mit komandos wie "dd if=/mnt/usb/backup.lzop | lzop -d | dd of=/dev/sda"
Und in dem fall erschien mit dd sinvoller wie andere Strategien, da ich die Partitionen mit sichern wollte und ich mir extrem unsicher war wie sich der Kubuntu installer mit den Recovery Partition verhält

gruß
robinx99

bei Antwort benachrichtigen