Qual è la differenza tra "Avvio con BIOS" e "Avvio con UEFI"


118

Ora Windows 8 supporta il bootloader UEFI e ho letto che è diverso dal BIOS, ma non mi è chiaro dopo molte ricerche su Google.

Alcuni punti in mente sono di seguito: -

  • Come tutti sappiamo, il BIOS è una parte importante dell'accesso alle opzioni di avvio. Quindi UEFI lo farà ora? Come?

  • Come faccio a sapere che sto avviando con UEFI non con BIOS?

  • Qual è la vera differenza tra "avvio con BIOS" e "avvio con UEFI"?

Risposte:


134
  • Come tutti sappiamo che il BIOS è una parte importante per l'accesso all'opzione di avvio. Quindi ora UEFI lo farà? Come?

Il 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 perché 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 .efiestensioni di file) da una partizione sul disco rigido, nota come EFI System Partition (ESP). Questi programmi del caricatore di avvio EFI possono trarre vantaggio dai servizi di avvio EFI per cose come la lettura di file dal disco rigido.

In pratica, se si utilizza un sistema operativo come Linux con caricatori di avvio in modalità BIOS complessi, l'avvio in modalità EFI è probabilmente simile all'avvio in modalità BIOS, poiché GRUB 2 (il caricatore di avvio in modalità BIOS più popolare per Linux) è stato trasferito per funzionare con EFI e molte distribuzioni Linux installano GRUB 2 per impostazione predefinita sui sistemi EFI. OTOH, è possibile sostituire o integrare GRUB 2 con altri caricatori di avvio EFI. In effetti, il kernel Linux stesso può essere un boot loader EFI; codice è stato aggiunto per fare questo con il kernel 3.3.0. Utilizzato in questo modo, EFI stesso carica ed esegue il kernel Linux, oppure è possibile utilizzare un boot manager di terze parti come rEFInd o gummiboot per consentire di selezionare il sistema operativo o il kernel da avviare.

  • Come faccio a sapere che sto avviando con UEFI non con BIOS?

Come dice Root, ci sono indizi nell'interfaccia utente del firmware; tuttavia, questi sono inaffidabili e variano da un computer all'altro. L'unico modo per essere sicuri è verificare come è stato avviato il computer. In Linux, ad esempio, la presenza di una directory chiamata /sys/firmware/efiè diagnostica. Se è presente, è stato avviato in modalità EFI; se non è presente, probabilmente è stato avviato in modalità BIOS. (Questa directory può essere assente in un avvio in modalità EFI in alcune circostanze, però.) L' dmesgoutput che fa riferimento a EFI è anche diagnostico di un avvio in modalità EFI. In Windows, la tabella delle partizioni del disco di avvio è diagnostica; se è GPT, è stato avviato in modalità EFI e, se è MBR, è stato avviato in modalità BIOS.

  • Allora, qual è la vera differenza tra "avvio con BIOS" e "avvio con UEFI"?

EFI può essere più veloce, ma questo non è certo. La più grande differenza di velocità è nell'inizializzazione dell'hardware all'inizio del processo. Sui miei sistemi, questa è una frazione del tempo di avvio totale, quindi una riduzione del tempo di inizializzazione dell'hardware, mentre buono, non fa tutto quello molta differenza. Dopotutto, non è come riavviare ogni dieci minuti.

