Il processo di boot di un computer è black magic per la maggior parte delle persone, anche degli addetti ai lavori. L’inizializzazione delle periferiche base, come memoria o CPU stessa, e poi il “passaggio” al boot del SO è effettivamente piuttosto affascinante.
Il metodo classico, ma forse meglio dire antico, è fare affidamento sul primo settore del disco rigido, chiamato appositamente Master Boot Record (MBR). I boot loader si piazzano proprio qui, con il codice da eseguire per far partire il computer. Ed è per esempio il posto dove grub si installa, capace di chiamare a sua volta un altro boot loader (come quello di Windows), sebbene lo spazio sia limitato.
Il BIOS è specifico per ogni scheda madre, e talvolta un BIOS non si comporta come un altro, costringendo gli sviluppatori a introdurre codice specifico per gestire le differenze.
Da una ventina d’anni questa magia nera è diventata più ordinata e standard, con l’avvento di UEFI: Unified Extensible Firmware Interface.
UEFI usa una partizione dedicata del disco (non per forza la prima), che usa GUID Partition Table (GPT) al posto di MBR, marchiata, formattata e strutturata appositamente. Qui si mettono i file (binari) da eseguire, con il supporto integrato ad un menù con cui poter scegliere cosa (o come) avviare.
Grazie ad una serie di specifiche che fanno parte del sistema UEFI, i produttori, sia di dispositivi che di sistemi operativi, possono avere un maggior controllo e una maggiore flessibilità nel processo di boot, oltre a qualche funzionalità in più.
Per esempio è possibile fornire insieme ad una scheda di rete il file per inizializzarla direttamente da UEFI, e poterla usare nel processo di boot stesso (per esempio, per scaricare al volo un’immagine da usare dell’OS).
Oppure, solo grazie a UEFI è possibile avere SecureBoot, ovvero un meccanismo di verifica e autenticazione dell’integrità dei componenti del boot, così da avere la certezza di caricare un sistema operativo senza corruzioni, specialmente intenzionali e malevoli – sebbene, ad essere onesti, abbia dato ogni tanto più problemi che soluzioni.
Proprio perché è da parecchio che i sistemi usano UEFI, il codice necessario per l’uso del BIOS è piuttosto statico, non vede modifiche sostanziali. Ma è comunuqe necessario manutenerlo, e integrarlo nei processi di boot, cosa che li complica.
Per questo, Fedora ha iniziato una discussione sul mantenimento di questo supporto, e sembra arrivata alla conclusione che semplicemente non ne vale più la pena: da Fedora 37 il BIOS sarà deprecato, e supportato solo il metodo UEFI. In particolare, non sarà possibile installare Fedora su sistemi BIOS, mentre quelli già di quel tipo potranno aggiornarsi – non si sa fino a che versione sarà così, ma crediamo non più di un paio.
La scelta sembra ragionevole e moderna, ma è già partita una levata di scudi. Come mai? Perché il BIOS, vetusto, è più diffuso di quanto si creda. A partire dalle macchine virtuali, tanto usate in ambito enterprise. In cui spesso la modalità “BIOS” è quella predefinita.
Modificare la modalità da BIOS a UEFI, inoltre, costringe alla reinstallazione del sistema operativo, in quanto una serie di scelte incompatibili tra loro (a partire dal partizionamento del disco) dipendono proprio da questa modalità. E dover rifare centinaia di macchine puà rappresentare un problema.
Il problema è stato riconosciuto, e la soluzione proposta è la creazione di un Special Interest Group (SIG), un gruppo di manutentori che si occupino specificamente del supporto al BIOS e mantengano un repository con i pacchetti da installare per poterlo avere.
Fedora di default non supporterà il BIOS, ma un fase di installazione di si potrà indicare la volontà di usare questi pacchetti in più. O, più probabilmente, rilasceranno una ISO appositamente modificata per dare questa possibilità.
C’è da segnalare che Fedora è usata principalmente su sistemi desktop o di sviluppo, quindi l’impatto “in produzione” potrebbe risultare molto limitato. E far scomparirequesta discussione nel nulla come una bolla di sapone. Ricordate che Fedora non supporta più i sistemi a 32bit? Forse la storia si ripeterà.
Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.