dd - Ganze Platte als image sichern möglich?

  • Ersteller Ersteller Mickey Cohen
  • Erstellt am Erstellt am
M

Mickey Cohen

Gast
Hallo,

kann ich mit

Code:
dd if=/dev/nvme0n1 of=/run/media/liveuser/backupdrive/fulldiskbackup.img bs=4M status=progress

eine komplette platte als image sichern und anschließend mit

Code:
dd if=/run/media/liveuser/backupdrive/fulldiskbackup.img of=/dev/nvme0n1 bs=4M status=progress

wiederherstellen?

  • es läuft ein live-linux vom usb-stick aus, das OS auf der zu sichernden platte ist also nicht gebootet
  • natürlich hat das backupdrive mehr freien speicherplatz als die zu sichernde platte groß ist
  • das backupdrive ist mit btrfs formatiert

(ist vll. eine blöde frage, aber alle anleitungen die ich so auf die schnelle finde sprechen nur davon, entweder eine partition als image zu sichern oder eine ganze platte auf eine andere platte zu klonen. ich will aber eine ganze platte als image sichern.)

danke!
 
Ja, ist so möglich. Jedoch mochte mein dd bs=4M nicht zusammen mit status=progress.
 
  • Gefällt mir
Reaktionen: Mickey Cohen
danke!
komisch, ich nehme immer "bs=4M status=progress" als standardeinstellung, das läuft bei mir auf allen rechnern...
 
Kurze Antwort: Jepp.

Längere Antwort:
nvme0 ist das character device, darüber kommunizieren Gerät und Treiber.
nvme0n1 ist der erste Namespace auf der Platte als block device. Es kann mehrere Namespaces geben, aber das Feature wirst du sicher nicht nutzen. Wenn es dir um alle Daten geht, dann ist das die richtige Bezeichnung.
nvme0n1p1 ist die erste Partition im ersten Namespace auf der Platte. Wenn du nur eine Partition kopieren willst, ist das die richtige Bezeichnung.
 
  • Gefällt mir
Reaktionen: dasBaum_CH, Mickey Cohen und Ray519
dd Dokumentation empfiehlt zum Kopieren ganzer Platten außerdem die flags iflag=fullblock conv=noerror,sync. Bei kaputten Platten wird dadurch auch bei Lesefehlern der Kopiervorgang fortgesetzt und die entsprechenden Stellen mit Nullen gefüllt.

Und natürlich darauf achten dass während dem Kopiervorgang keine Partition gemountet ist, ansonsten hat man eine teilweise kaputte Kopie.
 
  • Gefällt mir
Reaktionen: dasBaum_CH, Donnerkind, Mickey Cohen und 3 andere
Wenn das Ziel ein Image Backup ist gibt es auch leichtegewichtige Wrapper um dd die wenigstens ein bisschen Kompression machen. Weil so sicherst du ja Bit für Bit, inklusive allen leeren Räumen. Das ist für ein Backup eigentlich eher unpraktisch und ein Zurückspielen braucht unnötig länger und ist unnötig ineffizient. Selbst wenn man keine komplexeren Tools nehmen will, die die Partitionstabellen und Dateisysteme verstehen und das wesentlich effizienter machen können, will man Kompression, solange du das nicht zum Recovern etc. nutzen willst.
 
  • Gefällt mir
Reaktionen: Mickey Cohen
danke.

conv=noerror,sync macht ja aber nur sinn, wenn ich eine kaputte platte retten will?
wenn es ohne conv=noerror,sync durchläuft, dann bedeutet das ja ohnehin, dass kein error aufgetreten ist?
Ergänzung ()

Ray519 schrieb:
Wenn das Ziel ein Image Backup ist gibt es auch leichtegewichtige Wrapper um dd die wenigstens ein bisschen Kompression machen. Weil so sicherst du ja Bit für Bit, inklusive allen leeren Räumen. Das ist für ein Backup eigentlich eher unpraktisch und ein zurückspielen braucht unnötig länger. Selbst wenn man keine komplexeren Tools nehmen will, die die Partitionstabellen und Dateisysteme verstehen und das wesentlich effizienter machen können, will man Kompression, solange du das nicht zum Recovern etc. nutzen willst.
das zu sichernde laufwerk ist vollverschlüsselt, da hilft keine kompression, aber grundsätzlich natürlich ein guter tipp
 
du kannst dd auch noch mit z.b. gzip verbinden, dann wird das image kleiner. meistens ist die quelle ja nicht voll und nullen lassen sich gut komprimieren :) alternativ kannst du dein btrfs-ziel mit z.b. "compress-force=zstd" mounten, dann wird das transparent erledigt.
 
Mickey Cohen schrieb:
das drive ist vollverschlüsselt, da hilft keine kompression ;)
Das stimmt. Da gibt es dann keinen leichtegewichtigen "Linux" Weg mehr einen Kompromiss mit vollwertigen Backup-Programmen zu erreichen...
Ergänzung ()

Vllt noch eine Ergänzung: bedenke das diverse Dateisysteme etc. eindeutige Identifier nutzen. Je nachdem was da drin ist, kann das massive Probleme geben, falls du jemals das ganze gleichzeitig mehrfach mounten würdest...
 
  • Gefällt mir
Reaktionen: Marco01_809
ich mache das gerade, weil ich mein notebook zur reparatur einschicken muss.
und ich werde denen nicht präsentieren, dass ich darauf linux laufen hatte, auf die diskussion hab ich keinen bock. also mach ich vorher alles platt und setze es danach zurück.
 
  • Gefällt mir
Reaktionen: Lotsenbruder
Ja in dem Fall macht es Sinn die ganze Disk mit allen Partitionen zu sichern.

Wenn man nicht muss weil z.B. eh nur eine Partition auf der Disk ist würde man eher nur die eine Partition sichern. Dadurch kopiert man die GPT Tabelle nicht mit weil die wie @Ray519 sagt jeder Disk und Partition eindeutige IDs gibt. Hat man also zwei identisch geklonte Platten an einem Rechner kollidieren die IDs.

Beim booten ist es aber wichtig das alle IDs passen sonst findet der Bootloader möglicherweise dein Betriebssystem nicht mehr.
 
  • Gefällt mir
Reaktionen: Mickey Cohen
Marco01_809 schrieb:
dd Dokumentation empfiehlt zum Kopieren ganzer Platten außerdem die flags iflag=fullblock conv=noerror,sync. Bei kaputten Platten wird dadurch auch bei Lesefehlern der Kopiervorgang fortgesetzt und die entsprechenden Stellen mit Nullen gefüllt.

Und natürlich darauf achten dass während dem Kopiervorgang keine Partition gemountet ist, ansonsten hat man eine teilweise kaputte Kopie.
Warum willst du kaputte Backups machen?
Ergänzung ()

Ray519 schrieb:
Wenn das Ziel ein Image Backup ist gibt es auch leichtegewichtige Wrapper um dd die wenigstens ein bisschen Kompression machen. Weil so sicherst du ja Bit für Bit, inklusive allen leeren Räumen. Das ist für ein Backup eigentlich eher unpraktisch und ein Zurückspielen braucht unnötig länger und ist unnötig ineffizient. Selbst wenn man keine komplexeren Tools nehmen will, die die Partitionstabellen und Dateisysteme verstehen und das wesentlich effizienter machen können, will man Kompression, solange du das nicht zum Recovern etc. nutzen willst.
Plattenimages kann man auch direkt mit einem Kompressor wie zstd oder gzip erstellen:

Code:
zstd < /dev/nvme0 > /tmp/a.img.zstd
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Pummeluff, Mickey Cohen und redjack1000
Zurück
Oben