Lo standard UEFI (in inglese Unified Extensible Firmware Interface , che significa in francese : "Unified Extensible Firmware Interface") definisce un'interfaccia tra firmware ( firmware ) e sistema operativo (OS) di un computer . Questa interfaccia prende il posto del BIOS su alcune schede madri .
UEFI fa seguito a EFI ( Extensible Firmware Interface ), progettato da Intel per processori Itanium .
AMD , American Megatrends , Apple , Dell , HP , Intel , IBM , Insyde Software, Microsoft e Phoenix Technologies sono i promotori del Forum UEFI che definisce gli standard per questa tecnologia.
Il Forum UEFI lavora sulle specifiche UEFI dal 2005 e all'inizio del 2006 ha pubblicato le prime specifiche UEFI 2.0 ufficiali . UEFI non è quindi uno standard , ma uno standard tecnico derivante dal consenso di un gruppo di industriali.
UEFI offre molti vantaggi al BIOS: funzionalità di rete standard, buona risoluzione della GUI, gestione integrata di più installazioni di sistemi operativi e limita i dischi di affrancatura a 2,2 TB .
Il BIOS, scritto in linguaggio assembly , modifiche limitate e / o sostituzioni, una garanzia di sicurezza e protezione operativa.
UEFI è scritto in C , il che rende la sua manutenzione più flessibile e rimane accettabile a causa della diminuzione dei costi di memoria. Sviluppato per garantire l'indipendenza tra il sistema operativo e la piattaforma hardware su cui gira, UEFI è disponibile su piattaforme Itanium (IA-64), x86 ( 32 e 64 bit ) e ARM .
Una delle funzioni di UEFI è l' avvio di un sistema operativo, precedentemente fornito dal BIOS.
Le specifiche UEFI definiscono un boot manager il cui ruolo è memorizzare i driver e il caricatore del sistema operativo necessari per l'avvio. Questo caricatore è una classe di applicazioni UEFI archiviate come file su un file system accessibile dal firmware. I file system supportati includono FAT32, FAT16 e FAT12 (ma non exFAT o NTFS). Le tabelle delle partizioni supportate includono i formati MBR e GPT . A differenza del BIOS, UEFI non richiede che il settore di avvio si trovi in una posizione particolare.
Molte schede madri si basano ancora su firmware ibrido basato sul pacchetto CSM ( Compatiblity Support Module ) , rendendo le vecchie interruzioni del BIOS utilizzabili per determinati servizi.
La terminologia UEFI ufficiale classifica sei stati distinti nei processi di avvio del sistema operativo:
Oltre al classico partizionamento tramite MBR (limitato a 2,2 TB ), UEFI gestisce per i dischi, un nuovo sistema di partizionamento chiamato GPT ( tabella delle partizioni identificatore univoco globale ). GPT consente 128 partizioni primarie su supporti con capacità fino a 9,4BB (zettabyte, miliardi di terabyte). UEFI consente quindi l'avvio da dischi di 2,2 TB e superiori.
Con la gestione del disco di basso livello, la clonazione del disco è possibile senza passare attraverso il sistema operativo , rendendo molto più semplice la copia di dischi che ospitano più sistemi operativi.
UEFI fornisce un ambiente shell simile a quello che si trova in una shell Unix . Può essere utilizzato per avviare altre applicazioni UEFI, inclusi i boot loader UEFI . È possibile ottenere un'ampia varietà di informazioni sul sistema e sul firmware , modificare variabili o modificare file di testo, nonché scrivere o eseguire file di script con l'estensione .nsh.
I metodi per avviare UEFI Shell dipendono dal produttore e dal modello della scheda madre. Molto spesso c'è un'opzione nel firmware per avviarlo direttamente. Per le versioni compilate per x86-64, è necessario un file <EFI_SYSTEM_PARTITION>/SHELLX64.EFI. È necessario utilizzare il comando bcfgper modificare la shell associata.
La maggior parte dei comandi non fa distinzione tra maiuscole e minuscole, ma non sempre percorsi e nomi dei file, a seconda del tipo di file system utilizzato. L'utilizzo del comando help -bconsente di visualizzare la guida pagina per pagina. L'opzione -bsi trova nella maggior parte dei comandi per avere una visualizzazione pagina per pagina. Il carattere >può essere utilizzato per reindirizzare il flusso di output del comando a un file di testo. Ad esempio, il comando help > aide.txtscrive la guida nel file aide.txt.
Il codice sorgente UEFI Shell può essere scaricato dalla pagina del progetto TianoCore.
Dalla versione 2.3.1, UEFI ha incluso una funzionalità che consente l'avvio solo su sistemi operativi riconosciuti. Questa funzionalità ha lo scopo di vietare l'avvio di un sistema operativo danneggiato in particolare da un virus o un rootkit . Quando è stata rilasciata, questa funzione causava problemi con alcune distribuzioni Linux che non erano compatibili.
In modalità " avvio sicuro " , UEFI utilizza un meccanismo di verifica della firma digitale . Il firmware proibisce qualsiasi caricamento di un driver o kernel la cui firma non corrisponde a quella scritta nella ROM.
Avvio sicuro e software gratuitoNel mondo del software libero , la EFF e Linus Torvalds hanno denunciato come anormale questa caratteristica "che ostacola l'installazione e l'uso di qualsiasi sistema operativo in competizione con Windows ", Torvalds ha criticato i compromessi accettati da Red Hat e Canonical per poter installare Linux su macchine dove viene attivato l' avvio protetto (acquisto di una chiave di sicurezza).
Entro la metà del 2012, non tutte le distribuzioni avevano adottato la firma del sistema operativo , alcune delle quali non potevano adottarla a causa del loro stato.
Dall'inizio del 2013, ci sono stati due bootloader firmati da Microsoft, e quindi riconosciuti dai PC certificati Windows 8 : Shim e Linux Foundation Secure Boot System .
Distribuzione | Posizione di avvio sicura |
---|---|
Ubuntu | Supportato dalle versioni 12.10 e 12.04.2 LTS |
Fedora | Supportato dalla versione 18 |
openSUSE | Supportato dalla versione 12.3 |
RHEL | Supportato dalla versione 7 |
Debian | Supportato dalla versione 10 |
OpenBSD | A causa della mancanza di collaborazione con Microsoft, questa funzione non è supportata. |
Windows 8 di Microsoft supporta opzionalmente l' avvio sicuro grazie a una firma digitale inviata ai produttori di schede madri.
Secondo il programma di certificazione di Windows , i dispositivi non ARM devono offrire obbligatoriamente due modalità di avvio sicuro , "Standard" e "Personalizzato" in cui l'utente non solo può aggiungere o eliminare firme aggiuntive ma anche disattivare l' avvio sicuro (è richiesta la presenza fisica dell'utente ).
Al contrario, sui dispositivi ARM , Microsoft vieta la disattivazione dell'avvio sicuro ai produttori.
Caso di UbuntuIl forum di Ubuntu presenta due modi per avviare questa distribuzione:
La prima soluzione può, in linea di principio, funzionare perché bypassa l'UEFI con un'altra distribuzione Linux, installata su un SSD collegato ad esempio da USB3, eSATA o USB2. Questa disposizione che consente l'accesso non autorizzato (possibilmente dannoso) richiederà un accesso fisico monitorato o bloccato o una crittografia delle informazioni del disco con, ad esempio, TrueCrypt o equivalente, accompagnato da backup rigorosi.
Non tutti i sistemi operativi supportano l'avvio sicuro .
Se l'utente non disattiva l' avvio protetto in UEFI, ciò può impedire l'uso di alcuni sistemi operativi gratuiti o alternativi.
Nel mondo del software libero , diverse voci si sono levate per denunciare il fatto che la firma sarebbe stata emanata principalmente, o anche esclusivamente, da Microsoft , e non da altri editori di software .
John sullivanJohn Sullivan ( Direttore Esecutivo FSF ) non credeva che il motivo principale per " avvio sicuro ", che chiama piuttosto avvio esclusivo, fosse la sicurezza, ma per rendere più difficile l'installazione di sistemi operativi concorrenti (non firmati o con una firma accettata dal produttore dell'attrezzatura) e ha creato una polemica.
Microsoft e Intel hanno affermato che sia gli utenti che i produttori possono disattivare questa funzione sui computer alimentati da UEFI che lo consentiranno.
Linus TorvaldsLinus Torvalds , d'altra parte, inizialmente disse che il solo acquisto di un certificato digitale da $ 99 per coprire un'intera distribuzione non gli sembrava un "affare enorme".