Utilizzare Linux per creare una copia di backup integrale del disco rigido

23 09 2008

Uno dei problemi che più di frequente si presenta a chi possiede un computer è l’operazione di formattazione che talvolta si rende necessaria per rimuovere virus, malfunzionamenti software. Questa opereazione molto difficoltosa per gli utenti base oggi con l’innumerevole quantità di software e di configurazione caricate sul proprio computer diventa lunga e tediosa da svolgersi periodicamnete. Senza pensare che di tanto in tanto andrebbere fatte delle copie di backup dei dati.

La formattazione

Il metodo che andiamo ad esporre si compone di una prima parte che riguarda la formattazione che spesso deve essere fatta da qualcuno che ha competenze e capacità.
In questa fase si partiziona il disco, lo si formatta e si installano i sistemi operativi, si caricano gli eventuali driver e i programmi necessari all’uso.
Supponiamo che questa operazione sia stata fartta come fare per effettuare una copia del sistema per un eventuale recupero in sistuazioni di emergenza.
Si suppone di aver sul proprio computer due sistemi operativi Windows e Linux e 4 partizioni:

Partizione 1 Windows con 60 gigabyte
Partizione 2 Linux con 30 gigabyte
Partizione 3 swap per Linux di 2 gigabyte
Partizione 4 fat32 di 28 gigabyte con i dati utente.

Creare la copia integrale del disco su usb
Si vuole peratnto effettuare una copia del disco su un disco usb o su un altro pc in rete.
In entrambi i casi si può utilizzare un cd live autopartente chiamato system rescue cd scaricabile da http://www.sysresccd.org/Main_Page. Ora dobbiamo annotare la dimensione delle partizioni su un foglio o in file di testo e come sono organizzate. Per fare questo procediamo come segue:

  • Avviamo il pc da cd con la live di system rescue cd con il disco usb collegato se si  vuole effettuare un backup su di esso;
  • Segliere la tastiera italiana dopo l’avvio opzione 21;
  • Al login lanciamo startx e andiamo in ambiente grafico;
  • Apriamo dal menù con il tasto sinistro del mouse Gparted e vediamo la configurazione delle nostre partizioni nel nostro caso avremo sda1, sda2, sda3, sda4;
  • Verifichiamo come si chiama l’altro disco usb ad esempio sdc;
  • Bene ora usciamo da Gparted e nel terminale creiamo una directory in /tmp/backup con mkdir /tmp/backup
  • Supponiamo che il disco usb sia formattato in ntfs allora diamo il comando
    ntfs-3g /dev/sdc1 /tmp/backup se si tratta della prima partizione ntfs, se il disco usb ha la partizione n.2 in formato fat32 allora diamo mount /dev/sdc2 /tmp/backup;
  • Sempre da terminale apriamo partimage si apre una finestra simile a questa (qui il disco ha configurazione diverso)
  • Andiamo a selezionare la partizione da salvare poi andiamo sul nome file e scegliamo il nome del file inserendo anche il percorso di salvataggio in questo caso /tmp/backup;
  • Scegliamo Save Partition per attivare il backup
  • Premiamo F5 e andiamo a scegliere nella schermata successiva gzip come compressione,  e di splittare il files in dimensione ad esempio di 2 gigabyte. Teniamo presente che se salviamo su partizione fat32 o fat16 conviene mettersi in una dimensione minore di 2 ggabyte.
  • Premiamo F5 e viene chiesto una descrizione della partizione;
  • Al passo successivo andiamo ad eseguire il backup;
  • Ripertiamo l’operazione per tutte le partizioni;

Creare una copia di backup sulla rete

Se abbiamo un altro computer in rete disponibile possiamo utilizzarlo per salvare i dati delle partizioni. Conviene creare una condivisione anonima a lettura/scrittura che chiameremo bacup. Supponiamo che il computer si chiami pc. Mediante il programma samba possiamo mappare la condivisione in un punto di mount sul nostro computer. Allo scopo supponiamo che la rete abbia una classe di indirizzi IP 192.168.1.x e maschera 255.255.255.0 (se non abbiamo nella rete un server dhcp come un router che assegna gli indirizzi) . Diamo in sequenza i comandi per attivare la rete e creare la mappatura alla condivione in rete:

  1. ifconfig eth0 192.168.1.200 netmask 255.255.255.0 up (assicuriamoci che tale IP sia libero);
  2. mkdir /tmp/backup (creo la cartella);
  3. mount -t smbfs ‘\\pc\backup’ /tmp/backup

