La tecnica più utilizzata in ambiente domestico è quella di effettuare la clonazione del disco attraverso vari software alcuni commerciali e altri open source.
Un software commerciale e utilizzato è Acronis True Image che permette di effettuare la clonazione da un hard disk ad un altro in poco tempo. Questo software e altri della stesa tipologia hanno il pregio della rapidità, però quando cambia la dimensione del disco nuovo, se utilizziamo il boot loader grub di Linux all’installazione del nuovo disco, avremo un sistema che non si avvia.
Questo perché sono cambiate le dimensioni delle partizioni, e quindi il boot loader grub non riesce a determinare la posizione del superblocco del filesystem Ext3, Ext4 di Linux.
Per ovviare a questo problema è possibile utilizzare una tecnica rudimentale ma efficace.
Avvio il computer con disco cd-rom di ubuntu, debian, fedora in modalità live ovvero senza modificare alcuna installazione.
Supponendo di avere la seguente situazione di partizioni (giusto come esempio)
Disco sda (primo disco sata)
Partizione sda1 Windows 7/8 Recovery partition ( ad esempio presnee nei portatili)
Partizione sda5 Partizione di Linux di root quella indicata con /
Partizione sda6 Partizione ntfs di Windows il nosrto disco C: per intenderci
Partizione sda7 Partizione ntfs aggiuntiva di Windows il nostro disco D:
Partizione sda2 Linux Swap
L’elenco delle partizioni posso comunque ricavarlo dando nel terminale di Linux il comando:
fdisk -l
devo analizzare la partizione sda5 di Linux. In questo caso la cartella di boot di Linux è nella partizione sda5, ma potrebbe succedere di avere una partizione di boot separata (ad esempio nella maggioranza delle installazioni server).
Ora dopo aver avviato Linux da cd, apro il terminale e da linea di comando lancio i seguenti comandi:
sudo mkdir /tmp/disco
Sto creando il punto di montaggio della root di Linux sul disco fisso
sudo mount /dev/sda5 /tmp/disco
Sto montando la partizione di root sulla cartella /tmp/disco
sudo mount -t bind /dev /tmp/disco/dev
sudo mount -t bind /proc /tmp/disco/proc
sudo mount -t bind /sys /tmp/disco/sys
Questi comandi non fanno altro che montare l’elenco dei device, della cartella virtuale dei device /proc e /sys non sulla cartella root della live cd, ma sulla cartella root del disco quella che è presente in sda5.
Poi sudo chroot /tmp/disco
con questo comando traslo la cartella / sul mio punto di montaggio /tmp/disco, ovvero la cartella di root deve essere automaticamente mappata come punto di ingresso su /tmp/disco.
A questo punto lancio
sudo grub-install /dev/sda
sudo update-grub2
sudo grub-install-recheck /dev/sda
Procediamo con i comandi in sequenza
cd –
sudo umount /tmp/disco/dev
sudo umount /tmp/disco/proc
sudo umount /tmp/disco/sys
sudo umount /tmp
sudo reboot
Se tutto è andato a buon fine al riavvio dovrebbe presentarsi di nuovo il boot loader.
E’ utilie notare che questo può essere fatto ogni qualvolta per un motivo o per un altro vi è un problema dell’avvio del boot loader a patto che non sia LILO (il vecchio linux loader ormai in disuso).
In alternativa è possibile utilizzare un software opersource per la clonazione che è systemrescuecd o clonezilla (quest’ultimo svolge clonazioni anche in rete).
Riferimenti bibliografici: