Ricerca nel sito web

Come ripristinare o salvare il boot loader Grub danneggiato in CentOS 7


In questo tutorial tratteremo il processo di salvataggio di un boot loader danneggiato in CentOS 7 o Red Hat Enterprise Linux 7 e recupereremo la password di root dimenticata.

Il boot loader GRUB a volte può essere danneggiato, compromesso o eliminato in CentOS a causa di vari problemi, come guasti relativi all'hardware o al software o talvolta può essere sostituito da altri sistemi operativi, in caso di dual-boot. Un boot loader Grub danneggiato impedisce al sistema CentOS/RHEL di avviarsi e trasferire ulteriormente il controllo al kernel Linux.

La fase uno del boot loader Grub è installata sui primi 448 byte all'inizio di ogni disco rigido, in un'area tipicamente nota come Master Boot Record (MBR ).

Leggi anche: Come salvare, riparare e ripristinare il boot loader Grub in Ubuntu

La dimensione massima dell'MBR è di 512 bye. Se per qualche motivo i primi 448 byte vengono sovrascritti, CentOS o Red Hat Enterprise Linux non potranno essere caricati a meno che non si avvii la macchina con un CentOS ISO in modalità ripristino o utilizzando altri metodi di caricamento dell'avvio e reinstallare il boot loader MBR GRUB.

Requisiti

  1. Scarica l'immagine ISO del DVD di CentOS 7

Ripristina il boot loader GRUB in CentOS 7

1. Nel primo passaggio, scarica l'ultima versione dell'immagine CentOS 7 ISO e masterizzala su un DVD o crea una chiavetta USB avviabile. Posiziona l'immagine avviabile nell'unità appropriata della macchina e riavvia la macchina.

Mentre il BIOS esegue i test POST, premere un tasto speciale (Esc, F2, F11, F12, Canc a seconda delle istruzioni della scheda madre) per accedere alle impostazioni del BIOS e modificare la sequenza di avvio in modo che l'immagine DVD/USB avviabile venga avviata per prima all'avvio della macchina, come illustrato nell'immagine seguente.

2. Dopo che il supporto di avvio CentOS 7 è stato rilevato, la prima schermata verrà visualizzata nell'output del monitor della macchina. Dal primo menu scegli l'opzione Risoluzione dei problemi e premi il tasto [invio] per continuare.

3. Nella schermata successiva scegli l'opzione Salva un sistema CentOS e premi il tasto [invio] per andare oltre. Verrà visualizzata una nuova schermata con il messaggio "Premere il tasto Invio per iniziare il processo di installazione". Qui, basta premere nuovamente il tasto [invio] per caricare il sistema CentOS in memoria.

4. Dopo che il software di installazione è stato caricato nella RAM del tuo computer, sullo schermo verrà visualizzato il messaggio dell'ambiente di ripristino. In questo prompt digita 1 per Continua con il processo di ripristino del sistema, come illustrato nell'immagine seguente.

5. Al prompt successivo il programma di salvataggio ti informerà che il tuo sistema è stato montato nella directory /mnt/sysimage. Qui, come suggerisce il programma di salvataggio, digita chroot /mnt/sysimage per modificare la gerarchia dell'albero Linux dall'immagine ISO alla partizione root montata sotto il tuo disco.

6. Successivamente, identifica il disco rigido del tuo computer emettendo il comando seguente nella richiesta di ripristino.

ls /dev/sd*

Nel caso in cui la tua macchina utilizzi un vecchio controller RAID fisico sottostante, i dischi avranno altri nomi, come /dev/cciss. Inoltre, nel caso in cui il tuo sistema CentOS sia installato su una macchina virtuale, i dischi rigidi possono essere denominati /dev/vda o /dev/xvda.

Tuttavia, dopo aver identificato il disco rigido della tua macchina, puoi iniziare a installare il boot loader GRUB immettendo i comandi seguenti.

ls /sbin | grep grub2  # Identify GRUB installation command
/sbin/grub2-install /dev/sda  # Install the boot loader in the boot partition of the first hard disk

7. Dopo che il boot loader GRUB2 è stato installato con successo nell'area MBR del disco rigido, digitare exit per tornare all'albero delle immagini ISO di avvio CentOS e riavvia la macchina digitando init 6 nella console, come illustrato nello screenshot seguente.

8. Dopo il riavvio della macchina, dovresti, innanzitutto, inserire le impostazioni del BIOS e modificare il menu dell'ordine di avvio (posizionare il disco rigido con il boot loader MBR installato nella prima posizione in ordine del menu di avvio).

Salva le impostazioni del BIOS e, ancora una volta, riavvia la macchina per applicare il nuovo ordine di avvio. Dopo il riavvio, la macchina dovrebbe avviarsi direttamente nel menu GRUB, come mostrato nell'immagine seguente.

Congratulazioni! Hai riparato con successo il boot loader GRUB danneggiato del tuo sistema CentOS 7. Tieni presente che a volte, dopo aver ripristinato il boot loader GRUB, la macchina si riavvierà una o due volte per applicare la nuova configurazione di grub.

Recupera la password di root in CentOS 7

9. Se hai dimenticato la password di root e non riesci ad accedere al sistema CentOS 7, puoi sostanzialmente reimpostare (cancellare) la password avviando l'immagine ISO del DVD CentOS 7 in modalità di ripristino e seguire le istruzioni stessi passaggi mostrati sopra, fino a raggiungere il passaggio 6. Mentre sei in chroot nel file system di installazione CentOS, emetti il seguente comando per modificare il file delle password degli account Linux.

vi /etc/shadow

Nel file shadow, identifica la riga della password di root (di solito è la prima riga), entra nella modalità di modifica vi premendo il tasto i ed elimina l'intera stringa tra i primi due punti “: ” e i secondi due punti ”: ”, come illustrato nello screenshot seguente.

Al termine, salva il file premendo i seguenti tasti in questo ordine Esc -> : -> wq!

10. Infine, esci dalla console in chroot e digita init 6 per riavviare la macchina. Dopo il riavvio, accedi al tuo sistema CentOS con l'account root, che al momento non ha password configurata, e imposta una nuova password per l'utente root eseguendo il comando passwd, come illustrato nello screenshot seguente.

È tutto! L'avvio di una macchina fisica o di una VM con un'immagine ISO del DVD CentOS 7 in modalità di ripristino può aiutare gli amministratori di sistema a eseguire varie attività di risoluzione dei problemi per un sistema danneggiato, come il ripristino dei dati o quelli descritti nel tutorial.