Capire MBR/BIOS e GPT/UEFI

Traduzione e adattamento a cura di Naonis dell’articolo apparso nel sito del produttore al seguente link

Master Boot Record (MBR) e GUID Partition Table (GPT), sono due modi diversi di memorizzare le informazioni sulle partizione e di avvio su un disco. Comprendere questi schemi di partizionamento è essenziale per capire come vengono memorizzate le informazioni sui vostri dispositivi di archiviazione e scegliere lo schema di partizionamento corretto per il vostro scenario.

Background su Firmware, BIOS e UEFI

Prima di confrontare direttamente MBR e GPT, è utile ricordre un po’ il motivo sul perché esisaono due diversi standard. Per rispondere a questa domanda, dobbiamo prima comprendere cosa sisa il firmware del computer.

Il firmware è un software che fornisce un controllo di basso livello per un dispositivo hardware e di solito è incorporato nel dispositivo stesso. Per esempio, il firmware che si trova su una Smart TV, memorizzato in una memoria non volatile all’interno della TV stessa. Utilizzando il firmware, è possibile modificare le impostazioni del televisore, scaricare applicazioni e aggiornare il firmware del televisore stesso.. In modo simile al firmware del televisore, possiamo usare il firmware del computer per interagire con l’hardware del computer a basso livello, per esempio cambiare la modalità di memorizzazione, cambiare la velocità delle ventole, overcloccare la CPU, e cambiare le impostazioni di memorizzazione e di avvio.

Ci sono due tipi di firmware per schede madri: BIOS e UEFI. Si sente spesso parlare di BIOS e UEFI in modo intercambiabile quando si parla di firmware per computer, ma questo non è esatto. Sia BIOS che UEFI sono tipi di firmware per computer, con alcune importanti differenze tra di loro.

Il BIOS è il firmware il più vecchio tra i due ed era originariamente proprietà del Personal Computer IBM. Dopo il successo del PC IBM, alcune aziende iniziarono a copiare il design del PC IBM e a produrre computer in grado di eseguire lo stesso software del PC IBM. Questi dispositivo sono stati spesso indicati come IBM PC compatibili. Molti di questi computer avevano la loro versione del BIOS IBM. Altre aziende come Phoenix Technology progettarono un proprio firmware compatibile con il BIOS IBM e lo hanno dato in licenza a produttori OEM terzi come HP e AT&T. Questo fu l’alba del BIOS che divenne uno standard de facto, con molti OEM e produttori di schede madri che usavano questo firmware simile al BIOS di terze parti.

Con il passare del tempo, e in qualche misura della natura ‘de facto’ dello standard, emersero molte limitazioni nel BIOS e, per cercare di superarle, Intel sviluppò e pubblicò lo standard Extensible Firmware Implementation (EFI). Nel 2005, fu costituito il forum Unified EFI, progettato per continuare lo sviluppo della specifica EFI e promuovere la sua adozione nell’industria. I membri del forum includono Intel, Microsoft, Apple, AMD, Dell, HP, American Megatrends, Phoenix technologies e molti altri. Il firmware moderno è basato sulla specifica UEFI e non sulla precedente specifica EFI sviluppata solo da Intel. Il supporto di Windows per EFI è iniziato con Windows Server 2003 (EFI 1.1) nell’aprile 2003 e Windows XP 64-Bit Edition sulla piattaforma Intel Itanium nell’ottobre 2001. Windows XP 64-Bit Edition non dovrebbe essere confuso con Windows XP Professional x64 Edition che girava sulla piattaforma x86-64 e che fu rilasciato nell’aprile 2005. Itanium, a differenza delle CPU x86 e x86-64, non supportava la modalità reale x86. Il supporto UEFI divenne poi più diffuso con Windows 8 e quandi i Mac di Apple che passarono alla piattaforma Intel. Windows 11 impone una serie di caratteristiche hardware per garantire una linea di base per un sistema sicuro. Come parte di questo, Windows 11 supporterà solo l’avvio UEFI.

Quali sono i limiti del BIOS e i punti di forza di UEFI?

Quali sono dunque i limiti del firmware BIOS e come UEFI li supera? Dato che il firmware BIOS è stato progettato per funzionare sul processore 8086 a 16 bit del PC IBM, il firmware BIOS è specifico per l’architettura della CPU x86 e supporta solo la modalità processore a 16 bit. La modalità del processore a 16 bit è comunemente chiamata ‘modalità reale’ a causa dell’indirizzo di memoria che corrisponde direttamente a posizioni fisiche nella memoria, e non fa uso di paginazione e memoria virtuale. Questo significa che il BIOS può usare solo 1 MB di spazio di memoria indirizzabile; questo limita la memoria indirizzabile a 64KB, il che significa che tutti i driver di dispositivi pre-OS, come un controller RAID, devono anche funzionare in modalità a 16 bit.

Un’altra limitazione del BIOS è la mancanza di uno standard definito, come risultato di questo ci sono molte diverse varianti di firmware BIOS che si possono trovare sui computer. Questo può rendere il supporto dell’hardware più difficile, poiché più versioni dello stesso driver possono essere necessarie per diverse versioni di BIOS.

Al contrario, UEFI non è specifico per nessuna architettura di CPU e può supportare versioni a 64 bit di qualsiasi chipset, incluso il supporto per CPU ARM che non usano il set di istruzioni x86-64. Le prestazioni di avvio UEFI sono molto più veloci superando la limitazione del BIOS di essere in grado di leggere solo un singolo settore per operazione di I/O.

