That's my blog… Life and Linux

GRUB, We Have (had) a problem

ubuntu grub splashIeri sera, proprio prima di postare qui, ho deciso di dare una riavviata al mio notebook (cosa che succede ben poche volte alla settimana) approfittando del fatto che avevo richiuso tutto quello che prima “regnava” nel mio desktop berylliano… Tuttavia, durante quella che dovrebbe essere un operazione "standard" mi è successa una cosa che definisco tuttora come «inspiegabile»!
Inanzi tutto, dopo aver dato comando di spegnere il PC da KDE, usplash pareva immobile (= tutto taceva e non venivano eseguite le operazioni di spegnimento)… Sono quindi andato alla tty1 (con CTRL+ALT+F1) e da lì ho dato un bel sudo halt per forzare lo spegnimento…

Come la logica suggerisce ho riacceso subito il PC, ma subito dopo la schermata del bios, quello che mi ha accolto è stata una “splendida” schermata nera leggermente «abbellita» da un "_" bianco in alto a sinistra. Tutto taceva! 😮

Beh, lo so che abbiamo un vero Sistema tra le mani che possiamo controllare in ogni suo aspetto e che per questo non dobbiamo intimorirci, però lì per lì la cosa non mi è piaciuta tanto… Temevo infatti, più che altro, che fosse un problema del notebook (o del suo bios, che ha fatto traballare già altre persone); mi sono quindi messo subito a cercare in casa dei CD live (di ubuntu) per testare il boot… Vedendo però che il CD veniva lanciato regolarmente, sono giunto rapidamente alla conclusione che fosse un problema di MBR visto che l’HD non veniva nemmeno "interpellato" e che grub proprio non saltava fuori…

Definite la diagnosi, ora passiamo alla soluzione che vale per reinstallare GRUB in qualsiasi sistema GNU/Linux…

  • Prendete quindi una distribuzione linux in formato LiveCD (LiveDVD, LiveUSB, Live…) a vostra scelta ma che contenga al suo interno GRUB (Ubuntu LiveCD è perfetta ma vanno bene tante altre).
  • Una volta avviato il sistema d’emergenza (magari dopo aver montato il vostro HD per controllare che sia a posto), aprite un terminale quindi entrate nella shell di GRUB lanciando il seguente comando:

sudo grub  # In Ubuntu va usato il sudo, in altre distro dovrete accedere da root

  •  A questo punto, se conoscete la periferica/partizione di boot usata tenetevela a mente, altrimenti è possibile ritrovarla facilmente con

find /boot/grub/stage1

  • Vi dovrebbe venir fuori un valore tipo (hd0,2) che dovrete riusare nei comandi successivi; per restare "super partes" io lo chiamerò (hd#,§). Sostituitelo col vostro valore 😉
    Nel caso abbiate più partizioni in cui sono presenti differenti sistemi Linux basati su grub, potreste anche ottenere più risultati… In tal caso dovete ricordarvi la partizione giusta, magari provando a montarla…
    Fate attenzione che questo non corrisponde al nome della periferica usata su linux, infatti tornando all’esempio, (hd0,2) corrisponde a /dev/hda3; (hd1,0) a /dev/hdb1 e così via…

    Detto questo, continuate con i comandi da eseguire per completare il la reinstallazione:

root (hd#,§)            #esempio: root (hd0,2)
setup (hd#)             #esempio: setup (hd0)
quit

Fatto! Adesso la vostra MBR è tornata ad essere “dominata” dal GRUB ed al riavvio avrete di nuovo tutto come prima…

Mi sono sentito in dovere di riscrivere questo visto che la soluzione adottata tempo addietro non è più valida con i CD di dapper/edgy (e successivi?!); usare grub-install /dev/periferica invece non mi ha funzionato né in passato né ieri sera… Mi è parso quindi doveroso pubblicare una soluzione che dovrebbe essere universale e definitiva

Ciao! :bye:

PS: A quanto so, questa guida dovrebbe tornare utile a tutti quegli infedeli che installeranno Vista sui propri PC! Quindi, cari “peccatori”, ecco a voi un modo facile e veloce per redimervi da ogni colpa concedendo di nuovo a Linux la possibilità di avviarsi… 😀