Grub

grub2-mkconfig Tutorial

grub2-mkconfig Tutorial
Se utilizzi Linux da un po' di tempo ed è compito quotidiano installare e testare nuove distribuzioni Linux, potresti aver visto che a volte tutti i sistemi operativi installati non sono elencati nel menu di GRUB. Potrebbe essere dovuto al fatto che GRUB non è stato installato correttamente o che GRUB non è in grado di scansionare correttamente i dischi rigidi.

Se ti è mai successo, non dare di matto! È davvero molto facile da risolvere. Il bootloader di GRUB 2 dispone di strumenti speciali per la scansione dei dischi rigidi installati sul computer alla ricerca di sistemi operativi avviabili installati sui dischi rigidi.

In questo articolo, ti mostrerò come risolvere i problemi sopra indicati e come utilizzare grub2-mkconfig strumento per risolverlo.  Userò Debian 9 Stretch per la dimostrazione, ma dovrebbe funzionare su qualsiasi distribuzione Linux moderna con GRUB 2 installato. Iniziamo.

Che cosa fa grub2-mkconfig:

grub2-mkconfig è uno strumento davvero semplice. Tutto ciò che fa è scansionare i dischi rigidi del tuo computer per i sistemi operativi avviabili installati (inclusi Windows, Mac OS e qualsiasi distribuzione Linux) e genera un file di configurazione di GRUB 2. Questo è tutto.

Differenza tra grub2-mkconfig e grub-mkconfig:

Anche se GRUB 2 è installato sul tuo computer, il grub2-mkconfig il comando potrebbe non essere disponibile nella tua distribuzione Linux preferita. Ma il grub-mkconfig il comando potrebbe essere disponibile nella tua distribuzione Linux. Non c'è differenza tra grub-mkconfig e grub2-mkconfig se GRUB 2 è installato.

Nota che, se hai installato GRUB legacy, allora grub-mkconfig e grub2-mkconfig i comandi non saranno gli stessi.

Puoi controllare quale versione di GRUB è installata sulla tua macchina Linux con il seguente comando:

$ sudo grub2-mkconfig --version
O
$ sudo grub-mkconfig --version

Come puoi vedere, sulla mia macchina Debian 9 Stretch, GRUB 2.02 è installato. anche io non ce l'ho grub2-mkconfig comando disponibile su Debian 9 Stretch. È stato rinominato grub-mkconfig. Così grub-mkconfig e grub2-mkconfig è lo stesso nel mio caso.

Usando grub2-mkconfig:

Il grub2-mkconfig o il grub-mkconfig il comando ha solo un'opzione importante. Il -o o formato lungo il -produzione opzione. È usato per dire a GRUB 2 dove deve essere salvato il file di configurazione di GRUB generato.

Per impostazione predefinita, grub2-mkconfig o il grub-mkconfig comando stampa il file di configurazione generato su STDOUT, qual è il terminale del tuo sistema operativo Linux.

Se questo è quello che vuoi, allora corri grub2-mkconfig o il grub-mkconfig comando come segue:

$ sudo grub2-mkconfig
O
$ sudo grub-mkconfig

Come puoi vedere, la configurazione GRUB 2 generata è stampata sullo schermo del terminale. Questo potrebbe non essere molto utile.

Se lo desideri, puoi esportare la configurazione di GRUB 2 generata in un file. Il formato del comando è riportato di seguito:

$ sudo grub2-mkconfig -o FILE_PATH
O
$ sudo grub-mkconfig -o FILE_PATH

Se preferisci il formato lungo, allora

$ sudo grub2-mkconfig --output FILE_PATH
O
$ sudo grub-mkconfig --output FILE_PATH

NOTA: Qui, PERCORSO DEL FILE è il percorso del file in cui si desidera salvare la configurazione di GRUB 2 generata.

Diciamo che vuoi salvare la configurazione di GRUB 2 generata in un file grub.cfg nel tuo utente CASA directory.

Per farlo, esegui il seguente comando:

$ sudo grub2-mkconfig -o ~/grub.cfg
O
$ sudo grub-mkconfig -o ~/grub.cfg

Come puoi vedere, viene generato un nuovo file di configurazione di GRUB 2.

Come potete vedere, grub.cfg il file viene generato sul mio utente CASA directory.

Come puoi vedere, il contenuto del generato grub.cfg è lo stesso di prima quando ho stampato l'output nel terminale.

Aggiornamento del file di configurazione di GRUB 2 (BIOS):

Se stai usando vecchie schede madri basate su BIOS, il file di configurazione del bootloader di GRUB 2 dovrebbe essere nel file /boot/grub/grub.cfg file come puoi vedere nello screenshot qui sotto.

NOTA: Su alcune distribuzioni Linux come CentOS 7 o RHEL 7, il file di configurazione di GRUB 2 può essere trovato su /boot/grub2/grub.cfg. Se è il tuo caso, assicurati di regolare il percorso prima di eseguire il grub2-mkconfig o grub-mkconfig comando nell'articolo qui sotto.

Per aggiornare il file di configurazione di GRUB 2 su un'installazione Linux basata su BIOS, eseguire il comando seguente:

$ sudo grub2-mkconfig -o /boot/grub/grub.cfg
O
$ sudo grub-mkconfig -o /boot/grub/grub.cfg

Il file di configurazione di GRUB 2 dovrebbe essere aggiornato.

Se ti aspetti modifiche, riavvia il computer con il seguente comando:

$ sudo reboot

Dovresti vedere cosa ti aspetti nel menu di GRUB subito dopo aver premuto il pulsante di accensione.

Aggiornamento del file di configurazione di GRUB 2 (UEFI):

Sulle schede madri basate su UEFI, l'aggiornamento della configurazione di GRUB 2 è un po' più complicato.

Nelle installazioni Linux basate su EFI, il file di configurazione di GRUB 2 si trova in /boot/efi/EFI/<TUO_OS>/grub.cfg

Qui, è il nome della directory in cui grub.cfg si trova. Il nome della directory sarà diverso per ogni distribuzione Linux. Il trucco è determinare il nome della directory che viene utilizzata all'avvio. Se non hai giocato con diverse distribuzioni Linux, è più probabile che ci sarà solo una directory. Altrimenti, ci saranno molte directory da cui dovrai determinare quella attiva.

Esegui il seguente comando per elencare tutte le directory disponibili nel /boot/efi/cartella EFI:

$ sudo ls /boot/efi/EFI

Come puoi vedere, sul mio computer CentOS 7 ho solo una directory centos/

Ora per aggiornare il file di configurazione di GRUB 2, esegui il seguente comando:

$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
O
$ sudo grub-mkconfig -o /boot/efi/EFI/centos/grub.cfg

Il file di configurazione di GRUB 2 dovrebbe essere aggiornato.

Ora riavvia il computer e dovresti vedere le voci previste nel menu di GRUB.

Altro utilizzo di grub2-mkconfig e grub-mkconfig:

Supponiamo di aver aggiornato il kernel della tua distribuzione Linux preferita. Dopo l'installazione, hai controllato la versione del tuo kernel e sei sorpreso che non sia stato aggiornato! oh no!

Beh, non ti arrabbiare. Il grub2-mkconfig o il grub-mkconfig il comando può anche scansionare il /stivale directory per verificare la presenza di kernel Linux installati e generare una voce di avvio di GRUB 2 per ciascuno di essi.

I comandi e i processi sono gli stessi indicati nel Aggiornamento del file di configurazione di GRUB 2 (BIOS) e Aggiornamento del file di configurazione di GRUB 2 (UEFI) sezioni di questo articolo sopra.

Quindi è così che usi grub2-mkconfig o grub-mkconfig comando per risolvere molti problemi di avvio su Linux. Grazie per aver letto questo articolo.

Come sviluppare un gioco su Linux
Un decennio fa, non molti utenti Linux avrebbero previsto che il loro sistema operativo preferito un giorno sarebbe diventato una piattaforma di gioco...
Porte open source di motori di gioco commerciali
Ricreazioni del motore di gioco gratuite, open source e multipiattaforma possono essere utilizzate per riprodurre titoli di giochi vecchi e abbastanza...
I migliori giochi da riga di comando per Linux
La riga di comando non è solo il tuo più grande alleato quando usi Linux, ma può anche essere una fonte di intrattenimento perché puoi usarla per gioc...