- Come tutti sappiamo che il BIOS è una parte importante per l'accesso all'opzione di avvio. Quindi ora lo farà l'UEFI? Come?
BIOS si avvia leggendo il primo settore su un disco rigido ed eseguendolo; questo settore di avvio a sua volta individua ed esegue codice aggiuntivo. Il sistema BIOS è molto limitante a causa dei limiti di spazio e del fatto che il BIOS esegue codice a 16 bit, mentre i computer moderni utilizzano CPU a 32 o 64 bit. Al contrario, EFI (o UEFI, che è solo EFI 2.x) si avvia caricando i file di programma EFI (con estensione .efi
del nome del file) da una partizione sul disco rigido, nota come EFI System Partition (ESP). Questi programmi boot loader EFI possono trarre vantaggio dai servizi di avvio EFI per cose come la lettura dei file dal disco rigido.
In pratica, se si usa un sistema operativo come Linux che ha complessi boot loader in modalità BIOS, l'avvio in modalità EFI è probabilmente simile all'avvio in modalità BIOS, dato che GRUB 2 (il più popolare boot loader in modalità BIOS per Linux) è stato portato a funzionare sotto EFI, e molte distribuzioni Linux installano GRUB 2 di default sui sistemi EFI. OTOH, è possibile sostituire o integrare GRUB 2 con altri boot loader EFI. Infatti, il kernel Linux stesso può essere un boot loader EFI; è stato aggiunto del codice per fare questo con il kernel 3.3.0. Usato in questo modo, EFI stesso carica ed esegue il kernel Linux, oppure si può usare un boot manager di terze parti come rEFInd o gummiboot per permettere di selezionare quale sistema operativo o kernel avviare.
- Come faccio a sapere che mi sto avviando con UEFI e non con il BIOS?
Come dice Root, ci sono degli indizi nell'interfaccia utente del firmware; tuttavia, questi sono inaffidabili e variano da un computer all'altro. L'unico modo per essere sicuri è controllare come il computer si è avviato. In Linux, per esempio, la presenza di una directory chiamata /sys/firmware/efi
è diagnostica. Se è presente, si è avviato in modalità EFI; se non è presente, si è probabilmente avviato in modalità BIOS. (Questa directory può essere assente su un avvio in modalità EFI in alcune circostanze, però.) L'output dmesg
che si riferisce a EFI è anche la diagnostica di un avvio in modalità EFI. In Windows, la tabella delle partizioni del disco boot è diagnostica; se è GPT, si è avviato in modalità EFI, e se è MBR, si è avviato in modalità BIOS.
- Allora qual è la vera differenza nel “boot con BIOS” e nel “boot con UEFI”?
EFI può essere più veloce, ma questo non è certo. La maggiore differenza di velocità è nell'inizializzazione dell'hardware nelle prime fasi del processo. Nei miei sistemi, questa è una frazione del tempo di avvio totale, quindi una riduzione del tempo di inizializzazione dell'hardware, anche se buona, non fa tutta questa differenza. Dopotutto, non è che mi riavvio ogni dieci minuti.
UEFI supporta una funzione chiamata Secure Boot che, come suggerisce il nome, ha lo scopo, come suggerisce il nome, di migliorare la sicurezza. Lo fa richiedendo una “firma” digitale dei boot loader, che a sua volta dovrebbe richiedere la firma dei kernel, e così via lungo la catena. Questo dovrebbe rendere più difficile per gli autori di malware inserire il loro codice nel processo di pre-avvio, migliorando così la sicurezza. Questo suona bene, ma complica anche le configurazioni dual-boot, dato che codice come GRUB e il kernel Linux devono essere firmati. I principali fornitori di distribuzione Linux stanno lavorando su come rendere questi requisiti meno gravosi per gli utenti Linux medi, e hanno preparato alcune cose preliminari. Al momento, però, disabilitare Secure Boot è il modo più semplice per affrontarlo. Questa è una preoccupazione pratica soprattutto per i computer nuovi di zecca che vengono forniti con Windows 8, dato che Microsoft richiede che Secure Boot sia abilitato per ottenere la certificazione di Windows 8. Alcuni confondono UEFI e Secure Boot (quest'ultimo è solo una delle caratteristiche del primo), ma merita di essere menzionato come una differenza tra BIOS e UEFI perché sta causando alcuni problemi ai nuovi computer Windows 8. Se avete un sistema più vecchio o siete abbastanza a vostro agio con le utility di configurazione del firmware per disabilitare Secure Boot, questo non deve essere un vero problema.
Microsoft lega il tipo di tabella delle partizioni del disco di avvio al tipo di firmware (MBR al BIOS; GPT all'UEFI). Poiché l'MBR raggiunge il massimo a 2TiB (assumendo dimensioni di settore standard), ciò significa che UEFI è una necessità pratica per avviare Windows su dischi over-2TiB. Si possono comunque usare dischi così grandi come dischi dati sotto Windows, però, e si possono avviare alcuni sistemi operativi non Microsoft (come Linux e FreeBSD) su dischi grandi usando GPT sotto BIOS.
Come questione pratica se siete preoccupati o interessati all'UEFI, il problema più grande è semplicemente che l'UEFI è abbastanza nuovo che il supporto per l'UEFI è abbastanza nuovo che è un po’ macchiato, in particolare in alcuni sistemi operativi più vecchi e più esotici. L'UEFI stesso è abbastanza nuovo che la maggior parte delle sue implementazioni sono buggy, e quelle che non variano abbastanza tra di loro che può essere difficile descrivere le cose in generale. Quindi, usare UEFI può essere una sfida. OTOH, UEFI è il futuro. Ha alcuni modesti vantaggi, alcuni dei quali diventeranno più importanti col tempo (come il limite del disco di avvio 2TiB di Windows). Il passaggio ad un avvio UEFI cambierà alcuni dettagli delprocesso di avvio, ma la vostra esperienza informatica complessiva non cambierà molto una volta superati i problemi di avvio che potreste incontrare.
EDIT:
Potreste espandere le impostazioni di OpRom (Opzione Rom). Sembrano permettere di scegliere tra l'avvio UEFI o l'avvio “Legacy” e si applicano alla scheda video, alla scheda di rete e a vari altri dispositivi PCI.
Molte schede plug-in forniscono un firmware che si interfaccia con il firmware della scheda madre. I due tipi di firmware devono essere in grado di “parlare” se il firmware della scheda deve servire a qualcosa. Questo è necessario per usare la scheda prima che un sistema operativo si avvii - per esempio, per visualizzare le opzioni del firmware o un menu di gestione dell'avvio su una scheda video, per eseguire un avvio di rete tramite una scheda di rete, o per avviare da un disco rigido collegato ad una scheda controller di dischi.
Come per i boot loader, il codice nel firmware di un dispositivo plug-in è scritto per interfacciarsi con il BIOS o con EFI (anche se le schede plug-in possono supportare entrambi, se non mi sbaglio). Alcuni EFI forniscono opzioni per abilitare o disabilitare questo supporto a grana fine, come avete osservato. In alcuni casi, un EFI può utilizzare il supporto in modalità BIOS di una scheda per abilitare il funzionamento in modalità EFI, “traducendo” le chiamate. (Questo è comune con le schede video, ad esempio; spesso è possibile collegare una vecchia scheda video con nient'altro che il supporto BIOS nel suo firmware e utilizzarla comunque per l'avvio in modalità EFI.)
Non so esattamente cosa faccia ciascuna delle impostazioni che si nota. Per esempio, non so se “solo BIOS” per una di queste opzioni farebbe funzionare la scheda solo in modalità BIOS, “tradurre” in modo che EFI possa usare le chiamate in modalità BIOS in modalità EFI, o qualcos'altro. In effetti, data la mancanza di standard in altre aree dell'interfaccia utente di EFI, mi aspetterei che i dettagli differiscano da un EFI all'altro, quindi potrebbe essere necessario consultare la documentazione o l'esperimento del computer se si desidera conoscere i dettagli. Ho visto alcuni computer con opzioni dal suono molto simile in due menu diversi, il che complica ulteriormente le cose.