Il GNU GRand Unified Bootloader entra automaticamente la shell di ripristino quando non riesce a trovare il dispositivo di root o il percorso per il file di configurazione. Questo problema si verifica solitamente quando si modifica lo schema di partizione senza aggiornare GRUB o scrivere sopra alcuni dei byte nel record di avvio principale. Utilizzare la shell di GRUB rescue per impostare manualmente il dispositivo di root e il percorso del file di configurazione, e quando GRUB entra in questa modalità fallback, è necessario reinstallare il bootloader.
Shell di GRUB Rescue
GRUB Rescue offre un set limitato di comandi per aiutarti a configurare una normale sequenza di avvio temporanea e ripristinare GRUB dal sistema operativo. Solo perché GRUB non viene caricato correttamente non significa che il tuo sistema operativo è avviabile; il filesystem di Linux è solitamente ancora intatto e in buone condizioni. Tuttavia, Linux può essere non avviabile se è stata eseguita un'operazione non sicura come lo spostamento di una partizione avviabile. Dalla shell di salvataggio, elencare le unità collegate inserendo "ls" (senza virgolette, qui e in tutto) al prompt. Un numero di unità corrisponde alla lettera nel relativo blocco ID. Ad esempio, l'acronimo/dev/sda1, (HD0,1) (HD1,2) è l'acronimo/dev/sdb2, (HD2, 5) sta per/dev/sdc5 e così via.
Impostazione del percorso di configurazione
Utilizzare il comando "set" per temporaneamente punto GRUB al tuo file di configurazione e dispositivo di radice. Dopo aver trovato l'ID del dispositivo, immettere i seguenti comandi per impostare le variabili di percorso radice e configurazione:
set root = (HD0,2)
impostare il prefisso =(HD0, 2)/boot/grub
Utilizzare l'ID di dispositivo appropriato al posto di "(HD0,2)" nell'esempio. I punti variabile "prefisso" GRUB nel file grub. cfg, che si trova in /boot/grub sulla partizione primaria. Se la partizione è spostato o ha un nuovo nome, puntamento GRUB nella nuova posizione ancora funzionino.
Trovare il Kernel e l'immagine Initrd
Per avviare Linux, GRUB ha bisogno le posizioni delle immagini del kernel e initrd così come i percorsi dei file di configurazione e radice. Questi file si trovano nella directory /boot insieme il grub / cartella, ma è necessario denominarli correttamente per GRUB per trovarli. Sostituire con il tuo ID di dispositivo il seguente comando per elencare i nomi dei file:
LS (HD0,2) / boot
Impostare le variabili del kernel e initrd utilizzando i seguenti comandi:
Linux (HD0,2) / boot/vmlinuz-linux root = / dev/sda2 ro
initrd (HD0, 2)/boot/initrd.img
Sostituire il dispositivo (HD0,2) e i nomi di file corretto per "vmlinuz-linux" e "initrd. img" nell'esempio. In alternativa, è possibile digitare parte del nome del file e premere "Tab" per completare il nome del file.
L'avvio di Linux e la riparazione di GRUB
Dopo aver impostato le variabili necessarie, è possibile aprire manualmente il menu di GRUB e l'avvio come di consueto. Immettere i seguenti comandi per caricare il modulo normale e aprire il menu GRUB:
insmod normale
normale
Selezionare il principale sistema operativo utilizzando i tasti freccia, quindi premere "Enter" per l'avvio. Dopo l'avvio in Linux, aprire una finestra terminale e reinstallare GRUB sul MBR del dispositivo. Il comando di installazione varia tra le distribuzioni di Linux, ma in Ubuntu, è possibile utilizzare il comando seguente:
sudo grub-install/dev/sda
Sostituire blocco ID del dispositivo per "/ dev/sda" nell'esempio e non si specifica un numero di partizione, ad esempio "/ dev/sda2."