Grub Rescue prompt: cosa fare quando il sistema non si avvia più.

A volte può capitare che in seguito a particolari modifiche delle partizioni del nostro sistema, linux non sia più in grado di avviarsi da solo. Se il boot loader installato è grub, allora ci si troverà facilmente di fronte alla necessità di usare il prompt dei comandi di grub in modalità di emergenza. Uno dei messaggi di errore che si ricevono tipicamente prima di essere "sbattuti" nella elementare shell di grub è il "no such partition", che testimonia il fatto che Grub non sia riuscito a trovare una determinata partizione che prima si aspettava ti trovare.

Questo prompt non è una shell linux, quindi non sarà possibile eseguire i comandi più comuni che siamo abituati ad usare in ambiente linux; tuttavia è possibile lanciare alcuni comandi per tentare di avviare nuovamente la partizione linux, per poter reinstallare GRUB direttamente da lì.

In altre parole, questo sistema di ripristino è utile e significativo solo se ci troviamo nella situazione in cui al boot ci si presenta la dicitura “grub rescue” e non si ha a disposizione una penna usb o un DVD con una versione live di linux (in tal caso basta avvalersi dei comandi grub-install dalla live per risolvere il problema).

 

  1. Primo passo: identificare il numero di disco e di partizione che contiene l'installazione di linux da ripristinare. Se si conoscono già queste informazioni, si può procedere al passo 2.

    Iniziamo con il lanciare il comando ls, il quale ci mostrerà i dischi e le partizioni identificate da GRUB. Iniziamo a provare questo comando:

    ls (hdX,Y)/

    Si faccia attenzione a scrivere il comando in minuscolo inserendo in questo caso lo slash finale. Al posto di X inseriamo il numero di disco che vogliamo provare, mentre al posto di Y inseriamo il numero di partizione. Variamo questi parametri tra quelli che abbiamo visto comparire in seguito al primo comando, fino a che non compare una lista di cartelle corrispondente a quelli presenti nella ROOT del sistema linux da ripristinare. Annotiamo perciò il valore di X e Y, che useremo nei comandi successivi

  2. Ora iniziamo ad inserire mano a mano i seguenti comandi, facendo attenzione a distinguere lettere maiuscole da minuscole:

    set prefix=(hdX,Y)/boot/grub

    set root=(hdX,Y)

    insmod (hdX,Y)/boot/grub/linux.mod

    linux /vmlinuz root=/dev/sdaY ro

    Al posto di sdaY si inserisca l'identificativo della partizione linux da ripristinare. Nel nostro caso assumiamo sia la stessa che contiene la cartella boot di grub, quindi il numero di partizione darà Y e l'identificativo del disco dipende dal sistema stesso (assumiamo sia un disco SATA)

    initrd /initrd.img

    boot

    Se tutto è andato a buon fine, vedremo caricare il sistema operativo! Una volta avviato, entriamo con il nostro account e avviamo un terminale.

  3. A questo punto possiamo agire manualmente sul file di bootload, oppure possiamo usare l'utility grub-install per ripristinare il bootloader. Per i meno esperti consigliamo di disinstallare il bootloader e re-installarlo con i seguenti comandi

    apt-get --purge-remove grub2

    apt-get install grub2

 

Non ci resta che riavviare il sistema e goderci di nuovo la buona e cara schermata di loading di GRUB che ci presenta i sistemi operativi installati.

Di seguito riportiamo il link alla videoguida relativa a tale procedura, che consigliamo di leggere per coloro che hanno maggiori dubbi e difficoltà in ambienti linux.

{youtube}i2O4aeHwOhY|600|450|0{/youtube}