DD und freier Speicherplatz

DD und freier Speicherplatz

Ich habe eine Partition (/dev/sda1) mit 10 GB. Außerdem habe ich eine „dd“-Datei einer anderen 7 GB großen Partition (/dev/sdb1).

Wenn ich den Befehl wie folgt ausführe:

dd wenn=sdb1.dd von=/dev/sda1

dann läuft alles gut, aber ich kann den restlichen 3 GB Speicherplatz von /dev/sda1 nicht nutzen

Gibt es eine Möglichkeit, DD anzuweisen, den verbleibenden freien Speicherplatz (in diesem Fall 3 GB) zu nutzen?

Antwort1

ddkümmert sich überhaupt nicht um freien Speicherplatz (wie im Dateisystemkonzept), es kopiert einfach Block für Block.

Wenn sdb1.ddes sich um ein Dateisystemabbild handelt, können Sie es resize2fsnach dem Kopieren möglicherweise mit oder anderen Tools (je nach Dateisystemtyp) vergrößern.

resize2fs /dev/sda1

Antwort2

Gibt es eine Möglichkeit, DD anzuweisen, den verbleibenden freien Speicherplatz (in diesem Fall 3 GB) zu nutzen?

NEIN.

Genauer gesagt: Vorausgesetzt, die Zielpartition hat die richtige Größe (wie Sie sagen), schreiben Sie effektiv ein Dateisystem, das nur den ersten Teil der Partition kennt und sich ddnicht um die Bedeutung der an der Quelle oder am Ziel geschriebenen Daten kümmert.

Abhängig vom verwendeten Dateisystem können Sie möglicherweiseErweitern Sie das Dateisystemdie gesamte Partition zu verwenden, aber das geht weit über die Zuständigkeiten hinaus ddund die Einzelheiten hängen stark davon ab, welches genaue Dateisystem sich in dieser Image-Datei befindet.

Antwort3

dd kopiert keine Dateien, wenn es Bytes kopiert. Dazu gehört auch die Struktur des Dateisystems, das ein 7-Gigabyte-Dateisystem ist. Wenn Sie mit dem Kopieren fertig sind, zeigen die Dateisystemdaten an, dass es sich um ein 7-Gigabyte-Dateisystem handelt.

Wenn Sie nur alle Dateien duplizieren möchten, ist die Verwendung von dd zum Erstellen einer Kopie nicht das Richtige für Sie. Verwenden Sie tar oder führen Sie einen Dump/Restore auf einem neu erstellten Dateisystem durch.

verwandte Informationen