| Línia 76: | Línia 76: | ||
* Pot donar problemes durant una actualització de bootloader.... | * Pot donar problemes durant una actualització de bootloader.... | ||
|} | |} | ||
== Instalació del CentOS en un sistema UEFI == | |||
La primera diferència important és que durant el particionat del disc s'ha d'usar el format GPT en lloc del MBR de tota la vida. També s'ha de afegir la partició d'arrencada UEFI a la llista de particions a montar. En concret s'ha de montar a /boot/efi. Si es conserva el Windows aquesta partició *NO* s'ha de formatejar. | |||
El segon canvi, és que després de instal·lar el Linux s'haura de entrar a la BIOS i canviar el bootloader per defecte per el de CentOS (/EFI/RedHat/grub.efi). | |||
Finalment, si es vol poder arrencar el Windows des del GRUB s'hauran de afegir les següents lines al /etc/grub.conf | |||
<pre> | |||
title Windows | |||
root (hd0,0) | |||
chainloader /EFI/Microsoft/Boot/bootmgfw.efi | |||
</pre> | |||
Revisió del 14:38, 18 març 2013
UEFI i CentOS
Introducció
La arrencada d'un PC x86 és gestionada per la BIOS, que s'encarrega de decidir quin dispositiu s'arrencarà i de carregar el bootloader i aquest carrega el O.S. Des de fa temps, l'estandard de la BIOS del PC, resulta insuficient, i molt limitat cosa que complica el bootloader. Limitacions:
- Mode real només 1MByte d'espai d'addreces (El kernel de Linux > 2Mbytes)
- Dificultat per tractar amb dispositius extraibles
- Només carrega un sector de 512bytes en memòria. Si el bootloader és més gran s'ha d'espavilar sol per carregar la resta.
- No funciona en mode protegit.
- No és capaç de gestionar la arrencada de diversos S.O. i requereix un bootmanager extern per poder fer-ho
- La taula de particions de disc soportada per la BIOS és molt limitada.
Per solucionar tots aquests problemes, Intel va crear l'EFI (Extended Firmware Interface).
L'EFI funciona en mode protegit, usa un esquema de particionat diferent (GPT) i és capaç de llegir particions FAT32. També disposa d'una area de memòria no volatil que comparteix amb el S.O. per amagatzemar dades de configuració, drivers .....
L'UEFI (Unified EFI) és l'estandard fet per l'industria del PC i no restringit a Hardware propietari Intel.
Arrencada UEFI
Un cop ha arrencat la BIOS UEFI, examina les dades en la memòria no volàtil per determinar quin dispositiu s'ha d'arrencar. Si el dispositiu és un disc , llavors examina la taula de particions buscant-ne una amb un GUID especial(C12A7328-F81F-11D2-BA4B-00A0C93EC93B). Aquesta partició ha de estar formatejada en FAT32 (Els Apple la tenen en HFS+ saltant-se l'estandard).
En Aquesta partició espera trobar una estructura de directoris del tipus /EFI/{OS}/BOOT/{bootloader}. La BIOS EFI decideix quin carregar en funció dels valors guardats a la memòria no volàtil.
UEFI i SecureBoot
El SecureBoot consisteix en que el firmware es nega a carregar un bootloader que no estigui signat amb una clau vàlida (Normalment carregada per el fabricant del PC)
Problemes amb els OS no Microsoft
Per culpa dels tractes que té Microsoft amb els fabricants de PCs, tots els PCs que venen preinstal·lats amb Windows 8 x64 i alguns de Windows 7 porten activat el sistema de 'Secure Boot' i pre-carregat amb la clau de Microsoft i en conseqüencia només es pot arrencar O.S. de Microsoft.
Per poder arrencar el Linux hi han 3 opcions:
| Opció | Pros | Contres |
|---|---|---|
| Activar el mode compatibilitat amb BIOS antiga |
|
|
| Desactivar el SecureBoot |
|
|
| Afegir clau a la BIOS |
|
|
Instalació del CentOS en un sistema UEFI
La primera diferència important és que durant el particionat del disc s'ha d'usar el format GPT en lloc del MBR de tota la vida. També s'ha de afegir la partició d'arrencada UEFI a la llista de particions a montar. En concret s'ha de montar a /boot/efi. Si es conserva el Windows aquesta partició *NO* s'ha de formatejar.
El segon canvi, és que després de instal·lar el Linux s'haura de entrar a la BIOS i canviar el bootloader per defecte per el de CentOS (/EFI/RedHat/grub.efi).
Finalment, si es vol poder arrencar el Windows des del GRUB s'hauran de afegir les següents lines al /etc/grub.conf
title Windows root (hd0,0) chainloader /EFI/Microsoft/Boot/bootmgfw.efi