L'anticamera del cestino

Raccolta differenziata di esperienze di dubbia utilità

Come clonare un disco con installato GNU/Linux

with one comment

Partimage

L'interfaccia semplice ma efficace di partimage

Pubblico questa guida che ho scritto per il Linux User Group di Scandiano, pubblicata sul wiki ufficiale. Si tratta di una procedura che ho studiato per clonare le numerose macchine che stiamo preparando con il progetto e-waste di recupero dell’hardware.

Cosa tratta questa guida

Questa guida descrive una procedura per clonare un disco rigido sul quale è installato GNU/Linux. Esistono diversi modi per effettuare questa operazione anche attraverso l’utilizzo di distibuzioni live orientate alla clonazione: Clonezilla, G4L sono alcune delle più note.

La procedura descritta in questa pagine non offre la stessa immediatezze e semplicità d’uso di Clonezilla o G4L, tuttavia, poichè tutte le operazioni vengono svolte manualmente, è possibile adattare la procedura stessa ai propri usi, superando i limiti imposte dalle distribuzioni sopra citate.

Ingredienti e prerequisiti

  • Un disco rigido con installato GNU/Linux configurato e funzionante, pronto per essere clonato (in seguito sarà chiamato ”DISCO 1”)
  • Un disco rigido sul quale caricare il file immagine del DISCO 1 (in seguito sarà chiamato ”DISCO 2”) Sebbene sia possibile caricare il file immagine su una partizione dello stesso disco o su una directory di rete, in questa guida viene trattato il caso più semplice dell’utilizzo di 2 hard disk
  • Un disco rigido nel quale deve essere clonato il sistema (in seguito sarà chiamato ”DISCO 3”)
  • Una distribuzione live contenente tool per la gestione dei dischi rigidi.Per realizzare la presente guida è stata utilizzata Ubuntu Rescue Remix 8.04. Un’altra ottima distribuzione live è Finnix
  • Un PC da utilizzare per la clonazione

Durante l’installazione del sistema base (DISCO 1) è necessario prestare particolare attenzione al partizionamento del disco. Infatti partimage, il tool utilizzato in questa guida, potrà rispristinare l’immagine esclusivamente all’interno di una partizione di dimensioni uguali o superiori a quella di origine.

Preparazione

Collegare ad un PC il DISCO 1 contenente il sistema GNU/Linux funzionante e il DISCO 2 da utilizzare come ”storage” per l’immagine del DISCO 1. La configurazione delle vostre periferiche dovrà essere la seguente:

Connettore IDE primario:
* DISCO 1 (Slave)
* DISCO 2 (Master)

Connettore IDE secondario:
* LETTORE CD (Master)
* (Quello che vi pare)

Avviare il PC effettuando il boot con la live di Ubuntu Rescue-Remix.

Otteniamo i privilegi di root:

$ sudo su

A questo punto occorre formattare il DISCO 2 che sarà utilizzato per custodire l’immagine del DISCO 1. Se i dischi rigidi sono stati collegati nel modo corretto il DISCO 2 corrisponderà al device /dev/sdb. Tuttavia è opportuno essere assolutamente certi della corrispondenza del device. Un modo per verificare è controllare la tabella delle partizioni dei due dischi:

$ fdisk -l /dev/sda
$ fdisk -l /dev/sdb

Una volta che abbiamo appurato che il device è quello corretto editiamo la tabella delle partizioni:

$fdisk /dev/sdb

Premiamo ”’p”’ per avere la lista delle partizioni. Successivamente ”’d”’ seguito dal numero della partizione per eliminarla.

Creiamo la partizione di root. ”’n”’ per creare una nuova partizione. ”’p”’ per renderla primaria. ”’1”’ per assegnare il numero alla partizione. Accettiamo il cilindro di partenza e successivamente indichiamo il cilindro di fine della partizione o la sua dimensione (es. +10000M per farla di circa 10Gb). ”’a”’ per rendere la prima partizione avviabile e ”’t”’ per assegnare un filesystem. Il codice per il filesystem linux è ”’83”’.

Creiamo la partizione di swap. ”’n”’ per creare una nuova partizione. ”’p”’ per renderla primaria. ”’2”’ per assegnare il numero alla partizione. Accettiamo il cilindro di partenza e successivamente indichiamo il cilindro di fine della partizione o la sua dimensione (es. +1000M per farla di circa 1Gb). ”’t”’ seguito dal numero della partizione per assegnare un filesystem. ”’82”’ per assegnare il filesystem SWAP.

