sabato 11 luglio 2009

Ripristinare grub Ubuntu

Grub è il boot loader di Linux, un programma che carica il kernel di un sistema operativo e lo avvia. Da questa breve definizione se ne comprende subito l'importanza davvero elevata del programma e come diventi necessario saperlo gestire.
Se nel nostro computer convivono due sistemi operativi, abbiamo cioè un dual boot, dobbiamo avere ogni volta la possibilità di scegliere quale far partire.
Possiamo trovarci ad avere due diverse distribuzioni Linux oppure Ubuntu ed un sistema operativo di casa Microsoft.
Consideriamo il primo caso. La prima cosa da tenere a mente è che automaticamente il grub andrà ad installarsi sull'ultima distribuzione che abbiamo messo. Questo significa che a "comandare" sarà il file menu.lst che si trova in /boot/grub del sistema operativo che abbiamo installato per secondo.
Poniamo di voler però fare in modo che grub venga installato nella distribuzione che avevamo installato per prima, lanciamo un cd live di Ubuntu (una versione qualsiasi) e aprire il terminale. Digitiamo:
sudo grub
root (hdX,Y)
setup (hdX)
quit
Al posto di X e Y vanno i numeri che indicano la partizione sulla quale si trova la distribuzione che dove vogliamo installare grub. Per vedere uno schema delle partizioni, da terminale digitiamo fdisk -l. Ricordiamoci anche che la numerazione delle partizioni abbina alla lettera a lo 0, alla b il numero 1, al numero 1 lo 0 e al 2 l'1 e così via. Per fare un esempio, sda5 la indicheremo con hd0,4.
Adesso riavviamo e vedremo che la schermata di boot corrisponderà al file menu.lst della distribuzione che avevamo scelto in precedenza.

La situazione più frequente è il dual boot di Windows e Ubuntu. Il gestore del boot di Windows non consente il dual boot, di conseguenza dobbiamo fare in modo di ripristinare grub di Ubuntu.
Prima di tutto dobbiamo inserire la solita live di Ubuntu e sapere in quale partizione vogliamo installare grub.
Dobbiamo creare una partizione per il ripristino e montarci dentro sdXY:
sudo mkdir /mnt/ripristino
sudo mount /dev/sdXY /mnt/ripristino
Successivamente digitiamo, per rimontare la partizione sdXY nella nuova cartella appena creata:
sudo mount -o bind /dev /mnt/ripristino/dev
Ora chrootiamoci per installare il grub:
sudo chroot /mnt/ripristino
Entriamo in grub:
grub
root (hdX,Y)
setup (hdX)
quit
Adesso grub è attivo ed installato sul nostro Ubuntu, modifichiamo però il file menu.lst affinchè sia possibile scegliere di lanciare anche Windows:
sudo gedit /boot/grub/menu.lst
aggiungiamo dopo la riga : # This is a divider, added to separate the menu items below from the Debian
# ones
questo:
title Windows XP
root (hdZ,W)
makeactive
chainloader +1
Dove, logicamente, Z e W indicano la partizione su cui abbiamo installato Windows.
Spero di essere stata d'aiuto a qualcuno! Se ci sono problemi non esitate a chiedere!
Ciao a tutti!

Nessun commento:

Posta un commento