Nei computer con più sistemi operativi, per poter scegliere quale avviare, è necessario installare un Boot Loader.
Linux ha due bootloader Lilo e Grub.
Grub è la scelta preferita dalle maggiori distribuzioni.
Normalemte quando si avvia un computer, il bios cerca nel MBR (Master Boot Record) del primo disco una partizione attiva ,dove generalmente risiede il sistema operativo, e lo avvia.
Grub è diviso un due parti Stage1 e Stage2.
Lo Stage1 si installa sul MBR, ma in realtà è solo un puntatore alla partizione dove risiede lo Stage2.
BIOS ---> MBR ------>GRUB (stage1) -----> GRUB (stage2)
Quando si installa Windows dopo l'installazione di Linux, il sistema sostituisce l'MBR sovrascrivendo lo Stage1 di Grub.
Non esiste più il puntatore allo Stage2 di Grub e quindi non esiste un menu che ci permette di scegliere il sistema operativo da avviare.
Per ripristinare Grub basta riscrivere il puntatore (stage1) nel MBR utilizzando una distribuzione Live.
Io personalmente utilizzo Sidux ma qualsiasi altra distribuzione live va bene.
Dobbiamo capire in quale partizione è installato Grub ( /boot/grub)
Avviate la distribuzione live, aprite una shell e diventate superuser con il comando
su
Ricordatevi che linux è case sensitive quindi attenzione ai comandi tutti in minuscolo.
Grub identifica gli HD e le rispettive partizioni, a mio modo di vedere, poco intuitivo.
hd(x,y) ---> disco X partizione Y
Ricordate che i riferimenti partono da 0.
hd(0,0) -----> Disco 1 partizione 1.
hd(1,4) -----> Disco 2 partizione 5.
Il trucco è scalare di uno.
Spiegato a grandi linee come identifica gli HD Grub (cercate Howto Grub su internet oppure man grub da shell) vediamo come ripristinarlo.
Da superutente digitate il comando
grub
Siete nella shell di Grub.
Per trovare la partizione dove è installato Grub. (/boot/grub)
find /boot/grub/stage1
Nella foto potete notare che grub ha trovato (hd0,7) che corrisponde al primo HD partizione 8 (nel mio caso /dev/sda8).
Diciamo a Grub dove è installato.
root (hd0,7)
Installiamo nell MBR.
setup (hd0)
Usciamo e riavviamo con i comandi:
quit
shutdown -r now