GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie erstelle ich ein .IMG-Image einer Disc (SD-Karte), ohne freien Speicherplatz einzubeziehen?

Das Beste, was Sie tun können, ist

  1. 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/

  2. 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.

  3. 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.

  4. 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.

  5. 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/

  6. 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

Linux
  1. Verwenden Sie df, um den freien Speicherplatz unter Linux zu überprüfen

  2. Gewusst wie:Freier Speicherplatz durch Reduzierung reservierter Blöcke

  3. Wie erhalte ich programmgesteuert den freien Speicherplatz für ein Verzeichnis in Linux

  4. Wie erstelle ich ein VHD-Festplatten-Image von einem Linux-Live-System?

  5. Wie überprüfe ich, wie viel freier Speicherplatz auf einem Gerät verbleibt, um eine Partition zu erstellen?

So überprüfen Sie den Speicherplatz unter Linux

So geben Sie Speicherplatz in Ubuntu 20.04 LTS frei

So überprüfen Sie den freien Speicherplatz unter Linux [Terminal- und GUI-Methoden]

So öffnen Sie ein ISO-Image, ohne es unter Linux auf Disc zu brennen

So überprüfen Sie den freien Speicherplatz unter Linux

Datenträgerbereinigung:So geben Sie Speicherplatz mit cPanel frei