Parliamo prima del normale processo di avvio. Cosa succede tra quel momento in cui si preme il pulsante di accensione al punto in cui il tuo sistema operativo si avvia e ti presenta un prompt di accesso.
Passo 1: La CPU è cablata per eseguire istruzioni da un componente fisico, chiamato NVRAM o ROM, all'avvio. Queste istruzioni costituiscono il sistema firmware. Ed è questo firmware in cui viene disegnata la distinzione tra BIOS e UEFI. Per ora concentriamoci sul bios.
È responsabilità del firmware, del BIOS, di sondare vari componenti collegati al sistema come controller disco, interfacce di rete, schede audio e video, ecc. Cerca quindi di trovare e caricare il prossimo set di codice bootstrap.
Il firmware passa attraverso dispositivi di archiviazione (e interfacce di rete) in un ordine predefinito e cerca di trovare un bootloader memorizzato al loro interno. Questo processo non è qualcosa con cui un utente si coinvolge in genere. Tuttavia, c'è un'interfaccia utente rudimentale che puoi utilizzare per modificare vari parametri riguardanti il firmware di sistema, incluso l'ordine di avvio.
Si inserisce questa interfaccia utente tenendo in genere F12, F2 o DEL Key come stivali di sistema. Per cercare una chiave specifica nel tuo caso, consultare il manuale della tua scheda madre.
Passo 2: BIOS, quindi presuppone che il dispositivo di avvio inizi con un MBR (record di avvio master) che contatta un caricatore di avvio del primo stadio e una tabella delle partizioni disco. Poiché questo primo blocco, il blocco del boot, è piccolo e il bootloader è molto minimalista e non può fare molto altro, ad esempio, leggere un file system o caricare un'immagine del kernel.
Quindi il bootloader del secondo stadio viene chiamato in essere.
Passaggio3: Il bootloader del secondo stadio è responsabile della localizzazione e del caricamento del kernel del sistema operativo corretto nella memoria. L'esempio più comune, per gli utenti di Linux, è il bootloader Grub. Nel caso in cui tu stia dando il dual-boot, ti fornisce persino una semplice interfaccia utente per selezionare il sistema operativo appropriato per iniziare.
Anche quando è installato un singolo sistema operativo, il menu Grub consente di avviare in modalità avanzata o salvare un sistema corrotto accedendo alla modalità utente singolo. Altri sistemi operativi hanno diversi caricatori di avvio. FreeBSD viene fornito con uno dei suoi anche altri unici.
Step4: Una volta caricato il kernel appropriato, c'è ancora un intero elenco di processi utente in attesa di essere inizializzato. Ciò include il tuo server SSH, la tua GUI, ecc. Se stai eseguendo in modalità multiutente o una serie di utility per risolvere il sistema se si esegue.
In entrambi i casi è necessario un sistema INIT per gestire la creazione iniziale del processo e la gestione continua dei processi critici. Qui, ancora una volta abbiamo un elenco di diverse opzioni dagli script tradizionali di Shell che usavano gli unici primitivi, per l'implementazione di sistema immensamente complessa che ha assunto il mondo di Linux e ha il suo stato controverso nella comunità. I BSD hanno la 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 i non iniziati.
Specifiche UEFI
La parte in cui viene visualizzata la differenza UEFI vs BIOS è nella prima parte. Se il firmware è di una variante più moderna, chiamata UEFI o interfaccia unificata del firmware estensibile, offre molte più funzionalità e personalizzazioni. Dovrebbe essere molto più standardizzato, quindi i produttori di schede madri non devono preoccuparsi di ogni sistema operativo specifico che potrebbe funzionare sopra di loro e viceversa.
Una differenza chiave tra UEFI e BIOS è che UEFI supporta uno schema di partizionamento GPT più moderno e il firmware UEFI ha la capacità di leggere i file da un piccolo sistema grasso.
Spesso, questo significa che la tua configurazione UEFI e i binari si siedono su una partizione GPT sul disco rigido. Questo è spesso noto come ESP (partizione del sistema EFI) montato a /EFI, in genere.
Avere un file system monte significa che il sistema operativo in esecuzione può leggere lo stesso file system (e abbastanza pericolosamente, modificarlo anche!). Molti malware sfruttano questa capacità di infettare il firmware stesso del sistema, che persiste anche dopo una reinstallazione del sistema operativo.
UEFI essendo più flessibile, elimina la necessità di avere un caricatore di avvio del secondo stadio come Grub. Spesso, se si sta installando un singolo sistema operativo (ben supportato) come Ubuntu Desktop o Windows con UEFI abilitato, puoi cavartela senza usare GRUB o qualsiasi altro bootloader intermedio.
Tuttavia, la maggior parte dei sistemi UEFI supporta ancora un'opzione BIOS legacy, puoi ricadere su questo se qualcosa va storto. Allo stesso modo, se il sistema è installato con il supporto BIOS e UEFI in mente, avrà un blocco compatibile MBR nei primi settori del disco rigido. Allo stesso modo, se è necessario avvio a doppio avvio o semplicemente utilizzare il bootloader del secondo stadio per altri motivi, sei libero di utilizzare Grub o qualsiasi altro bootloader adatto al caso d'uso.
Conclusione
UEFI doveva unificare la moderna piattaforma hardware in modo che i fornitori di sistemi operativi possano svilupparsi liberamente su di essi. Tuttavia, si è lentamente trasformato in un po 'di tecnologia controversa soprattutto se si sta cercando di eseguire il sistema operativo open source sopra di esso. Detto questo, ha il suo merito ed è meglio non ignorare la sua esistenza.
Durante il capovolgimento, Legacy Bios rimarrà anche per almeno qualche altro anno in futuro. La sua comprensione è altrettanto importante nel caso in cui sia necessario ricadere in modalità BIOS per risolvere un sistema. Spero che questo articolo ti abbia informato abbastanza bene su entrambe queste tecnologie in modo che la prossima volta che incontri un nuovo sistema in natura puoi seguire le istruzioni di manuali oscuri e sentirti a casa.