Come duplicare una usb memory con Linux

  • Categoria dell'articolo:Linux

Se un supporto usb memory contiene solo file di documenti, il modo più semplice è quello di copiarli dal primo al secondo dispositivo.

Tuttavia se la usb memory è bootable o comunque contiene codice nel settore di avvio MBR, la soluzione precedente sarà insufficiente.

Duplicare con Linux

  1. identifica la posizione di montaggio della usb memory.
    • collega la usb memory al pc
    • da terminale lancia il comando:
      • lsblk
    • il risultato sarà qualcosa di simile a questo:
      • user:~$ lsblk
        NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
        sda 8:0 0 450G 0 disk
        ├─sda1 8:1 0 100M 0 part
        ├─sda2 8:2 0 50G 0 part
        ├─sda3 8:3 0 300G 0 part /media/Doc
        sdb 8:16 0 931,5G 0 disk
        └─sdb1 8:17 0 931,5G 0 part
        sdc 8:32 1 28,7G 0 disk
        └─sdc1 8:33 1 28,7G 0 part /media/user/ZiS32GBboot
        sr0 11:0 1 1024M 0 rom
    • il nome della usb memory e le sue dimensioni ti aiuteranno a identificarla; in questo caso il dispositivo è stato montato in sdc.
  2. crea una immagine della usb memory.
    • da terminale lancia il comando:
      • sudo ddrescue -d if=/dev/sdx of=/percorso/nome_immagine.img img.logfile bs=4M status=progress
        sdx = il punto di montaggio del supporto usb.
        /percorso/ = il percorso dove vuoi salvare l’immagine; verifica che ci sia spazio a sufficienza.
        nome_immagine = il nome che vuoi dare all’immagine.
        -d = obbliga ad usare accesso diretto al disco e ignorare la cache del kernel.
        img.logfile = il nome del file di log; avere un file di log consente di far ripartire la copia in caso di interruzione, o riprovare a recuperare settori danneggiati.
        di seguito il comando come da esempio:
      • sudo ddrescue -d if=/dev/sdc of=/media/Doc/Desktop/usbmem.img img.logfile bs=4M status=progress
    • attendi fino alla fine della creazione dell’immagine.
      • 30744248320 bytes (31 GB, 29 GiB) copied, 1037 s, 29,6 MB/s
        7331+1 records in
        7331+1 records out
        30752000000 bytes (31 GB, 29 GiB) copied, 1037,27 s, 29,6 MB/s
  3. smonta la usb memory originale e scollegala dal pc.
  4. verifica la presenta del file immagine appena creato.
  5. installa ddrescue, home page quì: https://www.gnu.org/software/ddrescue/
    • da terminale lancia il comando:
      • sudo apt install gddrescue
  6. monta la nuova usb memory; è sempre preferibile formattare prima la usb memory per ripulirla dai dati.
  7. come per il punto 1. identifica la posizione di montaggio della usb memory.
    • da terminale lancia il comando:
      • lsblk
    • il risultato sarà qualcosa di simile a questo:
      • user:~$ lsblk
        sdb 8:16 0 931,5G 0 disk
        └─sdb1 8:17 0 931,5G 0 part
        sdc 8:32 1 58,6G 0 disk
        └─sdc1 8:33 1 58,6G 0 part /media/user-zis/ZIS64GBBOOT
        sr0 11:0 1 1024M 0 rom
    • il nome della usb memory e le sue dimensioni ti aiuteranno a identificarla; in questo caso il dispositivo è stato montato nuovamente in sdc.
  8. copia l’immagine sulla nuova usb memory; attenzione! se sbagli il punto di mount sovrascriverai un’altra partizione con la conseguente perdita dei dati.
    • da terminale lancia il comando:
      • sudo ddrescue -f /percorso/nome_immagine.img /dev/sdx restore.logfile
        /percorso/ = il percorso dove hai salvato l’immagine.
        nome_immagine = il nome che hai dato all’immagine.
        sdx = il punto di montaggio del supporto usb.
        -f = indica che la destinazione è un block device piuttosto che un file.
        restore.logfile = il nome del file di log.
        di seguito il comando come da esempio:
      • sudo ddrescue -f /media/Doc/Desktop/usbmem.img /dev/sdc restore.logfile
    • attendi fino alla fine della creazione dell’immagine.
      • GNU ddrescue 1.23
        Press Ctrl-C to interrupt
        ipos: 30751 MB, non-trimmed: 0 B, current rate: 10700 kB/s
        opos: 30751 MB, non-scraped: 0 B, average rate: 16878 kB/s
        non-tried: 0 B, bad-sector: 0 B, error rate: 0 B/s
        rescued: 30752 MB, bad areas: 0, run time: 30m 21s
        pct rescued: 100.00%, read errors: 0, remaining time: n/a
        time since last successful read: n/a
        Finished

 

Sarebbe possibile copiare direttamente un device su un’altro, ma devi fare bene attenzione ad individuare i punti di montaggio che potresti sovrascrivere inavvertitamente con conseguente perdita dei dati.

    • da terminale lancia il comando:
      • ddrescue -d -f -r3 /dev/sdx /dev/sdy /media/Doc/Desktop/usbmem.img/restore.logfile
        sdx = il punto di montaggio del supporto usb memory di partenza.
        sdy = il punto di montaggio del supporto usb memory di arrivo.
        restore.logfile = il nome del file di log che deve essere in una terza posizione di mount.
        -d = obbliga ad usare accesso diretto al disco e ignorare la cache del kernel.
        -f = indica che la destinazione è un block device piuttosto che un file.
        di seguito il comando come da esempio:
      • ddrescue -d -f /dev/sdc /dev/sdd /media/Doc/Desktop/usbmem.img/restore.logfile

 

Immagini collegate: