Come modificare i parametri di GRUB all'avvio?

GRUB è un "boot loader", ovvero il sistema che molte distro Linux usano per far caricare il boot del sistema operativo.
Entra in funzione un istante dopo l'accensione del computer ed il suo compito è molto delicato perché, oltre a permettere di scegliere quale sistema operativo avviare (se né abbiamo più di uno) passa parametri fondamentali.

Ma come si configura?
Vediamo come farlo in modo semplificato ipotizzando la necessità di aggiungere un solo parametro alla stringa di avvio.

Panoramica

Ipotizziamo di avere Linux Ubuntu Mint 22 e di dover passare al kernel il parametro nomodeset al kernel all'avvio. Dobbiamo usare grub, aggiungere il parametro, dare l'istruzione "update-grub" e riavviare il computer.

Prima di passare alla parte esecutiva è opportuno aggiungere un paio di informazioni:

  • in grub possiamo mettere molti parametri e usare anche forme condizionali (vedete il codice in /boot/grub/grub.cfg ); un sistema potente, ma complesso;
  • la configurazione di solito è nel file /boot/grub/grub.cfg ;
  • per semplificare la grazione del codice in /boot/grub/grub.cfg molte distro usano la logica di file organizzati gerarchicamente che danno origine al file grub.cfg tramite un passaggio intermedio. I file gerarchici si trovano in

/etc/default/grub
/etc/default/grub.d/*

Iniziamo!

Configurazione

  • Editiamo /etc/default/grub


sudo nano /etc/default/grub

  • valrizziamo la variabile GRUB_CMDLINE_LINUX


GRUB_CMDLINE_LINUX="nomodeset"

# Applichiamo la configurazione

  • Generiamo grub.cfg


sudo grub-mkconfig -o /boot/grub/grub.cfg

  • facciamo scrivere la configurazione nel boot del computer

update-grub

  • riavviamo il computer!