Se tutto è andato a buon fine eseguiamo partimage come descritto sopra.
Se invece è presente un server dhcp la sequenza dei comandi è:

  1. ifconfig eth0 up;
  2. dhclient;
  3. mkdir /tmp/backup (creo la cartella);
  4. mount -t smbfs ‘\\pc\backup’ /tmp/backup

Ripristino della copia di backup da disco usb

Vediamo ora come ripristinare una copia di backup da disco usb. Avviamo da cd con systemrescue cd poi scegliamo il layout della tastiera italiana.
In seguito da console innanzitutto creiamo una cartella in /tmp che sarà la cartella che conterrà il contenuto del disco usb montato; quindi:

mkidr /tmp/disco

poi monto il disco usb supponendo che sia il primo con la prima partizione ntfs dando:

ntfs-3g /dev/sda1/tmp/disco

se invece la partizione è in formato fat32 do il comando

mount -t vfat /dev/sda1 /tmp/disco

Una domanda potrebbe sorgere spontanea come fare per capire il nomi dei dischi e le sue partizioni posso lancriare cfidsik che mi visualizza l’elenco dei dischi installati o accessibili al sistema e le relative partizioni. Scelgo quit dopo aver annotato i nomi ed esco.
Ora avvio l’interfaccia grafica scrivendo

startx

e dal menù avvio Gparted per partizionare il disco. Il programma è molto intuitivo.
Innanzitutto dal menù Partition scelgo delete e cancello le partizioni del disco che ospiterà il ripristino. Poi creo delle partizioni di dimensione maggiore o uguale a quelle di cui ho effettuato il backup e dello stesso tipo.  Applico e esco dal programma che impiegherà qualche minuto per effettuare il partizionamento.
A questo punto lancio partimage e ripristino da /mnt/disco/nome_file_backup, scelgo il bottone restore e poi premendo F5 alcune volte avvio il ripristino.

Ripristino da un una cartella in rete

Come nel caso dell’operazione di backup devo montare la cartella condivisa in rete con i comandi:

  1. ifconfig eth0 192.168.1.200 netmask 255.255.255.0 up (assicuriamoci che tale IP sia libero);
  2. mkdir /tmp/backup (creo la cartella);
  3. mount -t smbfs ‘\\pc\backup’ /tmp/backup

se non ho dhcp attivo (sono senza router o server dhcp); se invece posso effettuare l’aasegnazione dinamica uso la sequenza di comandi:

  1. ifconfig eth0 up;
  2. dhclient;
  3. mkdir /tmp/backup (creo la cartella);
  4. mount -t smbfs ‘\\pc\backup’ /tmp/backup

Una volta montata la cartella in rete procedo come descritto nel paragrafo precedente.

Ripristino del boot loader grub

Il vero problema nell’utilizzare questo metodo è che alla fine dell’operazione devo ripristinare il boot loader sul sistema.
Mettiamoci nel caso in cui il boot loader sia grub ormai è quello più diffuso.
Allora devo montare la partizione linux contenente il sistema con i comandi:

mkdir /tmp/pc
mount -t ext3 /dev/hda2 /tmp/pc suppongo che linux sia sulla seconda partizione del disco;
cd /tmp/pc/boot

poi digito i comandi

mount -o bind /dev /tmp/hda2/dev in questo modo dico a linux che la cartella device da ricostruire è quella nella partizione ripristinata. Se posso lancio

chroot /tmp/pc/dev in alcuni sistemi non è disponibile server per cambiare la cartella root del sistema (quella indicata con /)

In seguito lancio grub si apre il prompt dei comandi e digito
root (hd0,1)
setup (hd0)
quit

A questo punto riavvio la macchina e dovrebbe visualizzarsi il boot loader che chiede quale sistema avviare.


Azioni

Information

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

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: