Concetti Chiave
- L'accensione del computer inizia con l'attivazione di un microchip CMOS che esegue controlli iniziali tramite il POST, verificando componenti come RAM e CPU.
- Il BIOS/UEFI determina l'ordine di avvio, cercando unità di memoria disponibili per eseguire il boot, come dischi rigidi, chiavette USB o CD/DVD.
- La principale differenza tra BIOS e UEFI riguarda il supporto delle tabelle di partizione: il BIOS supporta solo MBR, mentre UEFI supporta sia MBR che GPT, offrendo maggiore capacità e sicurezza.
- Il firmware UEFI include una funzione di "secure boot" per proteggere l'avvio da software dannoso, una caratteristica assente nei BIOS tradizionali.
- Durante il caricamento del sistema operativo, il bootloader carica il kernel, completando l'avvio e presentando all'utente la schermata di login.
Indice
Accensione del computer
La cosa più banale che è possibile fare con un computer è l'accensione: essa però non è realmente un processo così semplice come si potrebbe pensare.
La fase di avvio di un PC si svolge in varie fasi, che vedremo in ordine di esecuzione.
Una volta premuto il pulsante di accensione, l'energia fluisce da una piccola batteria secondaria a un microchip installato sulla scheda madre. Questo microchip (chiamato CMOS) ha installato un firmware (programma autonomo di basso livello) che esegue dei controlli iniziali fondamentali della scheda madre (ad esempio, controlla se è presente la RAM e la CPU), detto POST. Il firmware può essere di tipo BIOS (Basic Input/Output System), nelle macchine più vecchie, o UEFI (Unified Extensible Firmware Interface) in quelle più moderne.
In questa fase, è possibile premere sulla tastiera un tasto specifico (in base al modello di PC) che permette di accedere alle impostazioni del firmware e modificare le impostazioni di avvio.
Ordine di avvio e errori
Dopo il controllo POST, il BIOS/UEFI scandaglia l'ordine di avvio della macchina: ciò significa che cerca quale unità di memoria è impostata come unità di cui eseguire il boot, e se non è disponibile, passa alla seconda impostata e via dicendo.
Infatti, oltre al sistema operativo installato sul disco principale di un computer, è possibile avviare la macchina con dei sistemi installati su qualsiasi tipo di filesystem, come chiavette USB o dei CD/DVD.
Naturalmente, nel caso in cui nessuno dei dischi configurati nell'ordine di avvio è disponibile, il firmware ritornerà l'errore "No bootable media was found" (nessuna unità avviabile è stata trovata).
Differenze tra BIOS e UEFI
In questa fase diventa cruciale la differenza tra BIOS e UEFI. Un disco, oltre ad avere un filesystem, ha anche una "tabella delle partizioni", ossia un modo di organizzare un unico, ma anche più di uno, filesystem su una unità di archiviazione. Un BIOS può eseguire il boot solo di unità con tabella delle partizioni MBR (Master Boot Record), con limiti di spazio gestibile (2 TB) e privo di funzionalità di sicurezza.
Un firmware UEFI invece può eseguire sia il boot di unità MBR (modalità legacy, ossia di "retrocompatibilità"), ma anche delle unità GPT (GUID Parition Table), che supportano fino a 9,5 TB di disco. Inoltre, i firmware UEFI hanno una funzionalità nota come "secure boot", che impedisce di caricare software dannoso all'avvio del computer, cosa di cui i BIOS sono del tutto carenti. Questa funzione però protegge solo il caricamento di codice malevolo presente nel firmware UEFI, non eventuali malware del sistema operativo, perciò resta sempre importante la cautela quando si installano dei programmi !
Caricamento del sistema operativo
A questo punto, il firmware carica un piccolo programma indipendente, situato in una partizione (una parte di disco) formattata nella maniera idonea al caso, che si occupa di caricare il kernel del sistema. Windows usa il Windows Boot Manager, mentre Linux utilizza principalmente GRUB, ma la scelta del bootloader è altamente personalizzabile dall'utente durante l'installazione del sistema.
Il kernel caricato dal bootloader fa il resto del lavoro: carica, se presente, l'ambiente grafico, e mostra all'utente la tipica schermata di login. L'avvio è stato completato con successo !
Domande da interrogazione
- Qual è il primo passo nell'accensione di un computer?
- Cosa verifica il firmware durante la fase di POST?
- Qual è la differenza principale tra BIOS e UEFI?
- Cosa succede se non viene trovata alcuna unità avviabile?
- Qual è il ruolo del bootloader nel processo di avvio?
Il primo passo è premere il pulsante di accensione, che attiva il flusso di energia verso un microchip sulla scheda madre, avviando il processo di accensione.
Durante la fase di POST, il firmware verifica la presenza di componenti fondamentali come la RAM e la CPU, assicurandosi che siano funzionanti prima di procedere.
La principale differenza è che il BIOS supporta solo unità con tabella delle partizioni MBR, mentre l'UEFI può gestire sia MBR che GPT, offrendo anche funzionalità di sicurezza come il "secure boot".
Se non viene trovata alcuna unità avviabile, il firmware restituisce l'errore "No bootable media was found", indicando che non ci sono dispositivi configurati per l'avvio.
Il bootloader, come il Windows Boot Manager o GRUB per Linux, carica il kernel del sistema operativo, completando così il processo di avvio e portando l'utente alla schermata di login.