A questo punto premiamo ”’p”’ per vedere l’anteprima della tabella delle partizioni. Se quanto stampato ci soddisfa possiamo scriverla premendo ”’w”’.

Non resta a questo punto che formattare la partizione di root.

$ mkfs.ext3 /dev/sdb1

Creiamo una cartella nella quale montare la partizione /dev/sdb1 che dovrà ospitare l’immagine del DISCO 1.

$ mkdir /mnt/img

$ mount /dev/sdb1 /mnt/img

Scrittura dell’immagine

Con il tool partimage scriveremo l’immagine del DISCO 1 nel DISCO 2. Si suppone che il DISCO 1 sia costituito da una partizione / e da una partizione swap.

Lanciando il comando partimage viene proposta una semplice ma efficace interfaccia testuale attraverso la quale è possibile scegliere la partizione dalla quale creare l’immagine, il percorso del file di immagine (es. /mnt/img/immagine) e se applicare una compressione all’immagine.

La procedura durerà alcuni minuti. La sua durata varierà in funzione della quantità di dati presenti sul DISCO 1. Se la partizione /dev/sdb1 che accoglie l’immagine è abbastanza ampia, si consiglia di creare una immagine non compressa velocizzare ulteriormente l’operazione di restore.

Se l’operazione di creazione dell’immagine è andata a buon fine dovrmmo avere la situazione seguente:

DISCO 1: Sistema GNU/LInux installato e configurato
DISCO 2: Una sola partizione con caricata una immagine del DISCO 1

A questo punto possiamo spegnere il PC e collegare il DISCO 3 come master e fare nuovamente il boot con la nostra distro live.

Partizionamento del DISCO 3

Configuriamo il DISCO 3, che dovrà accogliere il restore dell’immagine, con una partizione di root in ext3 e una partizione di swap.

$ fdisk /dev/sda

* ”’p”’ per visulalizzare la tabella delle partizioni
* ”’d”’ seguito dal numero della partizione per eliminarla
* ”’n”’ per creare una nuova partizione
* ”’a”’ per renderla avviabile
* ”’t”’ per assegnare un filesystem
* ”’w”’ per salvare le modifiche

Formattiamo la partizione di root:

$ mkfs.ext3 /dev/sda1

Restore

Il restore è molto semplice e veloce. Creiamo un punto di mount per il disco che contiene l’immagine:

$ mkdir /mnt/img

Montiamo al partizione:

$ mount /dev/sdb1 /mnt/img

Avviamo partimage, selezionamo la partizione nella quale fare il restore e indichiamo il percorso del file immagine.

Installare grub

Ora dobbiamo installare manualmente grub; per farlo lanciamo i seguenti comandi:

$ grub

Per attivare la consolle di grub.

root (hd0,0)

Questo comando indica a grub la posizione del file di configurazione di grub. In questo caso la prima partizione del primo disco rigido.

setup (hd0)

Rappresenta il disco nel quale vogliamo installare l’mbr.

quit

Riattivare la swap

E’ molto probabile che all’avvio del pc venga mostrato il seguente errore:

resume libgcrypt1.2.3

Could not stat the resume device file

Per prima cosa verifichiamo che la swap sia impostata sul device corretto nel file /etc/fstab ed eventualmente correggiamo il file. Successivamente impostiamo un’area di swap e attiviamola (ovviamente il percorso del device deve essere sostituito con quello corretto… fdisk -l /dev/hda se non siete sicuri).

$ mkswap -f /dev/hda2

$ swapon /dev/hda2

Riconfiguriamo lo ”Userspace Software Suspended” …sinceramente non ho ben capito cos’è

$ dpkg-reconfigure uswsusp

Riavviamo.

Written by Max-B

1 febbraio 2009 a 14:09

Pubblicato su Linux

Tagged with ,

Una Risposta

Subscribe to comments with RSS.

  1. Grazie, mi e’ servita la parte riguardante il grub,
    per il resto io uso knoppix (partimage e qtparted ) da linea di comando sono un po’ lento……..

    germano

    5 gennaio 2011 at 12:06


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: