processo-di-avvio-bios-vs-uefi | Linuxiano.it
Privacy Policy

processo-di-avvio-bios-vs-uefi

Informazioni sul processo-di-avvio-bios-vs-uefi

Il processo di avvio è un universo tutto a sé

Prima che il sistema operativo prenda il sopravvento ottenendo un sistema in esecuzione dobbiamo effettuare molti passaggi. In un certo senso, c’è un piccolo sistema operativo embedded coinvolto in questo intero processo. Mentre il processo differisce da una piattaforma hardware a un’altra e da un sistema operativo a un altro, esaminiamo alcuni aspetti comuni che ci aiuteranno a ottenere una comprensione pratica del processo di avvio.

Parleremo del processo di avvio regolare, non UEFI, in primo luogo. Cosa succede tra quel punto nel tempo in cui si preme il pulsante di accensione al punto in cui il sistema operativo si avvia e presenta una richiesta di accesso.

BIOS legacy – Sistema di input / output di base

Step1: La CPU è cablata per eseguire le istruzioni da un componente fisico, chiamato NVRAM o ROM, all’avvio. Queste istruzioni costituiscono il firmware del sistema. Ed è questo firmware in cui viene disegnata la distinzione tra BIOS e UEFI. Per ora concentriamoci sul BIOS.

La responsabilità del firmware, del BIOS è esaminare i vari componenti collegati al sistema come controller del disco, interfacce di rete, schede audio e video, ecc. Quindi cerca di trovare e caricare il prossimo set di codice bootstrap.

In un ordine predefinito il firmware passa attraverso dispositivi di memorizzazione (e interfacce di rete) e tenta di trovare al loro interno un bootloader memorizzato. In genere questo processo non è qualcosa che un utente esige. Tuttavia, esiste un’interfaccia utente rudimentale che è possibile utilizzare per modificare vari parametri relativi al firmware di sistema, incluso l’ordine di avvio.

Si accede a questa interfaccia utente tenendo generalmente premuto il tasto F12, F2 o CANC all’avvio del sistema. Per cercare una chiave specifica nel tuo caso, consulta il manuale della tua scheda madre.

Passo 2: BIOS, quindi si presume che il dispositivo di avvio si avvii con un MBR (Master Boot Record) che contiene un boot loader di primo livello e una tabella di partizione del disco. Dato che questo primo blocco, il blocco di avvio, è piccolo e il bootloader è minimalista non può leggere un file system o caricare un’immagine del kernel.

In questo modo viene richiamato il bootloader di seconda fase.

Fase 3: Il bootloader di seconda fase è responsabile della localizzazione e del caricamento del kernel del sistema operativo appropriato nella memoria. L’esempio più comune, per gli utenti Linux, è il bootloader GRUB. Nel caso in cui stiamo eseguendo un dual-boot, dobbiamo addirittura fornire all’utente una semplice interfaccia utente per selezionare il sistema operativo appropriato da avviare.

Anche quando si installa un singolo sistema operativo, il menu di GRUB consente di avviare la modalità avanzata o di ripristinare un sistema danneggiato accedendo alla modalità utente singolo. Altri sistemi operativi hanno caricatori di avvio diversi. FreeBSD ha uno dei suoi, così come altri Unix.

Passo 4: Una volta caricato il kernel appropriato, troveremo un intero elenco di processi userland in attesa per essere inizializzati. Ciò include il server SSH, la GUI, ecc. Se stiamo eseguendo in modalità multiutente o un insieme di utilità per la risoluzione dei problemi del sistema stiamo eseguendo la modalità utente singolo.

In ogni caso, avremo bisogno di un sistema init per gestire la creazione iniziale del processo e la gestione continua dei processi critici. Nuovamente avremo una lista di opzioni diverse dai tradizionali script di shell di init usati dagli Unix primitivi, a un’implementazione systemd immensamente complessa che ha preso il controllo del mondo Linux e nella comunità ha il suo status controverso. I BSD hanno una loro variante di init che differisce dai due sopra menzionati.

Questa è una breve panoramica del processo di avvio. Molte complessità sono state omesse, al fine di rendere la descrizione amichevole per chi non lo sapesse.

Specifiche UEFI

La differenza tra UEFI e BIOS sarà trovata nella prima parte. Se il firmware è di una variante più moderna, chiamata UEFI o Unified Extensible Firmware Interface, allora offrirà molte più funzionalità e personalizzazioni. Supponiamo che sia molto più standardizzato, quindi i produttori di schede madri non devono preoccuparsi di ogni specifico sistema operativo che potrebbe funzionare su di essi e viceversa.

Una delle principali differenze tra UEFI e BIOS è che UEFI supporta uno schema di partizionamento GPT più moderno mentre il firmware UEFI ha la capacità di leggere i file da un piccolo sistema FAT.

Spesso, questo significa che la configurazione e i binari UEFI si trovano su una partizione GPT sul disco rigido e spesso è noto come ESP (EFI System Partition) in genere montato in / efi.

Avere un file system montabile significa che l’ OS in esecuzione può leggere lo stesso file system. Molti malware sfruttano questa capacità per infettare il firmware del tuo sistema, proseguendo anche dopo la reinstallazione del sistema operativo.

UEFI è più flessibile, elimina la necessità di avere un boot loader di secondo livello come GRUB. Spesso, se installiamo un singolo sistema operativo (ben supportato come il desktop di Ubuntu o Windows con UEFI abilitato), possiamo evitare di utilizzare GRUB o qualsiasi altro bootloader intermedio.

Tuttavia, la maggior parte dei sistemi UEFI supporta ancora un’opzione BIOS legacy, possiamo ricorrere a questo se qualcosa va storto. Allo stesso modo, se il sistema viene installato tenendo presente sia il supporto BIOS che UEFI, avrà un blocco compatibile con MBR nei primi settori del disco rigido. Allo stesso modo, se hai bisogno di un dual boot del tuo computer, o semplicemente usi il bootloader di seconda fase per altri motivi, sei libero di usare GRUB o qualsiasi altro bootloader adatto al tuo caso d’uso.

Conclusione

UEFI aveva lo scopo di unificare la moderna piattaforma hardware in modo che i fornitori dei sistemi operativi possano svilupparsi liberamente. Tuttavia, si è lentamente trasformato in un pezzo di tecnologia controverso, soprattutto se stiamo tentando di eseguire il sistema operativo open source. Detto questo, ha il suo merito ed è meglio non ignorarne l’esistenza.

Sul lato opposto, in futuro BIOS legacy continuerà a rimanere per qualche altro anno. La sua comprensione è ugualmente importante nel caso in cui sia necessario tornare alla modalità BIOS per la risoluzione dei problemi di un sistema.

Grazie! per l’utilizzo della Guida di Linuxiano.

Trovi questo tutorial utile? Condividi con i tuoi amici per tenerlo in vita.
Sii il primo a commentare, apprezzo i tuoi suggerimenti. Per ulteriori domande potete commentare qui sotto.