UEFI supporta una funzionalità chiamata Avvio protettointeso, come suggerisce il nome, per 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. Ciò 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 a doppio avvio, dal momento 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 onerosi per gli utenti medi di Linux e hanno già preparato alcune cose preliminari. Al momento, tuttavia, disabilitare Secure Boot è il modo più semplice per gestirlo. Questa è una preoccupazione pratica principalmente per i computer nuovi di zecca che vengono forniti con Windows 8, poiché Microsoft richiede che Secure Boot sia abilitato per ottenere la certificazione Windows 8. Alcune persone confondono UEFI e Secure Boot (quest'ultima è solo una delle caratteristiche della prima), ma merita di essere menzionata come differenza tra BIOS e UEFI perché causa alcuni problemi ai nuovi computer Windows 8. Se hai un sistema più vecchio o sei abbastanza a tuo 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 (da MBR a BIOS; da GPT a UEFI). Poiché l'MBR supera a 2 TiB (assumendo dimensioni di settore standard), ciò significa che UEFI è una necessità pratica per avviare Windows su dischi di oltre 2 TB. Tuttavia, puoi comunque utilizzare dischi di grandi dimensioni come i dischi di dati in Windows e puoi avviare alcuni sistemi operativi non Microsoft (come Linux e FreeBSD) su dischi di grandi dimensioni utilizzando GPT sotto BIOS.

In pratica, se sei preoccupato o interessato all'UEFI, il problema più grande è semplicemente che l'UEFI è abbastanza nuovo che il supporto è un po 'discutibile, in particolare in alcuni sistemi operativi più vecchi e più esotici. La stessa UEFI è abbastanza nuova che la maggior parte delle sue implementazioni sono buggy e quelle che non sono abbastanza diverse tra loro da poter essere difficile descrivere le cose in generale. Pertanto, l'utilizzo di UEFI può essere una sfida. OTOH, UEFI è il futuro. Ha alcuni vantaggi modesti, alcuni dei quali diventeranno più importanti nel tempo (come il limite del disco di avvio 2TiB di Windows). Il passaggio a un avvio UEFI modificherà alcuni dettagli del processo di avvio, ma l'esperienza di elaborazione complessiva non cambierà molto quando si superano eventuali problemi di avvio.


MODIFICARE:

Potresti espandere le impostazioni OpRom (Opzione Rom). Sembrano consentire 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 firmware che si interfaccia con il firmware sulla scheda madre. I due tipi di firmware devono essere in grado di "parlare" se il firmware della scheda deve fare qualcosa di buono. Ciò è necessario per utilizzare la scheda prima dell'avvio di un sistema operativo, ad esempio per visualizzare le opzioni del firmware o un menu di boot manager su una scheda video, eseguire un avvio di rete tramite una scheda di rete o eseguire l'avvio da un disco rigido collegato a una scheda controller del disco.

Proprio come con i caricatori di avvio, il codice nel firmware di un dispositivo plug-in viene scritto per interfacciarsi con BIOS o EFI (anche se le schede plug-in possono supportare entrambi, se non sbaglio). Alcuni EFI offrono opzioni per abilitare o disabilitare questo supporto su una base dettagliata, come hai osservato. In alcuni casi, un EFI può utilizzare il supporto in modalità BIOS di una scheda per consentirgli di funzionare in modalità EFI, "traducendo" le chiamate. (Questo è comune con le schede video, ad esempio; puoi spesso collegare una vecchia scheda video con nient'altro che supporto BIOS nel suo firmware e comunque utilizzarla per l'avvio in modalità EFI.)

Non so esattamente cosa faccia ciascuna delle impostazioni che noti. Ad 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 utilizzare 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 aspetto che i dettagli differiscano da un EFI all'altro, quindi potrebbe essere necessario consultare la documentazione del computer o sperimentare se è necessario conoscere i dettagli. Ho visto alcuni computer con opzioni dal suono molto simile in due menu diversi, il che complica ulteriormente le cose.


Se un disco rigido ha sia una partizione di avvio BIOS che una partizione di sistema EFI, significa che questo disco rigido può essere avviato in modalità BIOS e EFI? Quindi il disco rigido è "modalità di avvio" agnostico? Nel tutorial di gdisk ho visto che impostava una partizione di avvio BIOS e una partizione di sistema EFI. Anche in altri casi, alcuni hanno detto che potrebbe essere necessario /bootsu una partizione diversa, (principalmente perché sto cercando di utilizzare ZFS). Come si potrebbe conciliare un RAIDED /bootcon la partizione di avvio del BIOS e la partizione di sistema EFI?
CMCDragonkai,

Un disco può avere sia una ESP che una partizione di avvio del BIOS. Quest'ultimo è utilizzato solo da GRUB, quindi un disco può essere avviabile sia in EFI che nel BIOS anche senza quest'ultimo, a seconda del boot loader utilizzato. Una /bootpartizione Linux separata esiste normalmente al di fuori di un array RAID. Indipendentemente dalla modalità di avvio, il caricatore di avvio deve essere in grado di leggere il kernel e la maggior parte dei caricatori di avvio non è in grado di gestire il RAID software. (Presumibilmente GRUB può farlo, ma poche persone ci provano persino.)
Rod Smith

Ho bisogno di usare un RAID software /bootperché ZFS non può /bootaverlo. Ho chiesto sulla mailing list di ZFS su Linux.
CMCDragonkai,

1
Il BIOS non ha nulla di equivalente in remoto a Secure Boot.
Rod Smith,

1
Il supporto UEFI è abbastanza buono nei sistemi operativi mainstream più popolari, specialmente in Windows 7 e versioni successive e più recenti di Linux. Se ti sposti al di fuori di quel regno, dovresti ricercare il supporto UEFI del tuo SO specifico. L'ultima volta che ho controllato, ad esempio, ReactOS, Haiku e FreeDOS mancavano del supporto UEFI; tuttavia, è da un po 'che non ne controllo uno, quindi è possibile che uno o più di essi dispongano ora del supporto UEFI.
Rod Smith,

21
  • Come tutti sappiamo che il BIOS è una parte importante per l'accesso all'opzione di avvio. Quindi ora UEFI lo farà? Come?

UEFI è un'interfaccia firmware multipiattaforma che sostituisce lo standard firmware specifico per x86 denominato BIOS. Molte implementazioni UEFI includono anche una compatibilità BIOS / modalità "legacy", per consentire l'avvio da MBR e la presentazione di un'interfaccia simile al BIOS ai sistemi operativi; tuttavia, ciò non è richiesto dallo standard.

  • Come faccio a sapere che sto avviando con UEFI non con BIOS?

Se si dispone di una scheda madre compatibile UEFI che offre l'avvio BIOS compatibile / legacy, il menu del firmware fornirà opzioni come l'impostazione di una modalità di avvio predefinita o anche l'avvio di singoli dispositivi in ​​modalità UEFI o BIOS: Altrimenti, potrebbe non essere facile modo di dire, senza ad esempio sondare il firmware utilizzando un sistema operativo.

  • Allora, qual è la vera differenza tra "avvio con BIOS" e "avvio con UEFI"?

Ci sono molte differenze:

  • UEFI definisce un'interfaccia firmware-SO simile come BIOS ma non è specifica per nessuna architettura di processore. Il BIOS è specifico dell'architettura del processore Intel x86, in quanto si basa sull'interfaccia "modalità reale" a 16 bit supportata dai processori x86.
  • UEFI può essere configurato per accelerare varie parti del processo di avvio, ad esempio UEFI su Gigabyte GA-EP45-DS3 inizializza in 11 secondi rispetto al BIOS in 19 secondi .
  • La modalità UEFI può presentare diverse funzionalità firmware / hardware allo stesso sistema operativo installato rispetto alla modalità BIOS.

Vedi maggiori informazioni su UEFI .


1
Non è sempre possibile stabilire quale sia la modalità di avvio effettiva basata esclusivamente sulle impostazioni del firmware, poiché la maggior parte degli EFI si basa su fattori basati su disco, nonché sulle impostazioni del firmware, per determinare la modalità di avvio. Tali fattori basati su disco includono il tipo di tabella delle partizioni, le impostazioni del flag "boot / active" nell'MBR, la presenza / assenza della partizione di sistema EFI o dei file al suo interno e così via. L'unico modo per dirlo con certezza è verificare la presenza di segni di avvio in modalità EFI o BIOS nel sistema operativo che hai avviato e tali segni sono specifici del sistema operativo.
Rod Smith,

1
No, UEFI non è mai "implementato su un BIOS tradizionale". UEFI è un tipo di firmware che sostituisce il vecchio tipo denominato BIOS. Può includere una modalità di compatibilità / legacy che gli consente di eseguire l'avvio da un MBR in stile BIOS e di presentare un'interfaccia equivalente al BIOS per i sistemi operativi che ne desiderano uno, ma ciò non significa che abbia al suo interno un BIOS.
underscore_d

1
Cosa significa P0 / P1 / P2 nella tua immagine?
CMCDragonkai,

Il collegamento all'immagine è interrotto
Dan Dascalescu,

1
@underscore_d, ci sono implementazioni EFI eseguite su un BIOS tradizionale. Ne ho scritto uno, il Gigabyte "ibrido EFI", qui. La mia esperienza con questo è stata piuttosto negativa. Esistono anche Clover e DUET, che funzionano come caricatori di avvio su computer standard basati su BIOS per consentire loro di eseguire caricatori di avvio e sistemi operativi EFI. Clover e DUET non sono tecnicamente firmware, quindi non sono sicuro che contino davvero.
Rod Smith

8

D: Come tutti sappiamo, il BIOS è una parte importante dell'accesso alle opzioni di avvio. Quindi ora UEFI lo farà? Come?

A: Questa è una confusione sui termini. Ad esempio, "Accedi al BIOS per cambiare blabla". Il termine politicamente corretto è "utility di configurazione del firmware" per quella cosa che inserisci. Se si parla di "BIOS" in contrasto con "UEFI", si riferisce a qualcos'altro, vale a dire: l'ambiente di esecuzione di avvio.

Quindi, se intendi quell'utility di installazione, a) non chiamarla UEFI eb) è sostanzialmente la stessa cosa di una volta.

Il modo in cui l'utility di installazione comunica con l'hardware e la sua memoria permanente è privata per il firmware. Quindi non è cambiato nulla lì.

D: Qual è la vera differenza tra "avvio con BIOS" e "avvio con UEFI"?

A: L'ambiente in cui si trovano i bootloader è diverso. E con UEFI, quell'ambiente è più chiaramente specificato, molto più moderno e ricco di funzionalità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.