Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows Phone
  • Quando si utilizza l'interfaccia di sistema uefi sono supportati. Perché UEFI è migliore del BIOS? Il programma Microsoft è obsoleto

Quando si utilizza l'interfaccia di sistema uefi sono supportati. Perché UEFI è migliore del BIOS? Il programma Microsoft è obsoleto

1. Che cos'è UEFI?
UEFI (Unified Extensible Firmware Interface) è una sostituzione del BIOS che soddisfa meglio i requisiti dell'hardware diversificato di oggi. Fondamentalmente, UEFI è l'interfaccia responsabile dell'ambiente di pre-avvio del sistema operativo.

2. Quali sono i vantaggi di UEFI rispetto al BIOS?

  • Supporto multimediale> 2 TB
  • Preparazione più semplice del supporto di avvio, non è necessario scrivere diversi settori di avvio
  • Proprio gestore di download. Ora non è necessario avviare un salto di qualità multilivello di bootloader per organizzare un ambiente multiboot, tutti i record sui bootloader disponibili sono archiviati nella NVRAM EFI e il passaggio tra i sistemi operativi avviabili viene eseguito allo stesso modo tra quelli avviabili media.
  • Ambiente di avvio più sicuro
  • Modalità di configurazione grafica UEFI, con supporto per grafica e mouse

3. Posso aggiornare il mio BIOS a UEFI?
Non proprio. UEFI non può essere flashato al posto del BIOS poiché occupa molta più memoria. Ma esiste una cosa come DUET. Questo è un ambiente UEFI caricato dal BIOS tramite una partizione di avvio separata, che può essere utile se si utilizzano unità da 2 TB sul vecchio hardware del BIOS.

4. È possibile eseguire l'avvio da UEFI, come prima, tramite settori di avvio e dischi MBR?
Sì, se il supporto Legacy Boot è abilitato nella configurazione UEFI

5. Che cos'è il GPT?
GUID Partition Table, GPT è un formato standard per posizionare le tabelle delle partizioni su un disco rigido. Fa parte dell'interfaccia EFI. EFI utilizza GPT ovunque il BIOS utilizzi MBR.

6. Quali sono i vantaggi di GPT rispetto a MBR?

  • Supporto multimediale> 2,2 TB
  • Nessuna limitazione su 4 partizioni principali e, di conseguenza, nessuna necessità di partizioni logiche
  • Sicurezza avanzata: GPT archivia un backup della tabella delle partizioni alla fine del disco, quindi in caso di problemi è possibile ripristinare la partizione utilizzando una tabella di riserva.
  • Protezione contro la corruzione da programmi obsoleti con Protective MBR
  • È possibile utilizzare vecchi settori di avvio.

7. Dove sono archiviati gli analoghi dei settori di avvio in GPT?
EFI utilizza la cartella EFI / boot nella radice della partizione FAT32 per archiviare i boot loader. Per impostazione predefinita, dovrebbe essere caricato il file /EFI/boot/bootx64.efi
Se il disco di avvio è partizionato in stile MBR, allora la presenza del file system FAT32 sulla prima partizione (se ce ne sono più) e il file con il bootloader nel percorso predefinito sono le uniche condizioni per l'avvio da questo supporto ( sono supportati anche CD/DVD). Se il disco è partizionato in stile GPT, la partizione non deve essere la prima, ma deve avere il flag di avvio (è possibile verificarlo e impostarlo tramite gparted)

8. È possibile convertire un disco da MBR a GPT e viceversa senza perdita di dati?
Sì. Ciò richiederà un disco / stick avviabile con Gparted. Dopo l'avvio dal supporto di avvio, si aprirà una finestra gparted con il disco di memoria virtuale visualizzato nell'angolo in alto a destra (di solito /dev/sda). Devi ricordare il nome del disco che vuoi convertire, aprire un terminale e digitare sudo gdisk / dev / sda lì dove invece di sda, se necessario, devi sostituire il nome del tuo disco. Quindi è necessario inserire il comando w e confermare la scrittura della tabella GPT su disco. Ecco fatto, il disco viene convertito in una tabella GPT. Per riconvertire in MBR, devi aprire gdisk per il tuo disco allo stesso modo e digitare in sequenza il comando r, quindi g, quindi confermare l'inserimento della nuova tabella utilizzando il comando w.

9. Che cos'è la shell UEFI?
È un ambiente per lavorare con l'ambiente EFI (simile a un terminale), che consente di eseguire al volo caricatori di avvio compatibili con efi, eseguire semplici operazioni sui file e anche utilizzare il boot manager integrato.

10. Come posso modificare/eliminare/aggiungere elementi di avvio al menu di avvio UEFI?
Scarica la shell UEFI, copiala nel file /EFI/boot/bootx64.efi su un'unità flash FAT32 e avvia da essa. Dopo aver caricato correttamente la shell, dovrebbe apparire un prompt della riga di comando
Conchiglia>
Sopra il prompt, dovresti vedere un elenco di unità mappate disponibili (fs0:, fs1:, BLK0 e simili). Per richiamare questa lista, se necessario, usa il comando
mappa fs *
Alcune informazioni sull'unità possono essere ricavate dal nome completo dell'unità. Ad esempio:
PciRoot (0x0) / Pci (0x1,0x1) / Ata (0x0) / HD (1, MBR, 0x27212721,0x3F, 0x13FA6D9)
da qui
Ata (0x0) -interfaccia di connessione del disco e porta del controller
L'HD è un disco rigido
1-numero di partizioni sul disco
Schema di markup MBR

Dopo aver trovato il disco necessario in questo modo, devi andare su di esso
fs0:
quindi, usando i buoni vecchi comandi dos dir e cd, devi brancolare e andare nella directory con i file efi di avvio. Questo di solito è / EFI / boot /. Quindi, mentre ci si trova in questa directory, è possibile caricarla immediatamente inserendo il nome del file di caricamento. Per aggiungere il file richiesto all'elenco dei record di avvio, è consigliabile leggere prima i record esistenti utilizzando il comando
dump di avvio bcfg
Quindi, per aggiungere il file di avvio a questo elenco, devi inserire
bcfg boot aggiungi N nomefile.efi "etichetta"
Dove N è il numero ordinale del record (se c'era qualcosa al suo posto, questo elemento verrà sovrascritto)
nomefile.efi-nomefile con bootloader
nome-etichetta sotto il quale questa voce verrà visualizzata nell'elenco
È possibile visualizzare nuovamente l'elenco dei record di avvio tramite
dump di avvio bcfg
e assicurati che tutto sia a posto. Puoi riavviare e controllare.
Per rimuovere una voce dall'elenco, utilizzare il comando
bcfg boot rm N
dove N è il numero di registrazione

11. Che cos'è l'avvio protetto?
La specifica Secure Boot è stata sviluppata da Microsoft come parte del progetto UEFI e consente di proteggere l'ambiente di avvio dalla manomissione dei file di avvio controllando le firme dei file scaricati per verificarne la conformità con la whitelist di chiavi cablate in uefi come attendibili. Un "effetto collaterale" di tale protezione contro i rootkit è l'impossibilità di installare un OS diverso da Windows 8 (al momento supporta solo Secure Boot), ed esclude inoltre la possibilità di partire da vecchi dischi mbr e CD/flash drive avviabili.

12. Come si disabilita l'avvio protetto?


13. Come creare un'unità flash USB compatibile con UEFI con la distribuzione del sistema operativo?
Nella maggior parte dei casi, tutto è molto semplice:

  1. Formattare l'unità flash USB nel file system FAT32
  2. Copia l'intero contenuto dell'iso-immagine della distribuzione su di essa

Ma nel caso del sistema operativo Windows Vista/7, sarà necessario preparare in anticipo il kit di distribuzione, perché inizialmente non contengono i file EFI nelle posizioni corrette. Solo un piccolo disclaimer: Windows supporta il funzionamento con uefi solo nelle edizioni a 64 bit.

14. Come fai a sapere che l'unità flash USB avviabile è realizzata correttamente e si avvierà in modalità UEFI?
Se tutto è stato eseguito correttamente, nell'elenco dei supporti di avvio dovrebbero apparire due dispositivi con lo stesso nome, ma con prefissi diversi, UEFI: e USB:... Il primo viene avviato in modalità UEFI, il secondo è l'avvio legacy dal settore di avvio.

15. Che cos'è la modalità di avvio rapido?
Modalità di avvio rapido, in cui il controllo viene trasferito quasi immediatamente al sistema operativo, anche prima che l'apparecchiatura sia pronta per il funzionamento, la cui inizializzazione viene eseguita dal sistema operativo stesso. Fast Boot elimina i ritardi causati dalla doppia inizializzazione dei dispositivi. Nella modalità "classica", dopo aver acquisito il controllo, il sistema operativo reinizializza i dispositivi BIOS inizializzati in precedenza. Considerando che l'inizializzazione di alcuni tipi di dispositivi è un processo piuttosto lungo, il guadagno in velocità è evidente. Quando Fast Boot è attivato, il controllo viene trasferito al sistema prima che venga eseguita l'inizializzazione USB, il che porta all'inaccessibilità delle unità USB e della tastiera prima dell'inizio il sistema installato sul disco. Poiché Microsoft impone requisiti piuttosto rigidi per il tempo in cui il firmware deve soddisfare quando la modalità Fast Boot è abilitata e l'inizializzazione dei dispositivi USB può richiedere secondi, al momento dell'avvio del sistema, i dispositivi USB rimangono non inizializzati. In questo caso, viene visualizzato il rovescio della medaglia: un utente di computer con una tastiera USB non può interrompere il processo di avvio e avviare l'installazione di un altro sistema, poiché la tastiera rimane non operativa fino all'avvio del sistema operativo. Inoltre, anche l'inizializzazione del chip i8042 richiede tempo e su alcuni laptop i produttori di firmware lasciano non inizializzata la tastiera PS / 2 integrata.

Il personal computer, nonostante continui aggiornamenti, implementazioni "doppie" e altre innovazioni, infatti, è rimasto il componente più obsoleto dei computer moderni. Dai primissimi PC, nulla è cambiato radicalmente nel BIOS. Per molto tempo i produttori non l'hanno toccato seriamente, temendo che venisse violata la continuità delle funzioni di base necessarie al corretto funzionamento dei vecchi sistemi operativi.

Ma i vecchi sistemi appartengono al passato e quelli ancora in uso possono essere eseguiti con emulatori software. Pertanto, è diventato inutile combattere le vecchie abitudini del BIOS. In effetti, quando si avvia utilizzando il BIOS, non è nemmeno possibile visualizzare gli alfabeti nazionali, per non parlare del supporto per i dispositivi di rete, delle modalità operative ottimali per le apparecchiature, delle soluzioni di aggiornamento convenienti, ecc.

È meglio iniziare la storia su cosa sia UEFI con la storia dell'emergere di questa tecnologia.

La storia di UEFI inizia a metà degli anni '90. Anche allora, le capacità del BIOS standard non erano sufficienti per potenti piattaforme server. Pertanto, è stata sviluppata una nuova tecnologia per i primi sistemi Intel-HP Itanium, chiamata Intel Boot Initiative. Poco dopo, il nome è stato cambiato in EFI o Extensible Firmware Interface.

La prima specifica ufficiale è stata EFI 1.02, rilasciata il 12 dicembre 2000. All'inizio del 2002 è apparsa la specifica 1.10. E già nel 2005, è stata costituita un'alleanza di aziende chiamata Unified EFI Forum o UEFI Forum e la tecnologia stessa ha cambiato nome da EFI a UEFI. UEFI è attualmente sviluppato dall'UEFI Forum, che include aziende come AMD, Apple, Dell, HP, American Megatrends, IBM, Intel, Lenovo, Insyde Software, Microsoft e Phoenix Technologies. L'ultima specifica UEFI è la specifica 2.3.1, che è stata pubblicata dal Forum UEFI nell'aprile 2011.

Vantaggi UEFI

È ovvio che UEFI è un nuovo passo nello sviluppo dei personal computer. Ma quali sono i reali vantaggi dell'utilizzo di questa tecnologia al posto del buon vecchio BIOS?

  • UEFI consente di avviare il sistema operativo da dischi rigidi di grandi dimensioni. Utilizzando il BIOS, non è possibile caricare un sistema operativo più grande di 2 TB.
  • UEFI è indipendente dall'architettura del processore e può essere utilizzato sia con processori basati su architettura x86 che ARM. Mentre il BIOS supporta solo.
  • UEFI ti consente di utilizzare una shell grafica con supporto per il mouse, che è molto più conveniente dell'interfaccia ascetica del BIOS. Allo stesso tempo, la shell UEFI consente di eseguire molte attività senza utilizzare un sistema operativo. Ad esempio, connettiti a una rete locale e vai online.
  • UEFI ti consente di caricare il sistema operativo molto più velocemente. Grazie al test parallelo dei componenti del computer, il tempo che trascorre dal momento in cui il computer viene acceso al momento in cui il sistema operativo inizia a funzionare può essere ridotto a 2 secondi.
  • UEFI è dotato di un boot manager e consente all'utente di scegliere quale sistema operativo desidera avviare. Ciò elimina la necessità di utilizzare un meccanismo speciale per la selezione del sistema operativo all'interno del caricatore del sistema operativo stesso.
  • UEFI è dotato di nuovi modi per proteggersi dai malware.

Specifiche UEFI(Unified Extensible Firmware Interface), precedentemente nota come Extensible Firmware Interface (EFI), definisce l'interfaccia tra il sistema operativo e i microcodici che controllano l'hardware. In altre parole, UEFI è un'interfaccia che si trova "sopra" i componenti hardware del computer, che, a loro volta, operano sul proprio firmware (microcodice).

Nel nome stesso di UEFI, la definizione di "interfaccia estensibile" significa che si tratta di un sistema modulare che può essere funzionalmente facilmente ampliato e modernizzato.

Per una maggiore comprensione, UEFI rispetto al BIOS, questo è, grosso modo, un nuovo tipo o la prossima generazione di firmware e non è più limitato solo ai personal computer con architettura x86 (IBM PC), ma afferma anche di essere uno standard per tutte le piattaforme. Tuttavia, a differenza del BIOS, UEFI si basa su una topologia di codice fondamentalmente nuova chiamata "driver".

  • Lo scopo principale di EFI è sostituire la tecnologia BIOS obsoleta (obsoleta) e le limitazioni associate.
  • L'obiettivo principale della progettazione di UEFI è standardizzare il modo in cui il sistema operativo interagisce con il firmware della piattaforma durante il processo di avvio. Nel BIOS classico, gli interrupt software e le porte I/O erano il meccanismo principale per interagire con l'hardware in fase di avvio, ma i sistemi moderni sono in grado di fornire operazioni di I/O più efficienti tra hardware e software.
  • Il compito principale di EFI è inizializzare correttamente l'hardware e trasferire il controllo al caricatore del sistema operativo. A questo proposito, il compito non è molto diverso dal compito del BIOS tradizionale, ma gli algoritmi sono fondamentalmente diversi.

UEFI può essere tranquillamente definito un sistema operativo in miniatura a sé stante, che è l'interfaccia tra il sistema operativo dell'utente principale in esecuzione sul computer e il microcodice hardware.

Facciamo ora un breve viaggio nella storia dei personal computer per comprendere le ragioni che hanno portato ai tentativi di sostituire il BIOS standard con qualcosa di fondamentalmente nuovo.

Buon vecchio BIOS

I principi di base del funzionamento del BIOS (sistema di input-output di base) per i personal computer sono stati determinati alla fine degli anni '70 del secolo scorso. In un arco di tempo abbastanza lungo che è trascorso da allora, l'industria informatica si è sviluppata intensamente, questo ha portato al fatto che in alcune fasi il BIOS non era sufficiente, poiché i dispositivi rilasciati dai produttori avevano a bordo nuove tecnologie, spesso incompatibili con le versioni attuali del BIOS. Per evitare tali problemi, gli sviluppatori a volte hanno dovuto modificare in modo significativo il codice del BIOS, ma una serie di restrizioni è rimasta invariata fino ad oggi. E, se inizialmente l'architettura del BIOS era abbastanza semplice, poi nel tempo è diventata più complicata, adattandosi a sempre più nuove tecnologie, quindi, ad un certo punto, ha cominciato a somigliare a un mucchio di codici di vario genere obsoleti e poco interattivi . Le limitazioni che ancora oggi si possono riscontrare nel codice del BIOS sono dovute alla necessità di mantenere la compatibilità con le funzioni di base necessarie al funzionamento del vecchio software. Tutto ciò ha portato al fatto che il BIOS, infatti, è diventato il componente più obsoleto dei moderni PC. Al momento, il BIOS fa poco per soddisfare i requisiti dell'hardware più recente e presenta i seguenti svantaggi:

  1. Codice a 16 bit, modalità reale. Il BIOS è scritto in linguaggio assembly e opera su codice a 16 bit in modalità reale del processore con le sue limitazioni intrinseche, la più significativa delle quali è la limitazione dello spazio di indirizzamento di memoria di 1 Megabyte.
  2. Mancanza di accesso all'hardware a 64 bit. Il BIOS non è in grado di comunicare direttamente con l'hardware a 64 bit che attualmente domina il mercato.
  3. Mancanza di un unico standard. Non esiste un'unica specifica per il BIOS: ogni produttore offre le proprie varianti di implementazione.
  4. Complessità dello sviluppo. Il problema è che per quasi tutti i modelli successivi della scheda madre, il produttore sviluppa la propria versione del BIOS, che implementa le caratteristiche tecniche uniche di questo dispositivo: interazione con moduli chipset, periferiche, ecc. La progettazione del BIOS può essere suddivisa in due fasi. Nella prima fase viene creata una versione base del firmware, che implementa quelle funzioni che non dipendono dalle specifiche dell'apparecchiatura. Gli sviluppatori di tale codice sono ben noti, si tratta di aziende come American Megatrends (AMIBIOS), Phoenix Technologies (+ il leggendario Award Software (AwardBIOS) acquisito da essa) e alcune altre. Nella seconda fase, i programmatori del produttore della scheda madre sono coinvolti nello sviluppo del BIOS. Qui, l'assemblaggio di base viene modificato per le specifiche di ogni modello di scheda specifico, le sue caratteristiche vengono prese in considerazione. Dopo l'arrivo sul mercato di una scheda madre, il lavoro sul firmware continua, vengono rilasciati regolarmente aggiornamenti che risolvono bug, aggiungono supporto per nuovo hardware (ad esempio processori) e talvolta espandono persino le funzionalità del firmware.

Tutte queste, così come alcune altre, carenze del modello BIOS tradizionale hanno portato al fatto che una coalizione di produttori di hardware e software ha iniziato a lavorare alla creazione della specifica UEFI. A partire, secondo le nostre osservazioni, da qualche parte nel 2010, la specifica UEFI ha iniziato a essere implementata in modo massiccio in tutte le schede madri appena rilasciate dai principali produttori, quindi al momento è quasi impossibile trovare un nuovo computer con un BIOS tradizionale. Tuttavia, non dovresti essere molto arrabbiato per questo, poiché molti produttori mantengono la compatibilità con la funzionalità del BIOS tradizionale nelle loro schede madri. Ad esempio, è molto importante supportare la modalità di avvio tradizionale utilizzando l'MBR. A tal fine, è stato sviluppato un modulo in modalità di emulazione BIOS UEFI, chiamato Compatibility Support Module (CSM). È vero, penso che, nel tempo, sempre meno produttori supporteranno questa modalità nel loro firmware.

Vantaggi UEFI

Qui vorrei definire i meriti dell'interfaccia UEFI:

  1. Supporto per supporti di memorizzazione (dischi) di grande capacità. UEFI deve il suo supporto per i dischi di grandi dimensioni a un nuovo standard di tabella delle partizioni chiamato GPT (GUID Partition Table). Il tradizionale metodo di avvio del BIOS utilizzava il settore di avvio Master Boot Record (MBR), che contiene una tabella delle partizioni che descrive il posizionamento delle partizioni (partizioni) su un disco. Le voci della tabella delle partizioni in MBR hanno uno svantaggio significativo: il numero del primo settore dell'inizio della partizione in formato LBA (offset 08h dall'inizio del record della partizione) ha una larghezza di soli 4 byte (32 bit), rispettivamente , si possono affrontare solo 4 miliardi di settori. E questo, con una dimensione del settore "classica" di 512 byte, è solo ~ 2 terabyte di spazio su disco. UEFI, d'altra parte, utilizzando GPT, consente di indirizzare dischi di dimensioni fino a 18 exabyte.
  2. Supporto diretto per file system e tabelle delle partizioni. UEFI ha moduli per supportare i file system e le tabelle delle partizioni, ovvero può funzionare direttamente sia con le tabelle delle partizioni che con i file system. La specifica ha lo scopo di fornire supporto per la tabella delle partizioni GPT, i file system FAT12, FAT16, FAT32 su dischi rigidi e i file system ISO9660 su dischi CD/DVD. Questo ci evita di dover scrivere codice bootstrap (per analogia con MBR), che caricherà caricatori di varie fasi lungo la catena.
  3. Nessun altro limite MBR tradizionale. Ad esempio, non è più necessario inserire il codice di avvio in un settore in miniatura da 512 byte. Puoi concentrarti sulla scrittura di un singolo modulo di caricamento che combini tutti i passaggi necessari.
  4. Driver hardware indipendenti dalla piattaforma. UEFI accede all'hardware del computer tramite driver indipendenti dalla piattaforma. Il produttore del dispositivo deve scrivere solo una versione del driver per tutte le piattaforme (x86, ARM, Itanium, Alpha) e questo semplifica notevolmente lo sviluppo e accelera il processo di rilevamento degli errori. La specifica UEFI descrive l'interazione dei driver UEFI con il sistema operativo, quindi, nel caso in cui non sia presente alcun driver nel sistema operativo, ad esempio una scheda video, ma in UEFI è presente, caricato e funzionante, il sistema operativo ha la capacità di inviare dati al monitor tramite interfacce UEFI standard.
  5. Supporto dello stack del protocollo TCP: IPv4 / IPv6. Consente di utilizzare funzionalità di rete avanzate direttamente dall'interfaccia UEFI. Ora puoi sviluppare vari download utilizzando i protocolli http/ftp, il download viene subito in mente indicando l'URL dove si trova il solito modulo EFI, oppure un'immagine ISO a tutti gli effetti. È diventato possibile bypassare la già diventata l'unica opzione possibile, l'avvio di rete utilizzando PXE / TFTP. Alcune, in particolare le implementazioni avanzate, possono implementare il supporto PXE su IPv6.
  6. Supporto per BIOS legacy. UEFI non ha bisogno di un BIOS classico, ma molti produttori integrano il codice di emulazione del BIOS per mantenere in esecuzione i sistemi operativi precedenti. Questo modulo è chiamato Modulo di supporto della compatibilità (CSM). Il CSM include un modulo a 16 bit (CSM16) implementato dal produttore del BIOS e un livello che collega il CSM16 al toolkit (interfaccia e hardware). La compatibilità implica il supporto per l'avvio tramite MBR e supporto a livello di codice di interruzione del software (int 10h - servizio video, int 13h - servizio di accesso al disco, int 15h - funzioni di servizio, int 16h - servizio tastiera, int 18h - servizio ROM-BASIC, int 19h - caricatore bootstrap). Pertanto, quei sistemi operativi e software che avevano bisogno del buon vecchio BIOS per funzionare come l'aria possono funzionare liberamente su macchine con UEFI.
  7. Interfaccia UEFI intuitiva. La cosiddetta "facilità di gestione". Un punto piuttosto controverso, è impossibile attribuirlo inequivocabilmente a un più o un meno. Si sostiene che la gestione del BIOS non fosse intuitiva, rappresentando un'interfaccia testuale ascetica e scarsamente documentata che solo un utente esperto di computer poteva capire. Al contrario, molte shell UEFI supportano un'interfaccia grafica, il mouse, che semplicemente non sono implementate nella maggior parte dei BIOS. Tuttavia, se la memoria non mi convince, negli anni '90 ho visto tentativi di implementare il supporto del mouse nel BIOS da (sembra) Phoenix. L'interfaccia stessa può essere grafica, secondo alcuni - più amichevole e intuitiva per la maggior parte, ma può anche essere tradizionale, cioè simile al testo classico, tutto dipende dalle preferenze dello sviluppatore e dal posizionamento di l'equipaggiamento. È possibile supportare più lingue.
  8. Velocità UEFI. Si sostiene che il codice UEFI funzioni più velocemente del tradizionale codice BIOS (sebbene sia scritto in C), a causa del fatto che è stato scritto interamente da zero, senza la necessità di "trascinare" il bagaglio del codice di supporto obsoleto per vari non- hardware standard e vari anacronismi logici.
  9. Velocità di caricamento del sistema operativo. Si dice che l'avvio sia significativamente più veloce con UEFI. Ciò si ottiene parallelizzando l'inizializzazione dei dispositivi, al contrario del BIOS, che inizializza l'hardware in sequenza, oltre a ridurre il tempo di avvio a causa dell'assenza della necessità di cercare il bootloader iterando su tutti i dispositivi (il bootloader è specificato in UEFI e chiamato direttamente). Sono propenso a credere, poiché al momento non posso confermare né smentire. Tuttavia, se misuri quanto tempo impiega la mia vecchia macchina da scrivere su una Celeron 450 / GA-G31M-ES2L con SSD dal momento in cui è stata accesa fino alla comparsa della finestra di autorizzazione di Windows XP ottimizzato, allora risulterà essere solo 23 secondi. È probabile che questo non sia sufficiente per alcune categorie di dispositivi.
  10. UEFI è un mini sistema operativo. Puoi, ovviamente, chiamare UEFI un sistema operativo in miniatura, e questo, in parte, sarà giusto, ma è più corretto considerarlo una piattaforma virtuale che fornisce interfacce alle apparecchiature. Puoi lavorare solo nella console oppure puoi scrivere un'interfaccia grafica a tutti gli effetti. UEFI, in presenza di moduli delle funzionalità necessarie, può, ad esempio, aiutare a comprendere i problemi di caricamento del SO principale, o svolgere altre funzioni di servizio.
  11. Moduli software aggiuntivi. Immediatamente prima di caricare il sistema operativo dal supporto UEFI, consente di eseguire i propri moduli UEFI e driver generici: per lavorare con una rete, disco (archiviazione / backup / antivirus), parametri di configurazione, apparecchiature di test. Ovviamente, con la divulgazione dello standard, l'elenco delle applicazioni UEFI si espanderà solo. Già ora puoi persino scrivere un gioco a tutti gli effetti, sviluppare la tua console per esigenze di servizio sotto forma di un modulo UEFI separato (esempio: shell.efi), un browser Internet, fornire lavoro con dati multimediali (guardare film, ascoltare musica), organizzare il backup del disco.
  12. UEFI contiene un boot manager integrato. Cioè, implementa il proprio caricatore di codice del sistema operativo, che è molto funzionale e può fungere da analogo dei multi-loader di diversi sistemi operativi a noi familiari da un passato non così lontano.
  13. Dimensione del blocco I/O. In UEFI, durante la lettura, viene utilizzata una dimensione del blocco I/O EFI speciale, che consente di leggere 1 MB di dati (nel BIOS, il limite è 64 Kb).
  14. Sicurezza. UEFI è presumibilmente protetto da codice dannoso della fase di avvio. Si sostiene che il codice dannoso non possa caricarsi da solo fino a quando non viene caricato il sistema operativo, assumendo così il controllo. Ciò si ottiene sia firmando tutto di fila nel firmware stesso, sia mediante l'esistenza di una procedura di avvio sicuro chiamata "Secure Boot".
  15. Funzionalità di scalabilità semplificata. Il firmware UEFI può essere facilmente ampliato inserendo un dispositivo di archiviazione supportato (ad esempio una chiavetta USB). Successivamente, driver aggiuntivi, applicazioni UEFI possono essere collegati dal dispositivo esterno. Se ci pensate, questo apre ottime possibilità di espansione di funzionalità che non si potevano ottenere utilizzando il BIOS tradizionale, poiché era limitato esclusivamente al codice cablato nella ROM. In UEFI, puoi "far scivolare" il driver di un nuovo componente hardware direttamente nella fase dell'operazione UEFI, cioè prima che il sistema operativo inizi il caricamento, e ottenere l'accesso alle funzionalità di questo dispositivo.
  16. Il codice UEFI funziona in modalità 32/64 bit. Con tutti i conseguenti .. vantaggi. Per essere completamente onesti, UEFI utilizza ancora la modalità reale all'inizio per eseguire alcune attività di inizializzazione della piattaforma, ma passa molto rapidamente in modalità protetta / lunga.
  17. Supporto per supporti di input alternativi. UEFI fornisce supporto per supporti di input alternativi come tastiere virtuali e display touch. Questo è abbastanza rilevante nella nostra era di vari gadget mobili.

