Più difficile essere liberi con UEFI, anche grazie a Windows.

Senza che l’ignaro consumatore se ne sia accorto, nel corso degli ultimi anni è cambiato qualche cosa nella macchina che chiamiamo personal computer: il software installato in un chip della scheda madre, che si attiva all’accensione del computer per collegare la macchina al sistema operativo, non è più quello di un tempo.
Al BIOS (Basic Input Output System) è subentrato l’UEFI (Unified Extensible Firmware Interface).
L’idea del cambiamento risale all’inizio del secolo, esattamente al 2003, e il primo annuncio dell’idea è stato dato dalla Intel nell’Intel Developer Forum di San Josè il 24 febbraio di quell’anno. In una dozzina di anni, con estrema gradualità, il cambiamento si è generalizzato ed oggi tutti i personal computer in vendita a 64 bit, a meno che si tratti di vecchi fondi di magazzino, sono equipaggiati UEFI.
La differenza tra i due sistemi sta innanzi tutto nel miglioramento della grafica del software: il BIOS era molto spartano e antiquato mentre UEFI ha una interfaccia grafica moderna, del tipo di quelle cui siamo ormai abituati.
L’accesso al sistema, fatte salve le complicazioni introdotte da Microsoft che vedremo poi, avviene sempre utilizzando, al momento dell’accensione del computer, i tasti F10 (per modelli HP/Compaq), F2 (per modelli Acer, Toshiba, Dell e alcuni modelli Asus), CANC/DEL (per modelli MSI e alcuni modelli Asus), comunque come indicato nei manuali che accompagnano le varie macchine.
Praticamente nello stesso modo con cui lo si faceva con il BIOS si può agire affinché il PC si avvii prioritariamente da disco o chiavetta USB (cosa che sul Mac si può fare senza intervenire sul software ma semplicemente tenendo premuto il tasto C all’avvio del computer).
La grande innovazione di sostanza sta nella diversa organizzazione del settore di boot del sistema operativo.
Nel vecchio sistema BIOS la tabella delle partizioni dell’hard disk e il boot loader per l’avvio del sistema operativo erano alloggiati nel MBR (Master Boot Record), una piccola zona che occupava i primi 512 byte dell’hard disk. Il disco basato su MBR non poteva superare la dimensione di 2 Terabyte e non poteva ospitare più di quattro partizioni primarie.
Nel nuovo sistema UEFI saltano tutte queste limitazioni: sono i vari sistemi operativi che qua e là eventualmente ne pongono (per esempio, il numero delle partizioni primarie ammesse in genere è attorno alle 128, Windows accetta la dimensione del disco, che teoricamente potrebbe arrivare a oltre 9 Zettabyte, cioè 9 miliardi di Terabyte, fino a 256 Terabyte). Tabella delle partizioni e boot loader dei sistemi operativi stanno nella GPT (GUID Partition Table), una zona del disco chiamata “efi system partition” o qualche cosa di simile, a seconda di macchine e sistemi.
I kernel Linux sono da sempre compatibili con lo standard UEFI.
Mac è compatibile con lo standard UEFI da quando ha adottato il processore Intel nel 2005.
Windows ha cominciato a supportare lo standard UEFI nel 2009 con la versione a 64 bit di Windows 7.
Fino al settembre 2012 tutti d’amore e d’accordo nel graduale passaggio al nuovo standard, in parallelo all’uscita delle macchine attrezzate con UEFI (concretamente iniziata all’inizio del 2011), nel senso che, a seconda del tipo di macchina, il sistema operativo che vi si installava, purché a 64 bit, vi si adattava senza che nessuno se ne accorgesse.
Con il rilascio di Windows 8, appunto nel settembre 2012, Microsoft, approfittando di una funzione chiamata “secure boot”, resa disponibile da UEFI e in forza della quale è possibile inibire il funzionamento di sistemi operativi non accreditati dal costruttore, pretese che tutti i computer con precaricato Windows 8 avessero attivata la funzione “secure boot” in favore del sistema Windows. Senza dubbio il provvedimento, almeno si spera, fu ispirato da validi motivi di sicurezza: sta di fatto che il mancato coinvolgimento preventivo di altri onesti produttori di sistemi operativi ha creato momenti di panico e il giusto, pesante intervento della Free Software Foundation. Tutte le distro Linux in circolazione passarono infatti bruscamente per software non accreditato e tutte le live dimostrative con le quali si provavano i vari sistemi operativi del mondo Linux per decidere se installare o meno il sistema stesso smisero di funzionare sui computer con precaricato Windows 8, cioè tutti quelli che si acquistavano nei soliti negozi.
Su Internet troviamo numerose tracce delle diatribe che ne seguirono e si può immaginare ciò che si disse della Microsoft e della sua mossa da elefante in cristalleria. Soprattutto troviamo in rete tanti suggerimenti su come fare a superare il problema, suggerimenti che si sono stratificati nel tempo e non sempre tengono conto della realtà che nel frattempo si è creata. Per cui, letti oggi, sono obsoleti.
Ad oggi, marzo 2017, la situazione è la seguente.
Microsoft, nel frattempo passata a Windows 10, mantiene l’imposizione ai fabbricanti di computer che preinstallano il suo sistema operativo di attivare il “secure boot”. In più mantiene per default la modalità di avvio rapido (si chiamava “Fast Boot” in Windows 8, si chiama “Fast Startup” in Windows 10), in forza della quale, come si accende il computer, qualunque tasto si utilizzi per cercare di entrare in UEFI, non si riesce nell’intento e si avvia, invece, il sistema operativo Windows. Come dire, al malcapitato non esperto che ha comperato un qualsiasi computer in un negozio, “non avrai altro sistema operativo al di fuori di me”.
Se il malcapitato diventa un po’ esperto scopre che all’interno di Windows c’è un modo per disattivare la funzione “Fast Startup”, così come c’è modo di entrare in UEFI per eventualmente disattivare anche il “secure boot”: entrata in UEFI che diventa comunque fattibile, una volta disattivata la funzione “Fast Startup”, premendo i necessari tasti all’avvio del computer.
A questo punto, con disattivate entrambe le funzioni, il malcapitato recupera finalmente la libertà di  mettere il sistema operativo che più gli aggrada su un computer che, tra l’altro, ha pagato di più in quanto arricchito – anzi, direi, infestato – da Windows precaricato.
Fortunatamente, almeno ricorrendo a vendite on-line (Amazon, sito HP, catena LinuxSi, Kelkoo, ecc.), è diventato ormai possibile acquistare una grande varietà di computer con preinstallato il sistema Linux o senza alcun sistema operativo, in modo da potervi installare ciò che si vuole senza avere tra i piedi Windows con i problemi che si porta appresso e risparmiando mediamente un centinaio di euro.
Nel frattempo, comunque, i seguenti sistemi Linux a 64 bit si sono accreditati e funzionano anche con attivata la funzione “secure boot” di UEFI:
Ubuntu e derivate dalla versione 12.10
Linux Mint dalla versione 15
Fedora dalla versione 18
openSuse dalla versione 12.3
Dal momento, infine, che UEFI è nato in un clima di libertà, rammento che, una volta si riesca ad entrarci dentro eludendo le trappole escogitate da Microsoft, esso, oltre ad offrirci la possibilità di attivare o disattivare la funzione “secure boot”, ci consente di attivare la funzione “Legacy Boot”: con questa si disabilitano tutte le funzionalità proprie di UEFI e si ripristina qualche cosa di simile alla vecchia modalità BIOS, in modo da permettere il corretto avvio di tutti i sistemi operativi che non supportano UEFI (versioni di Linux precedenti quelle sopra indicate, Windows precedenti a Windows 8, sistemi che ancora non supportano UEFI, ecc.).
Per quanto riguarda i supporti esterni autoavviabili non si dovrebbero avere problemi con i DVD con masterizzata l’immagine ISO, sia in versione destinata all’installazione sia in versione live.
Parlando invece di pennette USB, in generale vale la regola che supporti autoavviabili generati con computer UEFI e con software aggiornato sono utilizzabili, e lo sono solo in ambiente UEFI. Se lavoriamo su un computer con il BIOS possiamo avere qualche problema: per esempio, se creiamo una chiavetta con Unetbootin su un vecchio computer partendo da una immagine ISO di un qualsiasi sistema Linux appena rilasciato, con ogni probabilità ci ritroveremo una chiavetta formattata UEFI che non funzionerà sul nostro vecchio computer BIOS. Per renderla funzionante anche su BIOS ci dobbiamo sorbire la non banale operazione di installazione di GRUB nel Master Boot Record della chiavetta utilizzando le opzioni avanzate del software Boot Repair Disk a 64 bit, di cui ho parlato nell’allegato PDF, intitolato “backup_e_non_solo”, al mio articolo dell’ottobre 2016 “Software libero per aver cura del computer”.
Nel frattempo il mondo del software libero ha fatto omaggio agli utenti Windows di un programmino, chiamato Rufus (l’ultima versione, 2.12, è scaricabile da http://filehippo.com/it/download_rufus/), con il quale è possibile creare, da Windows, chiavette usb avviabili sia con il vecchio BIOS sia con il nuovo UEFI e con installata l’immagine live di un sistema Linux, in modo da provarlo e, volendo, installarlo più o meno a fianco di Windows.
In qualche modo bisogna riconquistarsi la libertà.