Das Beste, was Sie tun können, ist
-
Alle Dateien von allen Partitionen kopieren, wobei Metadaten beibehalten werden
mkdir -p myimage/partition1
mkdir myimage/partition2
sudo cp -rf --preserve=all /media/mount_point_partition1/* myimage/partition1/
sudo cp -rf --preserve=all /media/mount_point_partition2/* myimage/partition2/
-
Extrahieren Sie den MBR
sudo dd if=/dev/sdX of=myimage/mbr.img bs=446 count=1
ersetzen Sie
/dev/sdX
mit dem entsprechenden Gerät. -
Partitionieren Sie die Zielfestplatte in Partitionen, deren Größe größer ist als die kopierten Daten und die dasselbe Format und dieselben Flags haben sollten, indem Sie
gparted
verwenden . Google, wie man eine Festplatte partitioniert. -
Hängen Sie die frisch formatierte und partitionierte Festplatte ein. Auf den meisten Computern müssen Sie nur die Festplatte anschließen und Sie können die gemounteten Partitionen in
/media
finden Ordner. -
Kopieren Sie die zuvor kopierten Daten mit den folgenden Befehlen auf die Zielpartitionen
sudo cp -rf --preserve=all myimage/partition1/* /media/mount_point_partition1/
sudo cp -rf --preserve=all myimage/partition2/* /media/mount_point_partition2/
-
Kopieren Sie den MBR zurück
sudo dd if=myimage/mbr.img of=/dev/sdX bs=446 count=1
Jetzt viel Spaß mit Ihrer neuen Festplatte!
Ein ziemlich guter und einfacher Weg, damit umzugehen, ist es einfach per gzip zu leiten, etwa so:
# dd if=/dev/sdb | gzip > backup.img.gz
Auf diese Weise wird Ihr Bild komprimiert und höchstwahrscheinlich wird ungenutzter Speicherplatz auf fast nichts gequetscht.
Sie würden dies verwenden, um ein solches Image wiederherzustellen:
# cat backup.img.gz | gunzip | dd of=/dev/sdb
Eine Anmerkung:Wenn Sie viele Dateien hatten, die kürzlich gelöscht wurden, kann die Bildgröße immer noch groß sein (durch das Löschen von Dateien werden die zugrunde liegenden Sektoren nicht unbedingt auf Null gesetzt). Sie können freien Speicherplatz löschen, indem Sie große Dateien mit Nullen erstellen und sofort löschen:
# cd /media/flashdrive
# dd if=/dev/zero of=bigfile bs=1M # let it run and quit by disk full error
# rm bigfile