Grub vs. Systemd-boot: quale dovresti usare come bootloader

Grub vs. Systemd-boot: quale dovresti usare come bootloader

Systemd-boot, precedentemente chiamato “gummiboot”, è il nuovo concorrente di Grub. Sui sistemi EFI compatibili, puoi utilizzare systemd-boot al posto di Grub per avviare il sistema operativo del sistema. Da una prospettiva di alto livello, systemd-boot si collega al bootloader già in UEFI, offrendo il set di funzionalità di base per la selezione di un sistema operativo. Grub, d’altra parte, carica quello che a volte viene descritto come “un intero sistema operativo” per gestire l’avvio del sistema operativo dell’utente, fornendo capacità molto maggiori.

Che cos’è un bootloader?

Un bootloader carica il sistema operativo. Viene copiato in memoria dal BIOS della tua macchina dal primo blocco valido del tuo disco e viene eseguito prima dell’avvio di qualsiasi sistema operativo. Da lì, fornisce un set di funzionalità di base che ti consente di modificare il modo in cui desideri che la tua macchina si avvii per quella sessione. Ad esempio, GRUB ti offre un’opzione per caricare diversi kernel per la tua distribuzione Linux.

Uno screenshot della schermata di selezione del kernel Linux in GRUB 2.

Se il bootloader rileva più immagini di sistema avviabili, consente all’utente di selezionare quale sistema caricare. Il bootloader quindi avvia il sistema operativo e passa il controllo dell’hardware al sistema operativo. Sulla maggior parte dei sistemi, il bootloader appare subito dopo la schermata iniziale della scheda madre.

Una fotografia della schermata iniziale del BIOS di una scheda madre.

Cordiali saluti: BIOS e UEFI sono i due firmware che troverai oggi nelle schede madri x86_64. Scopri cosa li fa funzionare e come puoi determinare quale firmware è il migliore per te .

Grub vs. systemd-boot: cos’è Grub?

GNU GRUB , più comunemente noto come Grub o GRUB 2, sta per GR e Unified Boot Interface . Si basa sulla specifica multiboot della Free Software Foundations . I suoi sviluppatori lo hanno progettato per funzionare su qualsiasi piattaforma hardware e avviare praticamente qualsiasi sistema operativo simile a Unix praticamente da qualsiasi supporto di avvio e file system.

Uno screenshot del bootloader GRUB 2 predefinito in Ubuntu Linux.

Poiché copre un’ampia gamma di piattaforme e distribuzioni, Grub è spesso il bootloader predefinito nella maggior parte delle distribuzioni Linux. Se hai interagito con un bootloader Linux, probabilmente era Grub. Fornisce inoltre opzioni per la configurazione visiva come testo, colori di sfondo e immagini splash grafiche. La versione Debian di Grub, ad esempio, utilizza uno sfondo unico blu-verde per il suo prompt.

Uno screenshot del menu del bootloader GRUB 2 in Debian 11.

Grub supporta i sistemi multiboot e i suoi sviluppatori lo hanno scritto appositamente per questo scopo. Tuttavia, può essere un po’ complicato se qualcosa va storto. I problemi si verificano più frequentemente durante l’installazione di Grub su un sistema multiboot esistente, la rimozione di sistemi operativi e l’installazione di nuovi sistemi operativi. Grub utilizza un file di configurazione, quindi ogni sistema operativo è incluso nello stesso file, che viene modificato per riflettere le modifiche.

Uno screenshot di una finestra di terminale che mostra il file grub.cfg in Debian.

I bootloader del sistema operativo principale risiedono nell’MBR e altri sistemi operativi vengono caricati a catena tramite bootloader sulle proprie partizioni. Funziona e per la maggior parte dei casi d’uso è assolutamente sufficiente. Ma è un sistema che può anche essere facilmente sconvolto. Ad esempio, se non si configurano correttamente i kernel caricati a catena, più installazioni di Linux possono finire per “lottare” per il controllo dell’MBR.

Grub vs. Systemd-boot: cos’è Systemd-boot?