Lo standard UEFI definisce la sintassi e le regole per lo sviluppo del firmware UEFI, il che significa che tutti i firmware UEFI sono essenzialmente gli stessi. Questo semplifica lo sviluppo di driver standard e applicazioni UEFI (ad esempio i boot loader del sistema operativo come Windows Boot Manager), poiché funzioneranno su tutte le versioni del firmware UEFI. UEFI supporta anche la verifica delle firme binarie del software coinvolto nel processo di avvio, tra cui: driver del firmware, applicazioni EFI e il sistema operativo. La verifica di questi componenti di avvio assicura che solo il software di fiducia dell’OEM venga eseguito durante l’avvio, questo è noto come ‘Safe Boot‘. Questo aumenta notevolmente la sicurezza del sistema mitigando un possibile vettore di attacco. La maggior parte delle implementazioni UEFI include anche un modulo di supporto alla compatibilità (CSM) che permette al firmware UEFI di emulare i firmware BIOS precedenti. Questo permette al firmware UEFI di avviare i vecchi sistemi operativi che supportano solo il BIOS e l’avvio legacy.

MBR e GPT

Quando si parla di MBR e GPT, è importante chiarire cos’è una partizione. Una partizione è una sezione logica di un dispositivo di archiviazione costituito da settori contigui, utilizzati per memorizzare informazioni. I file system formattano queste partizioni in volumi. Le informazioni su queste partizioni (per esempio il numero di partizioni, i settori iniziali e finali delle partizioni, gli attributi delle partizioni, ecc. Questa tabella delle partizioni è memorizzata nel Master Boot Record sui dischi MBR e nella GUID Partition Table sui dischi GPT.

Anche se possiamo pensare che i tipi di firmware e gli schemi di partizionamento siano strettamente accoppiati, è importante notare che sono concetti separati. Discuteremo MBR in termini di avvio BIOS, e GPT in termini di avvio UEFI. Tuttavia, in linea di principio è possibile configurare un sistema con firmware BIOS per avviare utilizzando un disco GPT, e viceversa.

I dischi MBR sono principalmente avviati dal BIOS, di conseguenza il firmware del BIOS e i dischi MBR sono collegati e, proprio come il BIOS, anche MBR ha diverse limitazioni. MBR è limitato a 4 partizioni primarie che non possono coprire più di 2TB. Il limite di 2TB è dovuto al fatto che l’MBR ha 32-bit per indirizzare i settori sul supporto di memorizzazione, con una dimensione standard del settore di 512 byte, la dimensione massima si aggira intorno ai 2,2 TB. Pertanto, qualsiasi memorizzazione oltre i 2,2 TB richiederebbe più bit per essere indirizzata, e non può essere indirizzata dallo spazio di indirizzo a 32 bit dell’MBR1. I dischi MBR contengono solo una copia dell’MBR, che contiene la tabella delle partizioni e le informazioni di avvio; qualsiasi corruzione dell’MBR può impedire l’avvio del sistema operativo.

Lo schema di partizione GPT è stato sviluppato da Intel in tandem con la specifica EFI, questa è stata poi adottata dal forum UEFI, di conseguenza, possiamo pensare che i dischi GPT siano legati al firmware UEFI. I dischi inizializzati GPT hanno diversi vantaggi rispetto ai dischi MBR, i dischi GPT hanno un numero massimo di 128 partizioni e i dischi hanno un limite teorico di 18 exabyte, anche se questo è limitato dal limite di volume di 256 terabyte dei file system di Windows2. I dischi GPT contengono anche una copia ridondante della GUID Partition Table, che viene utilizzata in caso di corruzione della GUID Partition Table primaria.

Conclusione, Macrium Reflect e gli schemi di partizione

Macrium Reflect supporta pienamente entrambi i dischi MBR e GPT. Il supporto di ripristino di Macrium Reflect può essere avviato sia in modalità UEFI che legacy e può essere utilizzato per riparare i problemi di avvio dei sistemi operativi installati su entrambi i dischi MBR e GPT. L’articolo linkato di seguito contiene i passaggi per risolvere i problemi di avvio di Windows per entrambi i dischi MBR e GPT utilizzando il supporto di ripristino di Macrium Reflect:

https://knowledgebase.macrium.com/display/KNOW80/Fixing+Windows+boot+problems

Al seguente link invece un video sulla stessa problematica:

https://www.macrium.com/fixing-windows-boot-problems-using-macrium-rescue-media

Possiamo aspettarci di vedere GPT e UEFI diventare sempre più diffusi  per i molti vantaggi che hanno rispetto a MBR e BIOS, e sicuramente diventare predominanti dato che Windows 11 che supporta solo sistemi UEFI. Se avete intenzione di aggiornare il vostro vecchio sistema BIOS a un sistema UEFI, allora vi consigliamo di assicurarvi di usare un disco GPT per sfruttare al meglio questi vantaggi. Macrium Reflect può essere utilizzato per ripristinare un’immagine del disco MBR su un disco GPT senza perdita di dati. L’articolo linkato qui sotto contiene i passi per farlo:

https://knowledgebase.macrium.com/display/KNOW80/Restoring+an+MBR+System+image+to+UEFI-GPT

Note:

1 – Alcuni dispositivi USB/SATA traducono in settori da 4096 byte invece dei 512 byte standard. Questo permette all’MBR di indirizzare fino a 16TB di memoria invece di 2TB. Maggiori informazioni possono essere lette su questo al link qui sotto:

https://knowledgebase.macrium.com/display/KNOW80/Incompatible+Disk+Selected

2 – Il limite massimo di dimensione del volume è aumentato dal Resistant File System (ReFS) a 35 PB. ReFS è pienamente supportato da Macrium Reflect Server e dalle edizioni Server Plus.

https://docs.microsoft.com/en-us/windows-server/storage/refs/refs-overview