Come Usare GRUB Rescue
Per utenti Windows e Mac, l'avvio è una cosa abbastanza semplice. Accendi il computer, carica Windows o OSX, e inizi a fare quello che fai. Chiaramente, ci sono cose che succedono sotto il cofano, ma di solito non hai bisogno di sapere cosa sono. Non è il caso per gli utenti Linux, che spesso installano il loro OS accanto a Windows o OSX, o possono anche avere più sistemi operativi Linux sul loro computer. Linux usa un bootloader chiamato GRUB per gestire e avviare quei sistemi operativi, e GRUB rescue per risolvere problemi quando si verificano.
Cos'è Esattamente un Bootloader?
Il tuo computer passa attraverso una serie di passaggi quando lo accendi. La prima cosa che fa è eseguire alcuni pezzi di codice incorporati in chip sul computer che controllano per assicurarsi che tutti i pezzi hardware appropriati siano presenti e in buone condizioni. Poi, controlla le unità del computer, di solito iniziando con il disco rigido principale, per cercare un piccolo pezzo di software chiamato bootloader. Il lavoro del bootloader è tenere traccia di dove il tuo sistema operativo è installato e farlo funzionare per te.
Bootloader Single Boot vs Multiboot
Sia Windows che OSX hanno bootloader, ma quelli hanno una vita semplice perché in genere caricano solo un sistema operativo. Il bootloader Linux deve tenere traccia di più sistemi operativi ed essere in grado di caricare quello che l'utente seleziona in un dato momento, quindi a volte è descritto come un multiboot bootloader. Da qui viene il nome, in effetti: è un acronimo per GRand Unified Bootloader. Dopo aver fatto la tua scelta dal menu di avvio, GRUB carica il kernel – la parte centrale dell'OS – per qualsiasi sistema operativo tu abbia scelto.
Perlopiù Funziona, ma Non Sempre
Ordinariamente, il computer inizia il suo avvio e poi fa una pausa per un momento con il menu GRUB sullo schermo. Se non fai nulla, il tuo computer avvia in qualunque OS – di solito Linux – hai scelto come predefinito. In alternativa, puoi scegliere da qualsiasi altro sistema operativo sul menu o tornare a una versione più vecchia del tuo OS principale se necessario. Occasionalmente, però, il tuo menu e OS non caricano correttamente, e vieni buttato fuori al prompt dei comandi GRUB rescue. Puoi anche scegliere questa opzione dal menu GRUB se sospetti che il tuo sistema abbia problemi e vuoi provare a risolverli.
La Riga di Comando GRUB
La riga di comando GRUB assomiglia molto all'interfaccia a riga di comando che vedresti se aprissi una finestra Terminale su Linux o, per quella materia, se eseguissi il comando command dalla casella Esegui sul menu Windows. È essenzialmente una versione ridotta dell'interfaccia a riga di comando completa di Linux. Non hai il set completo di strumenti e programmi Linux a tua disposizione, ma hai molte opzioni per risolvere alcuni dei problemi comuni che potresti incontrare con il tuo sistema.
Una Rapida Chiarificazione sulle Versioni GRUB
Se hai problemi GRUB e stai strisciando su internet in cerca di soluzioni, è importante prestare attenzione alla data dei consigli che trovi. La versione originale di GRUB non ha visto sviluppo per oltre un decennio ed è stata perlopiù sostituita da una versione più nuova. I siti più vecchi si riferiscono alle due versioni come GRUB e GRUB2, mentre i siti più nuovi ora si riferiscono a GRUB2 semplicemente come GRUB, mentre la versione originale è legacy GRUB. I consigli per legacy GRUB spesso non funzioneranno su un sistema attuale e potrebbero causare danni. Questo articolo assume che tu stia usando GRUB2 su Ubuntu 18.04 LTS, sebbene le informazioni dovrebbero applicarsi a qualsiasi versione attuale di Linux.
La Riparazione Prioritaria GRUB Rescue
Ciascuno dei dozzine di comandi disponibili in GRUB rescue è complicato e necessita una discussione di lunghezza articolo tutta sua. È un po' troppo per una lettura veloce, quindi concentriamoci sul suo uso più importante: far partire il tuo sistema e riparare quello che è andato storto in GRUB.
Come si Chiamano i Tuoi Drive
GRUB e il sistema operativo Linux stesso usano terminologia diversa per i tuoi dischi rigidi. Ubuntu e altre versioni di Linux si riferiscono al primo disco rigido nel tuo sistema come sda, il secondo come sdb e così via. In GRUB rescue, GRUB si riferisce al primo disco rigido fisico come hd0, il secondo come hd1 e così via. Questo diventa importante tra un momento.
Avvio Manuale GRUB
Segui questi passaggi per riavviare il tuo computer con GRUB rescue se il bootloader si rompe, e Ubuntu – o il tuo altro OS preferito – non carica. Ci sono molte altre cose che puoi riparare, una volta che il tuo computer funziona, ma devi far funzionare il tuo computer prima prima di poterle fare.
- Digita il comando ls per scoprire quali partizioni contiene il tuo disco rigido. Mostrerà il tuo disco rigido effettivo per primo, come (hd0) o simile, seguito da una serie di numeri correlati – (hd0, gpt1), (hd0, gpt2) e così via – che rappresentano le partizioni sul tuo disco rigido. Se hai più sistemi operativi, ce ne possono essere molti.
- Identifica il sistema da cui Ubuntu avvia digitando ls di nuovo ma specificando una partizione. Non hai bisogno di includere il prefisso per la partizione, solo il numero, quindi un comando tipico potrebbe sembrare ls (hd0, 3) se avevi controllato le prime due partizioni e stavi ora guardando la terza. Continua finché non ne trovi una che contiene le rivelatrici directory Linux, come bin/, boot/, dev/, ecc/ e usr/. Quella è quella da cui devi avviare.
- Ora che sai dove sono i file di avvio, devi mettere GRUB al corrente. Se la partizione corretta era (hd0, 3), come nell'esempio sopra, digiteresti set root=(hd0, 3) al prompt dei comandi GRUB e poi cliccheresti Invio.
- I file di cui hai bisogno per avviare il computer sono nella directory boot/ di quella partizione, quindi inizia a digitare linux /boot/vmlinuz al prompt dei comandi. Auto-completerà la versione corretta del file vmlinuz per te con un lungo numero che identifica la versione del kernel Linux. Premi il tasto Tab per accettarlo. Prima di premere Invio, aggiungi di nuovo il comando root, ma questa volta invece di dire root=(hd0, 3) – che è la terminologia di GRUB per la terza partizione del primo disco rigido – digiti root=/dev/sda3, che, ricorderai, è come Linux stesso identifica la stessa partizione.
- Digita initrd al prompt dei comandi GRUB e di nuovo clicca il tasto Tab per accettare il suo suggerimento – dovrebbe corrispondere al numero del kernel dal comando precedente – e poi Invio.
- Digita boot al prompt per avviare il tuo sistema.
Se il Tuo Prompt Dice Grub Rescue>
Ordinariamente, il tuo prompt della riga di comando a questo stadio dovrebbe leggere grub>, ma se il tuo sistema è davvero incasinato, potrebbe dire grub rescue> invece. Questo significa che stai usando una versione bare-bones della shell GRUB rescue, e non potrai usare il tasto Tab per completare i tuoi comandi. Invece, dovrai trovare quei numeri di versione lunghi manualmente e scriverli. Assumendo che siano sulla stessa partizione, lo fai così:
- Digita ls (hd0, 3) /boot e guarda le informazioni sullo schermo. I due file che cerchi sono quello che inizia con vmlinuz e quello che inizia con initrd. Scrivili o fai una foto dello schermo con la fotocamera del telefono così puoi riferirti ad esso attentamente, cifra per cifra.
- Ora digita set root=(hd0, 3) e premi Invio. A questo punto, devi caricare manualmente due moduli che sarebbero stati caricati per te se avessi ottenuto il prompt grub>. Questi usano il comando insmod, abbreviazione di "install module."
- Digita insmod normal e premi Invio. Ora digita normal per eseguire il modulo che hai appena installato. Infine, digita insmod linux e premi Invio, così puoi passare a specificare i file di avvio.
- Digita quel stesso comando linux, ma questa volta lo compilerai manualmente dall'inizio alla fine. Per un sistema Ubuntu 18.04 sulla stessa partizione che abbiamo usato come esempio in tutto, potrebbe leggere linux /boot/vmlinuz-4.15.0-44-generic e seguirlo di nuovo con root=/dev/sda3 prima di premere Invio.
- Fai lo stesso con il comando initrd, usando anche l'intero numero che hai scritto. Nell'esempio, sembrerebbe initrd.img-4.15.0-44-generic.
- Digita boot e premi Invio per avviare il tuo sistema.
Reinstallare GRUB Dopo che Hai Avviato
Il tuo computer dovrebbe avviarsi normalmente a questo punto, e dovresti essere in grado di accedere come faresti di solito. Questo non è un processo che vuoi usare ogni giorno, però, quindi la priorità uno è riparare GRUB correttamente. Clicca l'icona Applicazioni in basso nella tua Dash e digita Terminale nella barra di ricerca. Una volta che la finestra del Terminale è aperta, digita update-grub e premi Invio. Diverse cose succederanno e poi riceverai un messaggio che dice fatto e tornerai alla riga di comando GRUB. Digita grub-install /dev/sda, assumendo che la tua partizione fosse sul primo disco fisico. GRUB è ora reinstallato, e il tuo computer dovrebbe avviarsi normalmente quando riavvii.
Se Sei Intimorito a Questo Punto
La comunità Linux, in generale, ha sempre avuto un sano atteggiamento DIY, ma se sei nuovo nel mondo Linux o vuoi solo far ripartire il tuo computer e funzionare con un minimo di fastidio, potresti trovare queste riparazioni manuali ingombranti. Ci sono strumenti automatizzati che puoi usare invece, che non hanno bisogno che tu sporchi le mani giocando con i reali funzionamenti di GRUB e Linux. Boot-repair è un esempio.
Usare Boot-Repair Invece
Per usare boot-repair, hai bisogno del DVD o drive USB che hai usato per installare Ubuntu. Se non ce l'hai, prendi in prestito un computer funzionante abbastanza a lungo per scaricare e masterizzare una nuova copia. Quando ce l'hai, metti l'OS nel drive disco o porta USB, come necessario, e riavvia il computer. Potresti dover entrare nella schermata del menu di avvio premendo Esc o F2 mentre il computer avvia e dirgli di controllare il drive DVD o USB prima di provare ad avviare dal disco rigido. Una volta fatto, scegli Prova Ubuntu dal menu di avvio del disco.
Scaricare e Installare Boot-Repair
Il disco o USB ti porterà a un desktop Ubuntu lento ma completamente funzionale, dove puoi fare tutte le cose che fai normalmente con il tuo computer. Il programma boot-repair è mantenuto come un archivio di pacchetti personale (PPA), quindi la prima cosa che devi fare è aggiungere l'appropriato PPA come sorgente software per il tuo computer.
- Apri una finestra terminale e digita sudo add-apt-repository ppa:yannubuntu/boot-repair.
- Poi digita sudo apt update.
- Infine, digita sudo apt install boot-repair per installare il programma.
Eseguire Boot-Repair
Per eseguire l'effettiva utility boot-repair, digita boot-repair nella stessa finestra terminale. Boot-repair scannerizzerà il tuo sistema per problemi GRUB- e avvio-correlati e poi farà apparire una finestra di dialogo. Dalla casella, puoi scegliere di armeggiare con impostazioni manuali o selezionare Riparazione consigliata per far riparare a boot-repair i problemi più comuni per te automaticamente. Quando è fatto, di solito ti dirà che le riparazioni sono state completate e ti darà un link su cui puoi cliccare per leggere un file log che spiega tutto ciò che è stato fatto. Per finire, riavvia il computer, rimuovi il disco di avvio quando richiesto, e poi aspetta mentre avvia normalmente.