ubuntuusers.de

Festplattenabbild mit dd erstellen

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

John761

Anmeldungsdatum:
3. Dezember 2014

Beiträge: Zähle...

Hallo euch allen,^^ ich hätte mal eine Frage bezüglich des erstellen eines Festplattenabbildes bzw. dessen Wiederherstellung mit dem Werkzeug dd. Ich bin gerade dabei ein komplettes Abbild meiner Festplatte und aller darauf befindenen Partitionen zu erstellen.

sudo dd if=/dev/sda of=./backup.img

(erstellt wird das Image auf einer Externen 3 TB Festplatte.) Meine Frage wäre jetzt, wenn ich das Img irgendwann mal wieder einspielen wollen würde, könnte ich dies einfach mittels

sudo dd if=./backup of=/dev/sda

erreichen? (SSD im Laptop würde ich zuvor formatieren) Oder gibt es noch etwas zu beachten? Zur Information im Laptop von dem das Abbild erstellt wird, ist eine 256GB SSD verbaut.

Sinn des Backups ist es den jetzigen Ist-Zustand wiederherstellen zu können falls mir irgendeine Partition verreckt.

Mit freundlichen Grüßen 😀

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7792

tu noch bs=1M dazu, dd arbeitet sonst mit einer viel zu kleinen Blocksize und braucht ewig zum kopieren.

Ansonsten ist das schon richtig. sda darf beim Erstellen des Abbilds nicht gemountet oder sonstwie in Benutzung sein. Formatieren brauchst du nichts vorher, wenn sda dann eh komplett überschrieben wird.

Bei einer SSD, die TRIM unterstützt und getrimmte Bereiche als Nullen zurückliefert, würde sich ansonsten noch anbieten, vor dem Image ein fstrim durchzuführen und beim Herstellen komplett zu trimmen und dann per conv=sparse nur nicht-null zu schreiben...

blkdiscard /dev/sda # löscht alles
dd if=backup of=/dev/sda bs=1M conv=sparse

Und damit das Image nicht so riesig ist vielleicht noch gzip drauf.

dd if=/dev/sda bs=1M | gzip > backup.gz
gunzip < backup.gz | dd of=/dev/sda bs=1M

John761

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2014

Beiträge: 3

Danke schon mal für die schnelle Antwort. 👍 Hätte jetzt noch mal ne frage wegen der Blocksize. Hab jetzt schon ein Backup mit der von dd gewählten default Blocksize (glaube die liegt bei 512 Bytes), ist es ratsam noch mal ein Backup mit bs=1M (1048576 Byte) zu erstellen? oder reicht es diese beim wieder einspielen des Images zu ändern? ☺

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7792

Die Blocksize ändert am Inhalt nichts. Da gehts erstmal nur um die Kopiergeschwindigkeit.

Solange du nicht mit defekten Platten und conv=noerror,sync arbeitest.

John761

(Themenstarter)

Anmeldungsdatum:
3. Dezember 2014

Beiträge: 3

Ja super, vielen Dank. ☺ War nur verunsichert, weil ich gelesen hatte, dass es für SSDs wegen der Blocksize eher ungeeignet wäre.

Zur Übernahme eines bestehenden Systems auf eine SSD (Solid-State-Drive) sollte dd nur mit äußerster Vorsicht genutzt werden. In den Standardeinstellungen verwendet dd eine Blockgröße von 512 Bytes, was bei modernen SSD zu unnötigen Schreibprozessen führt. Verwendet man unter Benutzung des Parameters bs= eine Blockgrößenangabe die der Blockgröße oder einem Vielfachen davon der SSD entspricht, besteht diese Gefahr nicht. Des Weiteren sollte man beachten, dass das Alignment eingehalten wird, was ohne weitere Parameter höchstwahrscheinlich nicht der Fall ist.

(Quelle Ubuntuuser Wiki)

Ist wahrscheinlich eher wichtig wenn mann öfters Backups erstellt bzw. einspielt. Danke dir nochmals 👍

mravik

Avatar von mravik

Anmeldungsdatum:
11. April 2006

Beiträge: 148

frostschutz schrieb:

blkdiscard /dev/sda # löscht alles
dd if=backup of=/dev/sda bs=1M conv=sparse

Und damit das Image nicht so riesig ist vielleicht noch gzip drauf.

dd if=/dev/sda bs=1M | gzip > backup.gz
gunzip < backup.gz | dd of=/dev/sda bs=1M

Hier möchte ich mich kurz einklinken:

blkdiscard /dev/sda löscht alles? Aber was soll das denn bringen? Dann brauche ich doch kein Backup mehr, wenn ich zuvor alles gelöscht habe. Oder sehe ich den Wald vor lauter Bäumen nicht?!

Ich habe noch eine Frage zur Pipe mit gzip. Die Ausgabe erfolgt ja in die Datei backup.gz. Mir gelingt es nun nicht, dass ich mit der lubuntu LiveCD von einer SSD-Partition auf eine externe HDD-Platte schreibe:

sudo dd if=/dev/sda3 | gzip > /media/it/formatierte_hdd/backup.img.gz bs=4096 conv=sparse

Ich erhalte jedes Mal ein Permission denied. Das finde ich merkwürdig, weil ich auf der HDD problemlos Ordner anlegen kann, z.B. mit mkdir. Die externe Festplatte ist mit ext4 formatiert und die Platte gehört "root".

Hat jemand eine Idee, wie ich direkt auf die angeschlossene USB-Platte schreiben kann?

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7792

mravik schrieb:

blkdiscard /dev/sda löscht alles? Aber was soll das denn bringen? Dann brauche ich doch kein Backup mehr, wenn ich zuvor alles gelöscht habe.

Da ging es um das Zurückspielen mit conv=sparse, bei dem Nullen nicht geschrieben werden, was jedoch nur zuverlässig ist wenn das Gerät vorher schon genullt war, was man durch das komplette Löschen per blkdiscard erreicht, sofern die SSD nach TRIM zuverlässig Nullen liefert.

Im Zweifel läßt man conv=sparse lieber weg und trimmt erst hinterher mit fstrim...

sudo dd if=/dev/sda3 | gzip > /media/it/formatierte_hdd/backup.img.gz --(bs=4096 conv=sparse)--

Ich erhalte jedes Mal ein Permission denied.

Hier wird nur dd mit sudo ausgeführt, gzip und vor allem die Pipes | > laufen mit normalen Userrechten, wenn also der User keine Rechte hat diese backup.gz anzulegen...

Um Dateien als Root zu schreiben wird statt > oft | sudo tee datei > /dev/null verwendet, aber du kannst im Prinzip auch nochmal sudo dd of=datei nehmen.

sudo dd if=/dev/sda3 bs=1M | gzip | sudo tee /media/it/formatierte_hdd/backup.img.gz > /dev/null
sudo dd if=/dev/sda3 bs=1M | gzip | sudo dd iflag=fullblock bs=1M of=/media/it/formatierte_hdd/backup.img.gz

sowas in der art...

mravik

Avatar von mravik

Anmeldungsdatum:
11. April 2006

Beiträge: 148

Okay, ich habe es jetzt verstanden! Ganz herzlichen Dank - wieder einmal - an dich, frostschutz!

Antworten |