Disk cloning (Italiano)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale-modified.pngThe translation of this article or section does not reflect the original text.Tango-preferences-desktop-locale-modified.png

Reason: Last updated in 2011 (165250), out of sync with English page (Discuss in Talk:Disk cloning (Italiano))

La clonazione del disco è il processo di creare un'immagine di una partizione o di un intero disco rigido. Ciò può tornare utile sia per copiare il disco su un altro computer, sia per finalità di backup\recupero dei dati.

Usando dd

Il comando dd è un semplice, versatile e potente strumento. Può essere usato per copiare dalla sorgente alla destinazione, blocco per blocco, a prescindere dal tipo di filesystem oppure dal sistema operativo. Un metodo più conveniente è quello di usare dd da un ambiente live, come un livecd.

Attenzione: Data la natura di questi comandi, è bene essere molto cauti nel loro utilizzo; questi comandi possono distruggere i vostri dati. Ricordare che l'ordine è file di input (if=) e file di output (of=) e non invertiteli! Assicurarsi sempre che il disco/partizione di destinazione (of=) sia uguale o più grande dell'origine (if=).

Clonare una partizione

Da un disco fisico /dev/sda, la partizione 1, ad un disco fisico /dev/sdb sulla partizione 1.

dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=notrunc,noerror

Se il file di output of (sdb1 nel nostro esempio) non esiste, dd lo creerà a partire dall'inizio del disco.

Clonare un intero hard disk

Da un dico fisico /dev/sda ad un disco fisico /dev/sdb:

dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror

Questo comando clonerà l'intero disco, incluso il Master Boot Record (e quindi anche il bootloader), tutte le partizioni ed i dati.

  • notrunc o do not truncate mantiene l'integrità dei dati imponendo a dd di non spezzare nessun dato.
  • noerror comunica a dd di continuare l'operazione, ignorando tutti gli errori dall'origine. Il comportamento di default di dd è quello di fermarsi ad ogni errore.
  • bs=4096 imposta la dimensione dei blocchi a 4k, la dimensione ottimale ed efficiente per la lettura/scrittura del disco, e quindi della velocità clonazione.

Backup del MBR

Il Master Boot Record è contenuto nei primi 512 byte del disco. Esso consiste in 3 parti:

  1. I primi 446 byte contengono il bootloader.
  2. I successivi 64 contengono la tavola delle partizioni (4 voci di 16 byte ciascuna, una voce per ogni partizione primaria).
  3. Gli ultimi 2 byte contengono un identificatore.

Per salvare il MBR in un file dal nome mbr.img:

  # dd if=/dev/hda of=/mnt/sda1/mbr.img bs=512 count=1

Per ripristinare (attenzione questo comando potrebbe distruggere la tavola delle partizioni, e quindi impedire l'accesso ai dati presenti sul disco):

  # dd if=/mnt/sda1/mbr.img of=/dev/hda

Se si desidera soltanto ripristinare il bootloader, ma non la tavola delle partizioni, basterà ripristinare solo i primi 446 byte del MBR:

  # dd if=/mnt/sda1/mbr.img of=/dev/hda bs=446 count=1

Per ripristinare soltanto la tavola delle partizioni, il comando sarà:

  # dd if=/mnt/sda1/mbr.img of=/dev/hda bs=1 skip=446 count=64

Sarà possibile estrarre il MBR dall'immagine completa di un disco:

  #dd if=/path/to/disk.img of=/mnt/sda1/mbr.img bs=512 count=1

Creare l'immagine di un disco

1. Effettuare il boot da un sistema live(liveCD o liveUSB).

2. Assicurarsi che nessuna partizione sia montata dal disco di origine.

3. Effettuare il mount di un disco esterno.

4. Effettuare il backup del disco:

 # dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c  > /mnt/sda1/hda.img.gz

5. Salvare alcune informazioni addizionali riguardo al disco, come la sua geometria, sarà necessario per interpretare la tavola delle partizioni salvata nell'immagine. L'informazione più importante è la dimensione dei cilindri.

 # fdisk -l /dev/hda > /mnt/sda1/hda_fdisk.info
Nota: Sarà possibile usare un valore di dimensione dei blocchi (bs=) uguale all'ammontare della cache del disco di cui si sta creando l'immagine. Ad esempio, bs=8192K funziona per una cache di 8MB. Il valore di 64K menzionato in questo articolo è migliore del valore di default, che è impostato a bs=512 byte, perché dd verrà eseguito più velocemente con un valore di bs= maggiore.

Ripristinare il sistema

Per ripristinare il sistema:

 # gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda

Usando cp

Il programma cp può essere usato per clonare un disco, ad una partizione alla volta. Il vantaggio dell'uso di cp è che il tipo di filesystem della/delle partizione/i di destinazione può non essere il solito dell'origine. Per sicurezza, effettuare il processo da un ambiente live.

La procedura di base da un ambiente live sarà:

  • Creare le nuove partizioni di destinazione (usando fdisk, cfdisk oppure altri programmi disponibili nell'ambiente live).
  • Creare un filesystem su ogni partizione precedentemente creata. Ad esempio:
mkfs -t ext3 /dev/sdb1
  • Effettuare il mount dell'origine e della/delle partizione/partizioni di destinazione. Ad esempio:
mount -t ext3 /dev/sda1 /mnt/origine
mount -t ext3 /dev/sdb1 /mnt/destinazione
  • Copiare i file dalla partizione di origine a quella di destinazione:
cp -a /mnt/origine/* /mnt/destinazione

L'opzione -a: preserva i permessi, non segue mai i link simbolici ed copia ricorsivamente

  • Cambiare i punti di mount della partizione appena copiata nel file /etc/fstab a seconda delle modifiche effettuate(es. il tipo di filesystem)
  • Infine, installare il bootloader GRUB se necessario. (Consultare GRUB)

Software per la clonazione del disco

Clonazione del disco in Arch

Il programma ncurses PartImage è nel repository community. La sua interfaccia non è eccezionalmente intuitiva, ma funziona. Non ci sono attualmente programmi di clonazione con interfaccia grafica GTK\QT per Linux. Un'altra opzione è quella di utilizzare il comando dd, una piccola utility per creare file immagine. Wikipedia ha una lista delle varie versioni di dd, specificatamente orientate a questo tipo di scopo. wikipedia:Dd_(Unix)#Recovery-oriented_variants_of_dd. dd_rescue funziona efficientemente con dischi guasti copiando prima le aree prive di errori e successivamente ritentando le aree con errori.

Clonazione del disco all'infuori di Arch

Se desiderate fare un backup o installare in serie la vostra installazione-tipo di Arch, probabilmente fareste meglio ad usare un altro pc e clonare il disco da li. Alcuni suggerimenti:

  • PartedMagic[link interrotto 2020-08-02] ha un bel live cd/usb con PartImage ed altri strumenti per il recupero dati.
  • Mindi è una distribuzione Linux specifica per fare delle clonazioni backup dei dischi. È fornita insieme al suo programma specifico, Mondo Rescue.
  • Acronis True Image è un programma commerciale per Windows. Permette di creare un live cd (da Windows), cosicché non avrete necessità di installare Windows sulla macchina che volete clonare per utilizzarlo.
  • FSArchiver permette di salvare il contenuto di un filesystem in un archivio compresso. Può essere trovato su System Rescue CD.
  • Clonezilla è un sistema che permette di creare immagini delle partizioni, esso può anche ripristinare interi dischi oppure singole partizioni.

Link esterni