I fan di Linux potrebbero aver già incontrato il nome ” systemd “. Systemd, abbreviazione di “system daemon”, è una raccolta di demoni prerequisiti fondamentali per l’esecuzione di un sistema Linux. Systemd-boot è un codice di diverse migliaia di righe e non ha dipendenze nel resto della suite systemd.

Uno screenshot del bootloader Systemd-boot in Pop!_OS.

Tuttavia, grazie alla sua semplicità, gummiboot è stato aggiunto a systemd e rinominato “systemd-boot” per corrispondere alla convenzione di denominazione dei componenti di systemd. L’obiettivo generale di Systemd è avviare rapidamente il sistema avviando meno cose e avviandone di più in parallelo, e systemd-boot condivide questo obiettivo.

Uno screenshot di una finestra di terminale che mostra la configurazione EFI predefinita per Pop!_OS.

Come bootloader di solo testo, systemd-boot ha un aspetto ovviamente vecchio stile. I dispositivi di avvio disponibili sono elencati in base al loro titolo, che viene gestito nel file di configurazione di systemd-boot. Il systemd-boot è fondamentalmente un’interfaccia per la logica di avvio inclusa in EFI, motivo per cui può essere utilizzato solo con sistemi EFI compatibili. È un sistema notevolmente meno configurabile di Grub e utilizza modulari. conf per ogni sistema operativo che si desidera avviare.

Uno screenshot di una finestra di terminale che mostra il contenuto della partizione /boot/efi della macchina.

Con la sua interfaccia limitata, systemd-boot è un bootloader molto più piccolo di Grub. Alcune persone lo installano per velocità o per gestire più sistemi operativi in ​​modo più efficace. Poiché systemd-boot utilizza file di configurazione divisi (un singolo file .conf per ogni kernel o sistema operativo), può essere più semplice mantenere manualmente un sistema con più kernel o sistemi operativi. Questi file di testo di configurazione drop-in possono essere semplicemente copiati nella directory di systemd quando viene installato un nuovo kernel. Ciò semplifica la configurazione per i sistemi ad avvio multiplo.

Quale è meglio: Grub o Systemd-boot?

In caso di problemi con Grub, systemd-boot fornisce un’infrastruttura di avvio notevolmente semplificata con la configurazione dei file drop-in. È più robusto, ma non è neanche lontanamente configurabile o adattabile come Grub. Se stai utilizzando un sistema EFI multiboot, systemd-boot può fornire una gestione di avvio più semplice e può anche ridurre i tempi di avvio. Su altre configurazioni di sistema o per usi che richiedono una maggiore flessibilità rispetto a quella offerta da systemd-boot, Grub rimane la soluzione migliore.

Domande frequenti

È possibile convertire il mio sistema GRUB 2 in Systemd-boot?

SÌ. Per la maggior parte, GRUB e Systemd-boot dovrebbero essere in grado di coesistere all’interno dello stesso sistema. Ciò significa che è possibile convertire una macchina che utilizza GRUB in Systemd-boot.

È importante tenere presente che l’installazione di Systemd-boot differirà a seconda della distribuzione Linux. Nella maggior parte dei casi, tuttavia, ciò comporterà il caricamento del sistema operativo in modalità UEFI e l’esecuzione di su && bootctl install.

I sistemi BIOS possono eseguire Systemd-boot?

SÌ. È possibile che i sistemi solo BIOS eseguano Systemd-boot emulando un ambiente simile a UEFI. Uno dei programmi più popolari in grado di farlo è Clover . Questo è un sostituto del bootloader per le macchine Hackintosh che puoi configurare per lavorare con le distribuzioni Linux.

È possibile velocizzare GRUB 2?

SÌ. Uno dei modi più semplici per velocizzare GRUB 2 durante l’avvio è ridurre il tempo di attesa del prompt. Puoi farlo eseguendo sudo nano /etc/default/grub, quindi modificando il GRUB_TIMEOUTvalore in 1.

D’altra parte, puoi anche assicurarti che GRUB aspetterà sempre una risposta dell’utente modificando quel GRUB_TIMEOUTvalore in -1. Una volta fatto, devi eseguire sudo update-grubper applicare la tua nuova configurazione.

Credito immagine: Unsplash . Tutte le modifiche e gli screenshot di Ramces Red.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *