GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un'immagine .IMG di un disco (scheda SD) senza includere spazio libero?

La cosa migliore da fare è

  1. Copia tutti i file da tutte le partizioni preservando i metadati

    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. Estrai l'MBR

    sudo dd if=/dev/sdX of=myimage/mbr.img bs=446 count=1

    sostituire /dev/sdX con il dispositivo corrispondente.

  3. Suddividi il disco di destinazione in partizioni con dimensioni maggiori dei dati copiati e dovrebbero avere lo stesso formato e gli stessi flag usando gparted . Google come partizionare un disco.

  4. Monta il disco appena formattato e partizionato. Sulla maggior parte dei computer, devi solo collegare il disco e puoi trovare le partizioni montate in /media cartella.

  5. Copia i dati precedentemente copiati nelle partizioni di destinazione usando i seguenti comandi

    sudo cp -rf --preserve=all myimage/partition1/* /media/mount_point_partition1/

    sudo cp -rf --preserve=all myimage/partition2/* /media/mount_point_partition2/

  6. Copia di nuovo l'MBR

    sudo dd if=myimage/mbr.img of=/dev/sdX bs=446 count=1

Adesso goditi il ​​tuo nuovo disco!


Un modo abbastanza buono e semplice per affrontare questo è semplicemente reindirizzarlo tramite gzip, qualcosa del genere:

# dd if=/dev/sdb | gzip > backup.img.gz

In questo modo la tua immagine verrà compressa e molto probabilmente lo spazio inutilizzato verrà ridotto quasi a zero.

Lo useresti per ripristinare tale immagine:

# cat backup.img.gz | gunzip | dd of=/dev/sdb

Una nota:se hai molti file che sono stati eliminati di recente, la dimensione dell'immagine potrebbe essere ancora grande (l'eliminazione del file non azzera necessariamente i settori sottostanti). Puoi cancellare lo spazio libero creando ed eliminando immediatamente file di grandi dimensioni contenenti zeri:

# cd /media/flashdrive
# dd if=/dev/zero of=bigfile bs=1M     # let it run and quit by disk full error
# rm bigfile

Linux
  1. Quanto spazio libero su disco dovrei avere sul mio server?

  2. Come monitorare lo spazio libero su disco su Amazon EC2 con Cloud Watch

  3. Come liberare spazio su disco sui server cPanel

  4. Come cancellare lo spazio libero su disco in Linux?

  5. Come posso verificare quanto spazio libero è rimasto su un dispositivo per creare una partizione

Come controllare lo spazio su disco in Linux

Come liberare spazio su disco in Ubuntu 20.04 LTS

Come controllare lo spazio libero su disco su Linux [Metodi terminale e GUI]

Come aprire l'immagine ISO senza masterizzare su disco in Linux

Come controllare lo spazio libero su disco su Linux

Pulizia disco:come liberare spazio con cPanel