Istruttore:
In questa lezione parleremo
delle opzioni di avvio impostate nel BIOS o nell'UEFI.
Il BIOS, o sistema di input/output di base, è il programma
che il microprocessore di un personal computer
utilizza per avviare il sistema dopo l'accensione.
Il BIOS gestisce anche il flusso di dati tra il sistema
operativo del computer e le periferiche
collegate, come i dispositivi di archiviazione come
un disco rigido o un'unità a stato solido, un adattatore
video, la tastiera e la stampante.
Questo è l'esempio più comune di firmware o
software su chip ed è il primo
software che viene eseguito dal computer ogni
volta che si accende la macchina.
Il BIOS svolge diverse funzioni, tra cui
l'esecuzione dell'autotest all'accensione, che
verifica e inizializza il processore, la scheda video,
le unità disco e gli adattatori, nonché la configurazione
dell'hardware del sistema e l'impostazione
dell'ordine di avvio corretto da eseguire
alla prima accensione del sistema.
Il BIOS è memorizzato nella ROM e la ROM è una memoria di sola lettura.
Si tratta di un tipo
di chip incorporato nella scheda madre, che
può essere aggiornato mediante un processo noto come flashing.
Il BIOS è anche un programma all'interno di questo chip
che consente all'utente di
apportare modifiche alle impostazioni,
che verranno salvate in un file
noto come CMOS.
Il CMOS è un semiconduttore complementare a ossido di metallo ed è un
chip di memoria alimentato a batteria.
Si tratta di un tipo di memoria non volatile
che memorizza le impostazioni del
BIOS ed è integrata nella scheda madre.
Finché la batteria rimane alimentata,
la corrente continua viene fornita alla CMOS
e ciò consente di conservare le impostazioni
della scheda madre e del BIOS.
Se il computer perde costantemente le impostazioni
o dimentica la data e l'ora, di solito
è un'indicazione che la batteria
deve essere sostituita.
Questa batteria dura normalmente circa tre anni.
Ma nei CMOS più recenti, questi
possono utilizzare una batteria interna agli ioni
di litio che può durare fino a 10 anni.
La batteria esterna più
tipica da utilizzare con questi
CMOS è la CR2032, che ha l'aspetto di una
batteria da orologio.
Se la batteria si guasta, la prima cosa che
l'utente noterà è che l'orologio
di sistema dimenticherà
spesso la data e l'ora.
Quindi, se vi ritrovate a cambiare spesso la data
e l'ora, è probabile che la batteria si stia scaricando.
Quando si preme il pulsante di accensione
del computer, la prima cosa che accade
è l'avvio del processo di avvio
e il primo passo è l'autotest di accensione,
noto come POST.
L'autotest all'accensione è una sequenza di test diagnostici
che il sistema di input/output di base del computer
o il programma di avvio eseguono
per determinare se la tastiera, la RAM, le unità disco,
i dispositivi di archiviazione e altro hardware del computer funzionano
correttamente.
Se l'hardware necessario viene rilevato
e funziona correttamente, il computer
può iniziare ad avviarsi.
Se l'hardware non viene rilevato
o non funziona correttamente, il BIOS emette un
messaggio di errore, che potrebbe
essere un messaggio di testo sullo schermo.
Oppure, se lo schermo ha un problema, potrebbe
essere una serie di segnali acustici codificati,
a seconda della natura del problema specifico.
Poiché il POST viene
eseguito prima dell'attivazione della scheda video del computer,
potrebbe non essere possibile visualizzare tutto sullo schermo.
Pertanto, utilizzeremo questi segnali acustici variabili
come un modo per dire cosa c'è di sbagliato nel sistema.
Questi segnali acustici possono essere
brevi e lunghi o un misto di segnali acustici brevi
e lunghi, a seconda del tipo di BIOS installato
dalla scheda madre.
Lo schema esatto dei segnali acustici conterrà messaggi
sulla natura del problema riscontrato.
Ad esempio, se la tastiera non viene rilevata, un particolare
schema di segnali acustici potrebbe informare l'utente
inviando due segnali acustici brevi e uno lungo,
qualcosa come bip, bip, boop.
Ora il POST può avere anche errori fatali.
In questo caso, il
programma corrente si interrompe e il
processo di avvio si arresta.
Questo è importante da capire
perché l'hardware che viene controllato da questo test
POST è tutto l'hardware essenziale,
come la memoria, la tastiera, i dispositivi
di input/output e il processore.
Quindi, se c'è un errore in uno di questi elementi, il
processo di avvio si interrompe perché non può caricare
un sistema operativo completo
con un hardware difettoso.
Una volta eseguito il POST, il BIOS leggerà
le impostazioni
dalla CMOS e cercherà un sistema
operativo tra i dispositivi di
avvio configurati.
Il BIOS possiede anche una sorta di sistema operativo di basso
livello per il computer, che
gli consente di ricevere input
e fornire output ai componenti più elementari,
tra cui la tastiera, le unità disco
e lo schermo video.
Utilizzando la sua capacità di lettura di basso livello del dispositivo
di archiviazione, il BIOS cercherà
di trovare il sistema operativo installato,
come Windows, Linux o Mac OS.
Quindi, il bootloader del sistema
operativo inizia il processo di avvio del sistema operativo
e consegna il controllo del computer
al sistema operativo.
Come ho detto prima, il BIOS memorizza anche le impostazioni e le
configurazioni nel CMOS, ma probabilmente vi
starete chiedendo: come si fa a cambiare
queste impostazioni?
Per configurare queste impostazioni all'interno della CMOS, è
necessario accedere all'ambiente di configurazione del BIOS.
A tal fine, è necessario premere un tasto o
una combinazione di tasti validi durante il processo
di avvio, impostati
dal produttore del BIOS.
I tasti più comunemente usati per questo scopo sono
F2 o Canc, ma questo varia a seconda
del BIOS e della scheda madre
in uso e ho visto usare altri tasti come il
tasto Escape, F1, F10 e F12.
Di solito, quando si accende il sistema per la prima
volta, sullo schermo appare un messaggio
che indica la sequenza di tasti necessaria per modificare
le impostazioni di configurazione.
Se non viene visualizzato, è sufficiente
fare una rapida ricerca online sul sito
web del produttore per sapere quale
sequenza di tasti viene utilizzata dal sistema
in questione.
Tradizionalmente esisteva un solo tipo di BIOS che si basava
completamente su un sistema di menu basato sul testo
e su una tastiera come sistema di input.
Il BIOS tradizionale consentiva all'utente di
visualizzare le informazioni su memoria, CPU, unità
ottiche e dispositivi di archiviazione.
Sebbene non fossero molto accattivanti dal
punto di vista grafico, questi
sistemi basati sul testo fornivano tutte le funzionalità
necessarie per configurare il dispositivo, l'ordine di
avvio, la velocità di clock, la data, l'ora, l'abilitazione
o meno del supporto alla virtualizzazione, le funzioni
di sicurezza e molte altre cose del genere.
Oggi, però, i sistemi moderni
hanno iniziato ad abbandonare il BIOS tradizionale
per utilizzare un sistema noto come UEFI.
Ora, l'UEFI o UEFI, come ci piace chiamarlo, è l'Unified Extensible Firmware
Interface (interfaccia firmware estensibile unificata)
ed è fondamentalmente una forma aggiornata di BIOS che consente
di utilizzare sia la tastiera che il mouse come input, oltre a fornire
un'interfaccia utente grafica al posto del menu
standard basato sul testo.
Questi sistemi tendono a essere più intuitivi perché dispongono
di un'interfaccia utente grafica anziché
di un sistema di menu testuali e forniscono
comunque tutte le funzionalità necessarie per configurare
i dispositivi, l'ordine di avvio, le velocità di
clock, la data e l'ora, le opzioni di supporto
alla virtualizzazione, le funzioni di sicurezza e molte
altre cose, tra cui le tariffe.
Ora, alcuni di questi sistemi basati
su UEFI includono anche un software
che consente di andare online,
giocare ad alcuni giochi
di base e persino utilizzare
programmi di backup senza dover mai entrare in un normale
sistema operativo come Windows, Linux o Mac OS, e questo
li rende molto potenti.
L'UEFI presenta diversi vantaggi rispetto al BIOS tradizionale.
In primo luogo, il BIOS tradizionale
funziona solo come sistema a 32
bit, mentre UEFI può supportare sistemi a 64 bit.
In secondo luogo, UEFI può supportare dischi rigidi e dispositivi
a stato solido più grandi.
Il BIOS tradizionale può supportare solo dispositivi di archiviazione
fino a 2 unità. 2 terabyte, ma l'UEFI
è in grado di supportare
unità fino a 9. 4 zettabyte di dimensione.
Sono 9. 4 volte 10 al 21° byte.
Si tratterebbe di un'unità estremamente grande.
E al momento, nessuna di queste esiste davvero.
Ma per questo motivo,
UEFI ci offre molte capacità per il futuro.
Il terzo aspetto è che il BIOS tradizionale supporta
solo l'uso di un master boot record, noto come
MBR, che è la tabella di partizione
del dispositivo di archiviazione che indica come
vengono archiviate le cose sul disco
rigido o sul dispositivo a stato solido.
Ma l'UEFI è in grado di supportare il più
recente formato di tabella di partizione
GUID o GUID, noto come GPT.
Ora questo nuovo formato GPT supporta dischi rigidi e dispositivi di archiviazione
di dimensioni maggiori, come richiesto per qualsiasi dispositivo
di dimensioni superiori a 2. 2 terabyte di dimensione.
In quarto luogo, l'UEFI tende a essere più veloce di un BIOS tradizionale
in termini di avvio del sistema.
Si tratta quindi di un ulteriore vantaggio per noi.
E quinto, l'UEFI di solito utilizza una ROM di dimensioni maggiori rispetto
a un BIOS tradizionale.
In questo modo è in grado di supportare programmi più complicati,
tra cui lo strumento di configurazione basato su
GUI di cui abbiamo parlato in precedenza,
incluso nella maggior parte dei sistemi basati su UEFI, che fornisce
strumenti diagnostici e comandi migliori da utilizzare per la
risoluzione dei problemi.
Ora, indipendentemente dal fatto che si
utilizzi un BIOS tradizionale o un sistema più recente basato su UEFI,
si utilizzerà questo strumento di configurazione
per impostare l'ordine di avvio e i parametri del sistema.
In questo modo è possibile
determinare quali dispositivi
verranno letti quando si cerca di trovare
il sistema operativo, come Windows, Linux
o Mac OS, da caricare.
Può trattarsi di un dispositivo di archiviazione
fisso, come un disco rigido o un dispositivo a stato solido.
Ma si può anche memorizzare su un'unità ottica
come un CD, un DVD o un Blu-ray, o su un'unità
USB come una chiavetta o un'unità flash, oppure si può usare
un adattatore di rete per raggiungere
un server usando l'ambiente di pre-esecuzione noto come
PXE come opzione di avvio desiderata.
Tutte queste scelte sono valide
e dipendono dal caso d'uso.
Si tratta quindi di un aspetto importante
da configurare all'interno del BIOS o dell'UEFI
per scegliere l'elenco di priorità o l'ordine
di avvio che si desidera utilizzare.
Ad esempio, supponiamo che la configurazione
preveda prima l'unità ottica, poi
il disco rigido, quindi l'USB e infine
la rete.
Ciò significa che quando si accende il computer,
il sistema cerca prima di tutto l'unità ottica per vedere
se è in grado di trovare un sistema operativo avviabile.
Se lo fa, lo caricherà.
Ma se non lo fa, passerà alla
seconda priorità, che
abbiamo elencato come il disco rigido.
Ora, quando esamina il disco rigido, potrebbe
trovare che Windows è installato.
Quindi caricherà Windows e passerà il
controllo del sistema al
sistema operativo Windows
e non andrà oltre nell'elenco di avvio.
Ma questo particolare ordine può essere pericoloso per voi, perché
ci sono molti sistemi operativi che possono
essere eseguiti da un'unità ottica o da una chiavetta USB,
come alcune versioni di Linux.
Quindi, come aggressore, se riesco
a inserire il mio DVD di Kali Linux nell'unità ottica e ad accendere il computer,
ora posso utilizzare il vostro hardware
ed essere in grado di bypassare tutte
le vostre password perché ora sto caricando
Kali Linux invece di Windows, e quindi non ho più bisogno di entrare
nel vostro account Windows per utilizzare
il vostro sistema.
A questo punto, dall'interno di Kali Linux,
posso montare il disco rigido
per leggere i file e cose del genere.
Ma ancora una volta, dovrei avere accesso
fisico al vostro sistema per inserire il DVD nell'unità.
Per questo motivo, nella maggior parte degli ambienti aziendali,
è consigliabile disabilitare l'avvio da un'unità
ottica o da un'unità USB per evitare che gli aggressori si impadroniscano
dei sistemi in questo modo.
Si deve invece configurare il sistema in modo che
si avvii dal disco rigido installato utilizzando
il sistema operativo installato.
Oppure, se si utilizza un thin client,
si può scegliere di avviare il sistema operativo
in rete utilizzando PXE come opzione principale
e non selezionare affatto le unità ottiche o le unità USB nell'elenco
delle priorità.
L'ultima cosa da discutere
con il BIOS e l'UEFI è come aggiornarlo,
perché dopo tutto si tratta di software, anche
se di software su chip o firmware.
Per aggiornare il BIOS o l'UEFI, è necessario
utilizzare un processo noto come flashing.
Il flashing viene eseguito ogni volta che è necessario
apportare aggiornamenti, correzioni di sicurezza
o miglioramenti alle funzionalità del BIOS o del codice UEFI.
Controllare sempre il sito web del produttore
per conoscere l'ultima versione del
firmware e la procedura specifica
per il flashing del BIOS o dell'UEFI.
In passato, i nostri
sistemi non avevano la possibilità
di flashare il BIOS.
E invece abbiamo dovuto sostituire
l'intero chip del BIOS sulla scheda madre.
Ma fortunatamente tutte le schede madri moderne
supportano il flashing, quindi
possiamo semplicemente sovrascrivere il BIOS o l'UEFI
utilizzando questa procedura specializzata.
Prima di flashare il BIOS o l'UEFI, è sempre consigliabile
eseguire un backup della configurazione
e delle informazioni, nel caso
in cui qualcosa vada storto.
Nella maggior parte dei
sistemi, è necessaria una chiavetta USB per eseguire
il flash del firmware.
Si caricherà quindi un file nella
radice della chiavetta USB, si collegherà
la chiavetta alla porta
USB specificata sulla scheda madre e si riavvierà
il sistema premendo una serie
di tasti specifici o premendo un pulsante specifico sul retro della scheda
madre.
Quindi, il BIOS o l'UEFI prenderanno il controllo, copieranno
il firmware nel sistema e sovrascriveranno
il vecchio codice con quello
appena aggiornato.