Che cos’è GRUB Bootloader e cosa fa?

Un boot loader è uno dei componenti più importanti del processo di avvio del sistema operativo Linux.

Questo articolo ti mostrerà cos’è un boot loader e il ruolo che svolge in un sistema Linux. In particolare, questa guida si concentrerà sul Grand Unified Bootloader (GRUB), un programma di boot loader potente e altamente flessibile. Ma prima di esaminare GRUB in dettaglio, è importante comprendere il processo di avvio in Linux.

Il processo di avvio di Linux

Il processo di avvio su Linux è una serie di attività che si verificano dal momento in cui si preme il pulsante di accensione sul PC fino alla visualizzazione della schermata di accesso.

Ci sono quattro fasi principali nel processo di avvio del tuo sistema operativo e si verificano nel seguente ordine:

  1. BIOS : sta per Basic Input/Output System ed è principalmente responsabile del caricamento del bootloader. All’avvio, il computer esegue un Power On Self Test (POST) per assicurarsi che l’hardware principale, come la memoria e il disco rigido, funzioni correttamente. Successivamente, il BIOS controllerà il Master Boot Record (MBR) dei dischi rigidi primari, che è una sezione del disco rigido in cui si trova il bootloader.
  2. Bootloader : carica il kernel nella RAM con un set di parametri del kernel.
  3. Kernel : la funzione principale del kernel è inizializzare i dispositivi e la memoria. Successivamente, carica il processo di inizializzazione.
  4. Init : Responsabile dell’avvio e dell’arresto dei servizi essenziali sul sistema.

Nota : il BIOS non è un processo relativo a Linux, è un processo che avviene indipendentemente dal sistema operativo.

Ulteriori informazioni: il BIOS di un computer è considerato software, hardware o firmware?

Cos’è il Grand Unified Bootloader?

GRUB è principalmente responsabile della fornitura di un menu di opzioni da cui è possibile selezionare il sistema operativo o l’ambiente in cui si desidera eseguire l’avvio. Inoltre, GRUB è responsabile del caricamento del kernel Linux .

Ecco come appare un’opzione di menu di GRUB. Se hai più sistemi operativi installati, li avrai elencati qui.

Nota : GRUB non si limita solo all’avvio nei sistemi operativi Linux, è anche possibile utilizzarlo per l’avvio in altri sistemi operativi come Windows.

Al momento della stesura di questo articolo sono disponibili due versioni principali di GRUB.

  1. GRUB Legacy : questa è la prima versione di GRUB ed è stata inizialmente sviluppata nel 1995.
  2. GRUB 2 : questa è l’ultima versione di GRUB utilizzata da molte distribuzioni Linux mainstream come Manjaro, Ubuntu, Fedora e Red Hat Enterprise Linux (RHEL). GRUB 2 offre strumenti e opzioni di configurazione migliori rispetto al suo predecessore.

Oltre a GRUB, le distribuzioni Linux utilizzano anche altri boot loader come Linux Loader (LILO), coreboot e SYSLINUX.

Il ruolo di GRUB

Una volta selezionato il sistema operativo da cui avviare, GRUB caricherà il kernel selezionato. GRUB usa i parametri del kernel per sapere dove si trova il kernel e altri parametri importanti da usare.

  • initrd : utilizzato per specificare il disco RAM iniziale.
  • BOOT_IMAGE : la posizione dell’immagine del kernel Linux.
  • root : specifica la posizione del filesystem di root. Usato dal kernel per trovare init che a sua volta carica i servizi critici.
  • ro : Responsabile del montaggio del filesystem in modalità di sola lettura.
  • quiet : nasconde alcuni messaggi specifici del sistema durante l’avvio del PC.
  • splash : utilizzato per visualizzare la schermata iniziale all’avvio del sistema.

Quando sei nel menu delle opzioni di GRUB, puoi modificare i parametri del kernel premendo il tasto E sulla tastiera.

Configurazione del bootloader GRUB

GRUB 2 ti offre molta flessibilità e potenza quando si tratta di configurare il tuo boot loader.

La directory /boot/grub contiene un file denominato grub.cfg , che è il file di configurazione principale per GRUB. Tuttavia, si consiglia di non modificare direttamente il file grub.cfg , ma di modificare il file /etc/default/grub .

Quando apporti modifiche al file /etc/default/grub , assicurati di eseguire il comando seguente, in modo che le modifiche vengano scritte automaticamente nel file grub.cfg .

sudo update-grub

Puoi saperne di più su GRUB e alcune delle sue opzioni di configurazione eseguendo il seguente comando:

info -f grub

Personalizzazione di GRUB su Linux

Questa guida ti ha mostrato che GRUB è un boot loader molto potente e flessibile e svolge un ruolo cruciale nel funzionamento del tuo sistema operativo. Gli utenti hanno il controllo completo sull’aspetto della schermata di avvio di GRUB. Puoi anche personalizzare facilmente l’immagine di sfondo della schermata di avvio.