Svantaggi di UEFI

E ora vorrei evidenziare gli svantaggi della tecnologia UEFI:

  1. Complicazione dell'architettura. Tutti i vantaggi di EFI non sono così significativi rispetto al suo principale svantaggio: la complessità della struttura del codice. Un aumento significativo della quantità di codice, la sua complicazione logica non contribuisce in alcun modo alla facilità di sviluppo, al contrario. Ma prima e in parallelo con UEFI, un'alternativa al modello BIOS obsoleto erano le implementazioni aperte, ad esempio OpenBIOS, che sono state respinte.
  2. Avvio sicuro. Qui gli sviluppatori di sistemi operativi hanno risolto diversi problemi contemporaneamente: in parte il problema della pirateria, eliminando l'attivazione del bypass introducendo attivatori nelle fasi di avvio, il problema del codice dannoso (virus) in fase di avvio e il problema dei sistemi operativi obsoleti che rimangono popolare, da cui gli utenti non vogliono uscire :) Infatti, si è scoperto che in alcuni dispositivi particolarmente intelligenti, a causa della presenza dell'opzione "Secure Boot" che non può essere disabilitata, è spesso impossibile installare qualsiasi altro sistema operativo rispetto ai sistemi Windows versione 8+, poiché solo questi ultimi dispongono di bootloader certificati al momento. D'accordo, sembra un modo piuttosto goffo di trattare con utenti e concorrenti avari, anche se Microsoft stessa nega in ogni modo possibile questa situazione. In una parola, la tecnologia è in grado di fornire molti inconvenienti, ma almeno la maggior parte dei fornitori disabilita questa opzione (per il momento) nelle impostazioni.
  3. Impossibilità di installare il vecchio sistema operativo (in alcuni casi). Impossibile installare sistemi legacy senza modalità di compatibilità (CSM).
  4. Deviazione dalla norma. Ogni produttore di componenti hardware modifica UEFI a sua discrezione, creando così ulteriori difficoltà per l'utente, riportandoci di fatto nel caos del BIOS? Ad esempio, su dispositivi diversi, il boot manager può essere implementato in modi diversi, mentre deviare dalle raccomandazioni della specifica UEFI è piuttosto significativo. In pratica, a volte ci siamo imbattuti in UEFI difettosi che ignoravano i parametri dell'elenco di avvio della NVRAM e caricavano semplicemente il codice da \ EFI \ Microsoft \ Boot \ bootmgfw.efi o EFI/BOOT/bootx64.efi. Oppure il boot manager in alcune implementazioni può contenere un elenco combinato di dispositivi MBR e GPT, mentre in altre ci sono diversi elenchi di avvio, il che introduce un po' di confusione.
  5. Implementazione dei controlli sui contenuti. Lo standard UEFI prevede la presenza di alcuni driver che intercetteranno le chiamate al sistema operativo, in modo da poter implementare il DRM (Digital Restrictions Management, mezzi tecnici di protezione del copyright). L'essenza dell'algoritmo è la seguente: una persona per cui tutto funziona è invitata a installare tali software o apparecchiature a proprie spese in modo che alcune delle funzioni nei suoi sistemi di lavoro per la riproduzione di contenuti digitali (computer, lettori multimediali, ecc.) non funzionano più come di consueto. Ci sono preoccupazioni legittime sul fatto che la creazione di UEFI sia un modo velato di introdurre funzionalità indesiderate per l'utente finale nel PC.
  6. Possibilità di introdurre moduli indesiderati. Non vi è alcuna garanzia che il sistema operativo abbia il controllo al 100% del computer se si avvia con UEFI!

Algoritmo di lavoro UEFI

Durante lo sviluppo di UEFI, lo sviluppatore, fin dall'inizio, ha stabilito una struttura rigida per ogni processo coinvolto nell'esecuzione. Le prime tre fasi (SEC, PEI, DXE) preparano la piattaforma per il bootloader del sistema operativo, la quarta fase (BDS) carica direttamente il bootloader del sistema operativo. Proviamo a smontare l'algoritmo UEFI e a dare un'occhiata più da vicino a tutte le sue fasi.

  • fase SEC. (Sicurezza, Sicurezza). Fase di sicurezza. Tutto deve essere firmato e verificato altrimenti non verrà lanciato!
    • Cancellazione della cache della CPU.
    • Esecuzione della routine di inizializzazione principale nella ROM.
    • Passaggio alla modalità protetta del processore.
    • Vengono inizializzati gli MTRR (Memory Type Range Registers) per il BSP.
    • Esegui le patch del microcodice per tutti i processori installati.
    • Lavoro iniziale con BSP/AP. BSP = Pacchetto di supporto della scheda. AP = Processore dell'applicazione. Ogni core può essere rappresentato come BSP + AP. Tutti gli AP vengono inviati IIPI (Init Inter-processor Interrupt), quindi SIPI (Start-up Inter-processor Interrupt).
    • Trasferimento dati e controllo in fase PEI.
  • Fase PEI. (Inizializzazione pre-EFI, Inizializzazione pre-EFI). Preparazione della piattaforma (memoria e dispositivi rilevati) per la procedura principale di inizializzazione del sistema in fase DXE.
    • Trasferimento dati dalla ROM alla cache.
    • Inizializzazione CRTM (Core Root for Trust of Measurement). Questo è un insieme di istruzioni che vengono eseguite dal framework durante l'esecuzione delle operazioni RTM.
    • È in corso il caricamento del gestore PEI. Il dispatcher carica una serie di moduli (PEIM) che variano in base alla piattaforma. Questi moduli completano le restanti attività PEI. La fase termina quando tutti i moduli sono stati caricati.
    • PEIM: i moduli di inizializzazione del processore vengono caricati e avviati. (esempio: modulo cache del processore, modulo di selezione della frequenza del processore). È in corso l'inizializzazione dei processori.
    • PEIM: le interfacce integrate della piattaforma vengono inizializzate (SMBus). MCH (Memory Controller Hub), ICH (I/O Controller Hub) vengono inizializzati.
    • PEIM: inizializzazione della memoria. Inizializzazione della memoria principale e trasferimento dei dati dalla cache ad essa.
    • Controllo della modalità S3. No - trasferimento del controllo alla fase DXE. Sì: ripristina lo stato originale del processore e di tutti i dispositivi e passa al sistema operativo.
  • Fase DXE. (Ambiente di esecuzione del driver) Il caricamento dei componenti in questa fase si basa sulle risorse che sono state inizializzate nella fase PEI. Fase di inizializzazione finale per tutti i dispositivi. Avvia i servizi UEFI: servizi di avvio, servizi di runtime e servizi DXE.
    • Il core DXE è caricato. Si sta realizzando l'infrastruttura DXE: si creano le strutture dati necessarie e un database di handle. Include le principali interfacce DXE. Avvia una serie di servizi: Boot Services, Runtime Services, DXE Services.
    • DXE Manager si avvia. Utilizzando l'elenco delle strutture Hand-off Block (elenco HOB) trasferito da PEI, determina i Volumi Firmware disponibili (FV, un database strutturato di moduli eseguibili DXE: driver e applicazioni) e cerca i driver in essi, li avvia, osservando il dipendenze. In questo momento vengono attivati ​​gli altri componenti, e diversi contemporaneamente. Il gestore carica tutti i driver disponibili da tutti i supporti disponibili.
    • Caricamento del driver SMM Init. Avvia una sottofase. SMM (Modalità di gestione del sistema) è una delle modalità privilegiate dell'esecuzione del codice del processore x86, in cui il processore passa a uno spazio di indirizzi indipendente, salva il contesto dell'attività corrente, quindi esegue il codice necessario, quindi torna alla modalità principale. Perché abbiamo bisogno di SMM? E perché in questa modalità puoi fare quello che vuoi con il sistema, indipendentemente dal sistema operativo. Il codice SMM può essere eseguito dopo la fine della fase DXE.
    • UEFI Boot Manager si avvia. Questo accade dopo che tutti i driver sono stati avviati. Il controllo è trasferito alla fase BDS.
  • fase BDS. (Selezione dispositivo di avvio). Implementa la politica di caricamento della piattaforma. Il compito principale è connettere i dispositivi necessari per il download, selezionare (manualmente o automaticamente) un dispositivo di avvio e avviare da esso. Spesso esegue una ricerca ricorsiva tra tutti i FV disponibili e cerca di trovare contenuti scaricabili.
    • I dispositivi console descritti dalle variabili di ambiente ConOut (ConsoleOutHandle), ConIn (ConsoleInHandle), StdErr (StandardErrorHandle) vengono inizializzati.
    • Vengono caricati i driver del dispositivo UEFI elencati nella variabile di ambiente DriverOrder (contenente le opzioni Driver #### nell'ordine di avvio).
    • L'applicazione UEFI viene caricata dal dispositivo Boot ####. Gli elenchi dei dispositivi sono contenuti nella variabile di ambiente BootOrder nell'ordine di avvio.
    • Se non siamo stati in grado di eseguire alcuna delle operazioni precedenti, chiamiamo il dispatcher DXE per verificare che siano state fornite dipendenze driver aggiuntive dall'ultima chiamata del dispatcher. Successivamente, il controllo torna nuovamente alla fase BDS.

Algoritmo del Boot Manager UEFI

Il concetto di avvio UEFI è significativamente diverso da quello del BIOS. Se si richiama il BIOS, il caricamento era responsabile del codice bootstrap int 19h (caricatore bootstrap), il cui compito era solo quello di caricare il record di avvio principale (MBR) dal dispositivo di avvio in memoria e trasferire il controllo su di esso. In UEFI, tutto è un po' più interessante, contiene il proprio bootloader integrato completo, che si chiama UEFI Boot Manager (UEFI Boot Manager o semplicemente Boot Manager), che ha funzionalità molto più ricche.

UEFI Boot Manager è un tipico modulo UEFI.

Boot Manager implementa una gamma abbastanza ampia di funzioni, incluso il caricamento di immagini UEFI come: caricatori OS UEFI Stage 1, driver UEFI, applicazioni UEFI. L'avvio può essere eseguito da qualsiasi immagine UEFI situata su qualsiasi file system supportato da UEFI situato su qualsiasi supporto fisico supportato dalla piattaforma. UEFI Boot Manager ha una propria configurazione, i cui parametri si trovano in una comune NVRAM (RAM non volatile) sotto forma di una serie di variabili.

EFI NVRAM è un'area di memoria condivisa dedicata alla memorizzazione delle impostazioni di configurazione UEFI disponibile per l'uso da parte di sviluppatori di firmware, produttori di hardware, sviluppatori di sistemi operativi e utenti.

I parametri UEFI sono memorizzati nella NVRAM sotto forma di variabili, che sono classicamente rappresentate dalla coppia "nome parametro" = "valore". Queste variabili contengono un gran numero di parametri che si riferiscono a diverse parti funzionali di UEFI, cioè, oltre ai parametri di UEFI Boot Manager, NVRAM memorizza anche molti altri parametri UEFI Tuttavia, nel contesto di questo capitolo, ci interessa solo nelle variabili relative a UEFI Boot Manager Questa è principalmente la variabile BootOrder, che punta alle variabili del descrittore di avvio denominate Boot ####. Ogni elemento Boot #### rappresenta un puntatore a un dispositivo fisico e (opzionalmente) può anche descrivere un file che è un'immagine UEFI , che dovrebbe essere caricato da questo dispositivo fisico.

Tutti i dispositivi di avvio sono descritti come percorsi completi, ovvero contengono il nome leggibile del file di avvio e pertanto possono essere aggiunti al menu di avvio.

Questo è più o meno come immagino un algoritmo per l'ordinamento dei media nel processo di operazione UEFI:

Come possiamo vedere, UEFI Boot Manager analizza il BootOrder, ovvero carica il percorso del dispositivo di ciascun elemento Boot #### nell'ordine specificato nella variabile BootOrder e tenta di eseguire l'avvio dal dispositivo specificato. Se si verifica un errore, il download manager passa all'elemento successivo. Inoltre, viene generato un cosiddetto elenco di download. Questo elenco è rilevante per l'interfaccia delle impostazioni UEFI e ha l'aspetto del solito menu di avvio standard (menu di avvio). L'elenco di avvio UEFI viene generato dalla variabile BootOrder e viene utilizzato per consentire all'utente di apportare modifiche all'ordine e alla configurazione dei dispositivi di avvio.
Come si forma BootOrder stesso? Ed è molto semplice, ad esempio, durante l'installazione del sistema operativo Windows, il programma di installazione crea una partizione ESP (se è assente) sul disco di installazione, formatta questa partizione nel file system FAT, quindi posiziona il suo bootloader (per Windows 7+ questo è il file bootmgfw.efi) e alcuni altri file lungo il percorso \ EFI \ Microsoft \ Boot \. Quando il sistema operativo è installato, il programma di installazione di Windows crea una variabile nella NVRAM EFI denominata Boot #### (dove #### è un numero esadecimale), che fa riferimento al boot manager di Windows denominato bootmgfw.efi. Quindi, la variabile BootOrder regola?

Requisiti del supporto di avvio UEFI

La specifica UEFI, tra le altre cose, descrive alcuni requisiti per le regole per posizionare partizioni e boot loader sui supporti. E per le diverse classi di dispositivi, come vedremo in seguito, differiscono in modo significativo.

Requisiti per i dischi rigidi

Ciascun disco rigido avviabile deve contenere una partizione di sistema EFI (ESP) dedicata. La partizione ESP deve aderire alla gerarchia di directory (struttura) predefinita dallo standard: la directory /EFI deve trovarsi alla radice della partizione ESP. Nella cartella /EFI, a sua volta, dovrebbero esserci sottodirectory di fornitori di sistemi operativi, produttori di hardware, strumenti e driver generali:

\ EFI \<директория вендора ОС 1> <файл-загрузчик-ОС1>.efi \<директория вендора ОС 2> <файл-загрузчик-ОС2>.efi. ... ... \<директория вендора ОС N> <файл-загрузчик-ОСN>.efi \<директория производителя оборудования (OEM)> .efi \<директория BIOS вендора> <приложение-BIOS-вендора>.efi \<директория вендора стороннего ПО> <стороннее-приложение>.efi \ BOOT BOOT (tipo_architettura) .efi

\<директория вендора ОС 1>

<файл-загрузчик-ОС1>.efi

\<директория вендора ОС 2>

Registro di sottodirectory.

I fornitori le cui directory non sono elencate nella sottodirectory del fornitore e che non hanno le proprie sottodirectory nella cartella /EFI spesso ospitano il loro bootloader come "bootloader predefinito". Ad esempio, per i sistemi x64 lungo il percorso: /EFI/Boot/bootx64.efi.

Il file del boot loader è una tipica applicazione UEFI, ha il formato PE32+ e contiene il codice per la fase iniziale dell'avvio del sistema operativo, ovvero avvia il processo di avvio del sistema operativo. Il suo scopo è preparare strutture dati, caricare il kernel del sistema operativo in memoria e trasferirvi il controllo.
La specifica descrive la sottodirectory /EFI/Boot. Questa sottodirectory viene utilizzata come posizione "predefinita", ovvero in una situazione in cui, per qualche motivo, alcuni bootloader falliscono (non sono configurati) nella NVRAM. In tal caso, questa directory contiene il cosiddetto "caricatore di avvio di fallback", che ha un nome standardizzato BOOT (tipo_architettura) .efi

Alcune vecchie implementazioni UEFI erano "buggy", semplicemente ignoravano l'elenco di avvio nella NVRAM e caricavano direttamente i moduli o /EFI/BOOT/bootx64.efi. Altre opzioni UEFI non meno "dirette" non supportavano il menu di avvio e caricavano sempre anche /EFI/Boot/bootx64.efi /EFI/Microsoft/Boot/bootmgfw.efi a seconda delle loro misteriose preferenze.

Avvio in modalità legacy

UEFI non esegue alcun codice dal classico MBR, indipendentemente dal fatto che il settore sia presente o meno sul supporto installato nel sistema. Le eccezioni sono le versioni UEFI che implementano il supporto della "modalità di compatibilità". Di conseguenza, per l'avvio tradizionale (legacy) dei sistemi operativi compatibili con lo standard di markup MBR, UEFI fornisce moduli speciali che possono (a discrezione del fornitore) essere inclusi nel firmware. Puoi scoprire se il tuo firmware UEFI supporta specificamente la "modalità di compatibilità" cercando nell'interfaccia UEFI opzioni come Legacy, Legacy CSM, Launch CSM, CSM Boot, CSM OS, Launch CSM o CSM Support. Va notato che nella stragrande maggioranza dei firmware è presente questa modalità, che semplifica notevolmente la vita degli utenti che hanno acquistato nuovi laptop o schede madri, ma non hanno cambiato le loro abitudini nell'uso dei "vecchi" sistemi operativi di MS :)
È logico supporre che nel caso della presenza di un modulo CSM, il codice del firmware all'avvio in modalità tradizionale dovrebbe essere il più vicino possibile a caratteristiche funzionali simili del BIOS tradizionale, semplicemente emulando le tecnologie chiave. Diamo un'occhiata a cosa fa il modulo di supporto della compatibilità UEFI (CSM) durante l'avvio in modalità legacy.
Darò qui finora solo un algoritmo di caricamento condizionale astratto in modalità Legacy / Compatibility Support Module (CSM):

  1. È richiesto l'avvio legacy? In caso contrario, andiamo alla solita catena di avvio UEFI.
  2. Carica il modulo Legacy Driver.
  3. Carica il modulo BIOS legacy.
  4. È necessario il supporto per le funzioni del BIOS video legacy (implementare le funzioni di interrupt int 10h)? Sì - scarica.
  5. Hai bisogno di supportare il resto delle tradizionali estensioni del BIOS (int 13h ..)? Sì - scarica.
  6. Caricamento di un sistema operativo legacy? No, stiamo partendo per un normale avvio UEFI.
  7. Formiamo strutture SMBIOS.
  8. Formiamo le strutture Legacy Device.
  9. Formiamo una struttura di interrupt int 15h, una struttura API BBS (BIOS Boot Specification).
  10. Formazione ACPI RSD PTR.
  11. Scarica il codice SMM compatibile.
  12. Carichiamo il codice dall'MBR e trasferiamo il controllo ad esso.

Multiboot su UEFI

Fin dall'inizio della distribuzione di massa dei personal computer, di volta in volta è sorto il compito di distribuire più sistemi operativi su un PC, che potrebbe ospitare uno o più supporti fisici. Non molto tempo fa, la situazione è stata notevolmente modificata dalla scoperta della tecnologia di virtualizzazione, ma ciò non ha risolto completamente il problema. Nella sua accezione classica, applicato alle stazioni che si avviano secondo il metodo tradizionale PC/AT BIOS utilizzando il classico markup MBR, il multibooting era un codice di terze parti nel settore di avvio principale (MBR) che carica il cosiddetto boot manager (multiloader ), che memorizza le impostazioni per ogni sistema operativo installato sul computer e fornisce un menu per la scelta dell'avvio di un determinato sistema operativo. Se parliamo del nostro tempo, cioè del multiboot in relazione ai media, già rotto usando il markup GPT, ora molto è cambiato. Come abbiamo già notato, UEFI può funzionare direttamente con i dischi GPT, quindi l'attività di installazione di più sistemi operativi è notevolmente semplificata. Ora tutte le funzioni del multi-bootloader sono rilevate dall'UEFI Boot Manager integrato, i cui principi abbiamo descritto sopra. Il programma di installazione del sistema operativo deve solo fare ciò che fa già bene: posizionare il bootloader su una partizione ESP speciale nella sua "propria" gerarchia di directory, dopodiché questo bootloader diventa "visibile" nelle impostazioni UEFI. Oltre al programma di installazione del sistema operativo, ora l'utente stesso, tramite le impostazioni (interfaccia UEFI grafica/testuale), può aggiungere manualmente un bootloader posizionato su un qualsiasi supporto fisico connesso e visibile dal sistema. Tutti questi bootloader aggiunti in vari modi diventano disponibili tramite il Boot Menu, che l'utente può configurare/richiamare direttamente mentre UEFI è in esecuzione, cioè nella fase iniziale dell'avvio del PC. In altre parole, il multiboot in UEFI è semplicemente una questione di avvio di applicazioni UEFI (bootloader specifici del sistema operativo) che si trovano su un supporto connesso su una partizione ESP speciale in una gerarchia di directory radicata in / EFI.

I computer più recenti utilizzano il firmware UEFI invece del BIOS tradizionale. Entrambi questi firmware sono software di basso livello che si avviano all'avvio del PC prima dell'avvio del sistema operativo, ma UEFI è una soluzione più moderna che supporta dischi rigidi più grandi, tempi di avvio più rapidi, più funzioni di sicurezza e grafica comoda e cursori del mouse.

Abbiamo visto che i PC più recenti forniti con UEFI sono ancora indicati come "BIOS" per non confondere le persone abituate a un computer tradizionale. Anche se il tuo computer usa il termine "BIOS", i PC moderni che acquisti oggi quasi sicuramente sono dotati di firmware UEFI anziché BIOS.

Cos'è il BIOS?


BIOS è l'abbreviazione di Basic Input/Output System. È un software di basso livello che risiede in un chip sulla scheda madre del tuo computer. Il BIOS viene caricato all'avvio del computer, è responsabile della riattivazione dei componenti del computer, assicurandosi che funzioni correttamente e quindi avviando il bootloader che carica Windows o qualsiasi sistema operativo installato.

È possibile configurare varie opzioni nella schermata di configurazione del BIOS. Qui è dove trovi opzioni come la configurazione hardware del tuo computer, l'ora del sistema e l'ordine di avvio. È possibile accedere a questa schermata premendo un tasto specifico - diverso su computer diversi, ma spesso Esc, F2, F10 o Elimina - durante l'avvio del computer. Quando si salva un'impostazione, questa viene salvata nella memoria della scheda madre stessa. Quando si avvia il computer, il BIOS configura il computer con le impostazioni salvate.

Il BIOS esegue un POST o un autotest all'accensione prima di caricare il sistema operativo. Verifica che l'hardware sia configurato correttamente e funzioni correttamente. Se qualcosa non va, vedrai un messaggio di errore o sentirai una misteriosa serie di codici bip. Dovrai scoprire cosa significano le diverse sequenze di segnali acustici nel manuale del tuo computer.

Quando il computer si avvia, al termine del POST-BIOS, cerca il Master Boot Record (MBR) memorizzato sul dispositivo di avvio e lo utilizza per avviare il caricatore di avvio.

Puoi anche vedere l'acronimo CMOS, che sta per Complementary Metal-Oxide-Semiconductor. Questo si riferisce alla memoria della batteria, dove il BIOS memorizza varie impostazioni sulla scheda madre. Questa non è in realtà una definizione accurata poiché questo metodo è stato sostituito dalla memoria flash (chiamata anche EEPROM) nei sistemi moderni.

Perché il BIOS è obsoleto

Il BIOS è in circolazione da molto tempo e non si è evoluto molto. Anche i computer MS-DOS rilasciati negli anni '80 avevano il BIOS!

Naturalmente, il BIOS si è evoluto e migliorato nel tempo. Sono state sviluppate diverse estensioni tra cui ACPI, Advanced Configuration e Power Interface. Ciò consente al BIOS di configurare più facilmente i dispositivi ed eseguire funzioni avanzate di gestione dell'alimentazione come la sospensione. Ma il BIOS non è migliorato tanto quanto altre tecnologie per PC dai tempi di MS-DOS.

Il BIOS tradizionale ha ancora gravi limitazioni. Può essere avviato solo da unità di 2,1 TB o meno. Al giorno d'oggi, le unità da 3 TB hanno iniziato a diffondersi e un computer con un BIOS non può avviarsi da esse. Questa limitazione ha a che fare con il funzionamento del record di avvio principale del BIOS.

Il BIOS deve essere in esecuzione in modalità processore a 16 bit e avere solo 1 MB di spazio. Ha problemi con l'inizializzazione di più dispositivi contemporaneamente, il che porta a un rallentamento del processo di avvio durante l'inizializzazione di tutte le interfacce hardware e dei dispositivi su un PC moderno.

Il BIOS deve essere sostituito per molto tempo. Intel ha iniziato a lavorare sulla specifica Extensible Firmware Interface (EFI) nel 1998. Apple ha scelto EFI quando è passata all'architettura Intel sui suoi Mac nel 2006, ma altri produttori di PC non hanno seguito l'esempio.

Nel 2007, i produttori di Intel, AMD, Microsoft e PC hanno concordato una nuova specifica UEFI (Unified Extensible Firmware Interface). È uno standard a livello di settore guidato dalla comunità delle interfacce firmware estese unificate e non solo da Intel. Il supporto UEFI è stato introdotto in Windows con Windows Vista Service Pack 1 e Windows 7. La stragrande maggioranza dei computer che puoi acquistare oggi utilizza UEFI anziché il BIOS tradizionale.

Come UEFI sostituisce e migliora il BIOS


UEFI sostituisce il BIOS tradizionale sui PC. Impossibile migrare dal BIOS all'UEFI su un PC esistente. È necessario acquistare nuovo hardware che supporti e includa UEFI, come fa la maggior parte dei nuovi computer. La maggior parte delle implementazioni UEFI fornisce l'emulazione del BIOS, quindi puoi scegliere di installare e avviare sistemi operativi precedenti che prevedono BIOS anziché UEFI, quindi sono retrocompatibili.

Questo nuovo standard evita le limitazioni del BIOS. Il firmware UEFI può essere avviato da unità da 2,2 TB o più grandi: il limite teorico effettivo è di 9,4 Zettabyte. Si tratta di circa tre volte la dimensione stimata di tutti i dati su Internet. Questo perché UEFI utilizza uno schema di partizionamento GPT invece di MBR. Si avvia anche in un modo più standardizzato, esegue i binari EFI anziché eseguire il codice dal record di avvio principale del disco.

UEFI può essere eseguito in modalità a 32 o 64 bit e ha uno spazio di indirizzi più ampio rispetto al BIOS, il che significa che il processo di avvio è più veloce. Ciò significa anche che le schermate di configurazione UEFI possono essere più fluide delle schermate di configurazione del BIOS, incluso il supporto per la grafica e il cursore del mouse. Tuttavia, questo è facoltativo. Molti PC sono ancora dotati di impostazioni dell'interfaccia in modalità testo UEFI che sembrano e funzionano come la vecchia schermata di configurazione del BIOS.

UEFI è ricco di altre funzionalità. Supporta Secure Boot, il che significa che il sistema operativo può essere convalidato per garantire che il processo di avvio non sia influenzato da malware. Può supportare le funzioni di rete direttamente nel firmware UEFI stesso, che può aiutare nella diagnostica e nella configurazione remote. In un BIOS tradizionale, devi sederti di fronte a un computer fisico per configurarlo.

Non è solo una sostituzione del BIOS. UEFI è essenzialmente un piccolo sistema operativo che funziona sul firmware di un PC e può fare molto di più di un BIOS. Può essere archiviato nella memoria flash sulla scheda madre o caricato da un disco rigido o da una condivisione di rete al momento dell'avvio.

Diversi PC UEFI avranno interfacce e funzioni diverse. Tutto dipende dal produttore del PC, ma le basi saranno le stesse su ogni PC.

Come accedere alle impostazioni UEFI sui PC moderni

Se sei un normale utente di PC, il passaggio a un PC UEFI non sarà un cambiamento evidente. Il tuo nuovo computer si avvierà e si spegnerà più velocemente di quanto farebbe con il BIOS e puoi utilizzare unità da 2,2 TB o più grandi.

Se è necessario accedere alle impostazioni di livello inferiore, potrebbe esserci una leggera differenza. Potrebbe essere necessario aprire la schermata delle impostazioni UEFI tramite il menu delle opzioni di avvio di Windows anziché premere un tasto durante l'avvio del computer. Ora che i PC si avviano così rapidamente, i produttori di PC non vogliono rallentare il processo di avvio aspettando la pressione di un tasto. Tuttavia, abbiamo anche visto PC UEFI che ti consentono di accedere al BIOS allo stesso modo premendo un tasto durante il processo di avvio.

Sebbene UEFI sia un grande aggiornamento, è praticamente in background. La maggior parte degli utenti di PC non noterà mai (o noterà) che i loro nuovi PC utilizzano UEFI invece del BIOS tradizionale. Ma funzioneranno meglio e supporteranno hardware e funzionalità più avanzate.

La massiccia transizione a UEFI (Unified Extensible Firmware Interface) è già iniziata. Microsoft richiede che questa interfaccia venga utilizzata su tutti i computer che verranno forniti con Windows 8. Più specificamente, stiamo parlando di UEFI con Secure Boot. Allo stesso tempo, solo gli "otto" possono funzionare senza problemi su tali PC: né Windows XP né i "sette" possono essere installati su una macchina UEFI senza ulteriori manipolazioni. Non sarai nemmeno in grado di eseguire l'avvio da un'unità flash Linux Live o Windows. Cosa può succedere esattamente se si tenta di avviare dall'unità flash di installazione su un laptop Sony VAIO è mostrato nell'immagine sopra. E i problemi con UEFI non finiscono qui. Ciascun produttore di componenti hardware configura UEFI a propria discrezione, creando così inutili difficoltà per l'utente. Il laptop IdeaPad di Lenovo non è stato in grado di riconoscere la stessa unità flash come supporto di avvio. Allo stesso tempo, Lenovo non ha nulla da incolpare: il fatto è che l'unità flash avviabile è formattata nel file system NTFS e UEFI non supporta l'avvio da tale supporto. Se colleghi la stessa unità all'HP EliteBook, si avvierà senza problemi e ti consentirà di installare Windows. Il problema è che tutti i dati sull'unità EliteBook sarebbero stati eliminati dopo l'installazione.

Ognuno si configura in modo diverso

Sei confuso? Non c'è da stupirsi: UEFI con la funzione Secure Boot imposta nuove regole per l'installazione e l'avvio dei sistemi operativi e i produttori di hardware interpretano queste regole a modo loro, il che crea ulteriori difficoltà per l'utente. Pertanto, nell'ambito di questo articolo, ci siamo posti l'obiettivo di eliminare la confusione intorno a UEFI. Utilizzando i laptop dei principali produttori come esempio, ti diremo come funziona UEFI, quale ruolo è assegnato alla funzione Secure Boot, come aggirare le "insidie" impostate dalla nuova interfaccia e cosa è necessario per utilizzare il flash avviabile guida senza timore di conseguenze distruttive.

Come funziona UEFI

UEFI si avvia rigorosamente secondo le regole stabilite. Se il sistema operativo non supporta UEFI, viene attivata la modalità di emulazione del BIOS. Il processo di avvio del PC basato su BIOS è abbastanza semplice: premendo il pulsante di accensione si avvia il BIOS, che controlla lo stato dell'hardware e carica il firmware: semplici driver per i singoli componenti hardware. Il BIOS quindi cerca il bootloader del sistema operativo e lo attiva. Questo, a sua volta, carica il sistema operativo o visualizza un elenco di sistemi operativi disponibili.

I computer basati su UEFI si avviano allo stesso modo solo finché non cercano le opzioni di avvio. Dopo di che, tutto accade in modo diverso. UEFI ha il proprio bootloader del sistema operativo con gestori di avvio integrati per i sistemi installati. Per questo, sul disco viene creata una piccola partizione (100-250 MB), formattata nel file system FAT32, chiamata Extensible Firmware Interface System Partition (Extensible Firmware Interface System Partition, ESP). Contiene i driver per i componenti hardware a cui è possibile accedere da un sistema operativo in esecuzione. La regola generale è che, ad eccezione dei DVD, UEFI può essere avviato solo da supporti formattati con il file system FAT32.

UEFI è un meccanismo complesso

ESP ha i suoi vantaggi: grazie ai driver UEFI e al bootloader del sistema operativo, Windows si avvia più velocemente e risponde in modo più adeguato agli errori critici del driver. Ma l'interfaccia UEFI impone anche delle restrizioni: consente di installare il sistema operativo solo su hard disk partizionati secondo lo standard GPT. Quest'ultimo non è supportato da nessuna versione del BIOS, poiché, a differenza del tradizionale schema di partizionamento (MBR), utilizza indirizzi di settore a 64 bit. Oltre a Windows 8, solo le versioni a 64 bit di Windows Vista e 7, nonché Linux con kernel 3.2 e versioni successive, supportano UEFI. Inoltre, per i PC certificati per funzionare con il G8, Microsoft prescrive l'utilizzo dell'opzione Secure Boot. In questa modalità, UEFI esegue solo caricatori del sistema operativo verificati che contengono driver firmati digitalmente da Microsoft.

Insieme a Windows 8, solo il bootloader Shim (Linux) dispone di driver con le firme necessarie per Secure Boot. Sono assenti in altri sistemi operativi. Pertanto, se si desidera installare Windows 7 o Vista su un computer di questo tipo oltre al G8, è necessario aprire il menu UEFI e disabilitare Secure Boot. Se scegli un sistema operativo non compatibile con UEFI come secondo sistema operativo, dovrai utilizzare il modulo di supporto della compatibilità (CSM), che puoi abilitare in UEFI. Sfortunatamente, i produttori utilizzano versioni diverse di UEFI e talvolta è difficile capire come disabilitare l'avvio protetto e passare alla modalità di emulazione del BIOS. Considereremo ulteriormente queste domande.

Processo di avvio del PC UEFI

A seconda della configurazione, UEFI avvia il computer da solo o entra nella modalità di emulazione BIOS standard. Solo allora si avvia il boot manager di Windows.

Installazione di Windows su un PC con UEFI e Secure Boot

Sui PC Windows 8 con UEFI Secure Boot, altre versioni del sistema operativo possono essere installate solo in determinate condizioni. L'utente deve selezionare in anticipo la modalità di avvio corretta e preparare di conseguenza l'unità flash di installazione.


Abilitazione della modalità di emulazione del BIOS

Confusione completa: il modo per accedere alla modalità di emulazione del BIOS dipende dalla versione UEFI. Su Sony VAIO (1) è necessario attivare l'opzione "Legasy", su ASUS Zenbook (2) - "Launch CSM".


Configurazione UEFI

Ogni produttore utilizza la propria versione di UEFI in laptop e ultrabook. Tuttavia, non fornisce l'accesso a tutte le funzioni necessarie. Spesso, quando si avvia un PC o un laptop, il nome del pulsante non viene visualizzato sul display, con il quale è possibile richiamare il menu delle impostazioni UEFI. Proponiamo di procedere come segue: nell'interfaccia Metro, vai su Opzioni | Modificare le impostazioni del computer "nella barra laterale e attivare l'elemento" Generale | Opzioni di download speciali”. Dopo il riavvio, apparirà il boot manager del sistema operativo, che ti consentirà di aprire il menu UEFI. L'eccezione è UEFI di HP, che non ha questa opzione. Quanto segue aiuterà qui: durante il caricamento, tieni premuto il tasto "Esc". In ogni caso, devi prima informarti su quale pulsante ti permette di entrare nel menu UEFI. Se si cambia la modalità di avvio in CSM o Legasy BIOS per l'avvio da un'unità flash di emergenza, è necessario passare nuovamente da CSM a UEFI dopo l'operazione di ripristino, altrimenti Windows 8 non si avvierà. Ma ci sono delle eccezioni qui: Aptio Setup Utility sui computer ASUS attiva UEFI automaticamente se non ci sono supporti di avvio compatibili con BIOS, quindi è sufficiente scollegare l'unità flash USB.

La disabilitazione dell'avvio protetto è necessaria se, oltre al G8, si desidera installare una versione a 64 bit di Windows Vista o 7. A volte è supportata la cosiddetta modalità ibrida, come nei dispositivi HP, in cui UEFI può eseguire l'avvio da tutti supporto di avvio e, se necessario, passare alla modalità BIOS. Nella versione diffusa di UEFI InsydeH2O, ciò dipende dal fatto che il produttore del laptop abbia fornito l'opzione per disabilitare o meno l'avvio protetto. Questa funzione non è disponibile nell'Acer Aspire S7 e deve essere commutata dalla modalità UEFI alla modalità BIOS e viceversa per disattivarla.

Difficoltà di recupero

Con l'avvento di UEFI, i produttori hanno cambiato il modo in cui gestiscono il ripristino del sistema operativo. La scorciatoia da tastiera Alt + F10, precedentemente utilizzata, ad esempio, nei modelli Acer, non funziona più o è assegnata ad altre funzioni. E il pulsante "F9" sul nuovo Zenbook non carica l'ASUS Preload Wizard, ma il programma di ripristino di Windows 8 con un menu di avvio esteso.

È possibile accedere alla modalità di ripristino VAIO Care nei notebook Sony da un menu simile selezionando Pannello di controllo | Risoluzione dei problemi | Recupero". Ma se avvii il boot manager del sistema operativo e selezioni "Diagnostica | Ripristina "o" Ripristina al suo stato originale ", il dispositivo ti chiederà di inserire il disco di Windows 8 originale, che non è incluso nella confezione. Sui modelli Acer, il backup viene eseguito utilizzando il programma Windows preinstallato e il ripristino dal backup viene eseguito da un'unità USB esterna. Tuttavia, è necessario prima accedere al menu UEFI e specificare tale disco come avviabile.

Vai al menu UEFI da Windows

Se l'avvio avanzato di Windows 8 è abilitato, è possibile accedere al menu Impostazioni firmware UEFI selezionando Diagnostica (1) e Opzioni avanzate (2).


Utili funzioni UEFI

Ogni produttore di laptop utilizza una versione diversa dell'interfaccia UEFI e la implementa nel sistema in base alle proprie idee. Puoi scoprire dove si trovano le principali funzionalità UEFI nella tabella per modello.


Soluzione al problema: disabilitare Secure Boot

In alcuni casi, Secure Boot non può essere disattivato direttamente. Nell'Acer Aspire S7, ad esempio, questa funzione non è disponibile. Ma se si passa a "Legasy BIOS" (1) e viceversa (2), Secure Boot verrà disabilitato.


Tutto è possibile in modalità ibrida

La versione HP di UEFI supporta la modalità ibrida, che, a seconda del supporto di avvio, avvia una delle due modalità: UEFI o CSM. In questo caso, la funzione Secure Boot viene disabilitata automaticamente.


Avvia da un'unità flash

I vecchi supporti flash di avvio e ripristino di emergenza funzionano solo in modalità BIOS. Li renderemo conformi a UEFI.

Di recente, le chiavette USB sono sempre più utilizzate come supporto di avvio per il ripristino o l'installazione di Windows. Ciò è dovuto al fatto che le unità ottiche sono installate raramente nei laptop moderni. Se hai studiato le impostazioni UEFI sul tuo computer, ti consigliamo di aggiornare anche le tue unità flash. Con l'avvento di UEFI, tutte le unità flash avviabili disponibili non possono più essere utilizzate nel modo consueto. Ad esempio, se hai creato un'unità USB avviabile in UNetbootin, dovrai avviare il PC in modalità CSM. Lo stesso vale per tutte le vecchie unità flash, dal momento che gli sviluppatori delle distribuzioni Linux Live (ad esempio, GParted) hanno iniziato ad aggiungere un bootloader abilitato per UEFI e le funzioni di avvio protetto solo nelle versioni più recenti delle loro applicazioni.

Il metodo più semplice è disabilitare l'avvio protetto in UEFI, quindi creare un'unità flash compatibile con UEFI utilizzando il programma gratuito Rufus e quindi copiarvi l'ultima versione di GParted.

Il programma Microsoft è obsoleto

Regole leggermente diverse si applicano al supporto USB avviabile di Windows. Per la compatibilità UEFI, devono essere formattati con il file system FAT32. Molti utenti, anche per Windows 8, creano unità avviabili su unità flash formattate utilizzando un programma di Microsoft, che fa parte dei "sette". Tuttavia, per impostazione predefinita, questa applicazione formatta l'unità nel file system NTFS, per cui il sistema esistente sul supporto non può essere successivamente installato su un computer con UEFI. Per evitare di attendere il rilascio di un programma aggiornato da Microsoft, è possibile creare manualmente un supporto di avvio. Per fare ciò, formatta prima la chiavetta USB utilizzando un'utilità gratuita. Quindi apri l'immagine ISO in Windows 8 e copia i file che contiene sul supporto.

Ma affinché un'unità flash compatibile con UEFI con Windows 7 a 64 bit si avvii senza problemi, sarà necessario copiare il bootloader UEFI nella directory desiderata sull'unità flash. Per fare ciò, utilizzando l'archiviatore gratuito 7-Zip, trova il file di archivio Install.wim nell'immagine ISO che contiene i file di installazione di Windows 7 nella cartella Sources e aprilo. Successivamente, copia il file bootmgfw.efi dalla directory 1 \ Windows \ Boot \ EFI. Quindi salvalo su un'unità flash nella directory efi \ boot e rinominalo in bootx64.efi. Successivamente, sarà possibile lavorare con l'unità USB in modalità UEFI e sarà possibile installare Windows 7 da essa senza problemi.

Creazione di chiavette USB avviabili basate su sistemi Live

Per la compatibilità UEFI, le unità flash devono essere formattate in FAT32. Ad esempio, UNetbootin (1) crea supporti di avvio basati su distribuzioni Linux Live formattandoli in FAT. Tuttavia, l'utilità Rufus (2) offre un'opzione più corretta.


Unità flash di ripristino UEFI per PC

Le unità flash basate su nuovi sistemi Live, come GParted, sono in grado di accedere ai PC UEFI senza problemi, poiché i loro strumenti integrati, come GPart (1) e TestDisk (2), possono funzionare con le partizioni GPT.


Formattazione di un'unità flash USB avviabile con Windows

Windows 7 a 64 bit può essere installato anche su PC UEFI. Se si desidera eseguire questa operazione da un'unità USB, è necessario formattarla utilizzando il programma Windows DiskPart nel file system FAT32 e renderlo avviabile.


Rimozione del boot loader UEFI

Un'unità flash compatibile con UEFI che esegue Windows 7 richiede inoltre un boot loader UEFI - bootmgfw.efi. Deve essere copiato manualmente dall'archivio install.wim su un'unità flash USB utilizzando il programma 7-Zip o qualsiasi altro archiviatore.


Una fonte

Principali articoli correlati