martes, 21 de junio de 2016

BIOS, UEFI, y demás historias

Yo estoy muy feliz con mis ordenadores, todos fueron adquiridos antes del ‘boom’ de las particiones GPT (y su UEFI) y por lo tanto todos tienen el tipo de particionado ‘clásico’, o ‘tipo MsDOS’, o MBR (y su BIOS), que no me da ningún problema, me arreglo perfectamente con el tema de las tres particiones primarias, la extendida y sus particiones lógicas, etc… y no tengo ningún interés en meterme en más líos, mi objetivo solo es tener un ordenador que arranque y funcione.

Pero pensando que, a la larga, cualquier año de estos tendré que cambiar de equipo, y ya me encontraré, muy presumiblemente, con el Windows 10, las tablas de particionado GUID (GPT), etc., se me ha ocurrido que es bueno informarme un poco del tema que me va a llegar, y anotarlo aquí, para echar mano de él cuando proceda.

Como hago siempre, mi método es leer algún artículo interesante, entender y ‘digerir’ el concepto, buceando, si es caso, por San Google… y hacerme, al final, mis pequeños ‘apuntes tácticos’, para aclararme. Así que vamos allá.
El concepto de la BIOS 
Cuando se enciende el ordenador, y por decirlo de manera simplista, ‘algo’ tiene que comprobar cosas y decirle al sistema que se va a cargar los drivers o controladores, etc que tiene que usar, según qué teclado haya, qué discos duros y particiones, qué RAM, qué componentes de hardware (audio, video, usb…) etc, etc. y hacer, incluso, algunas configuraciones previas, antes de cargar el Sistema Operativo. Ese ‘algo’ es, tradicionalmente, la BIOS, acrónimo de ‘Basic Input Output System’, o sea, una interface entre el firmware y el S.O del ordenador
Y, porque así se diseñó, lo último que hace la BIOS es buscar, en un sector especial del primer disco duro, donde está instalado el Sistema Operativo, el MBR (Master Boot Record, o 'registro primario de arranque'), un programa que arranca el sistema operativo instalado que es quien, desde ese momento, toma ya las riendas del ordenador iniciado. Es lo que ha hecho Windows toda la vida.

Así que el arranque con BIOS (particionado clásico) se hace utilizando un sector del disco duro, que aloja al MBR. Y, cuando se instala un Linux, su GRUB sustituye al MBR, y así permite, si es caso, el ‘arranque dual’ porque GRUB, como sistema de arranque, ya sabemos que es mucho más flexible (y ‘tolerante’) que el MBR de Windows.

Pero ahora se oye hablar mucho del particionado GPT, y de la UEFI. Esto parece ser que es un invento ‘forzado’ por Microsoft, y yo no digo que no sea más seguro, o más actual (lo de la BIOS funciona desde 1975), o que eso de no tener que depender de las limitaciones de 4 particiones primarias, u otras ventajas en las que no voy a entrar (verlo, por ejemplo, en la Wikipedia) sea mejor… pero el particionado clásico siempre ha funcionado bien, y esto es un lío innecesario. Y es un lío porque introduce el concepto de Secure Boot e historias de esas que condicionan el uso de otro sistema operativo que no sea Windows.

Y lo malo es que la UEFI parece ser que se ha adoptado como estandar a futuro, en sustitución de la vieja BIOS. Así que vamos a centrar ideas… para cuando me toque tener que usarlo.

El particionado GUID (GPT) y la UEFI
Según define la Wikipedia, 'la Unified Extensible Firmware Interface (UEFI), es una especificación que define una interfaz entre el S.O y el firmware del ordenador, que remplaza a la antigua interface BIOS’. Su función es, por tanto, similar. Pero su diseño, es distinto. Porque ahora la UEFI busca un programa de arranque en un subdirectorio alojado NO en un sec­tor del disco duro, como hace la BIOS, sino dentro de una partición especial de este disco.
Esta partición especial (llamada partición EFI) es pequeña, de menos de 200 MB,, y debe de estar formateada con tipo FAT16 o FAT32.
(Nota, como unos pocos gestores de FAT no saben funcionar con particiones menores de 250 MB, lo mejor es que sea de unos 300 MB y evitamos problemas).
La partición EFI tiene que estar marcada, naturalmente, como ‘de arranque’ (boot), para que sea la pri­mera en ser examinada.
Pero a partir de aquí vienen los problemas, porque cada fabricante puede enfo­car las cosas ‘a su manera’. Por ejemplo, para arrancar Windows 8 la UEFI busca, en la partición EFI, el archivo EFI/Microsoft/Boot/Bootmgfw.efi. Este archivo está encriptado con una clave que hay que almacenar en la ROM de la placa base. Si la desencriptación que hace la UEFI falla, no se carga el SO. Esta comprobación es lo que se llama "secure boot". 
Y al instalar Linux en un sistema con UEFI, se copian los archivos necesarios dentro de un subdirectorio nuevo del directorio EFI de la partición EFI y se le indica a la UEFI que añada una nueva clave para desencriptar esos archivos. Y siguen los problemas: algunos fabricantes se resisten a que un programa externo añada claves; por eso el consejo general que se lee, cuando quieres instalar Linux teniendo un Windows ya instalado, es el de entrar en los ajustes de UEFI y desactivar "secure boot".

Pero de estos líos me ocuparé en otro momento, aquí lo único que quiero es aclarar que, en el futuro, tendremos acostumbrarnos a hablar de la UEFI (que muchos seguiremos llamándola, por seguir la costumbre, BIOS), que es diferente a la BIOS tradicional, que UEFI exige que nuestro disco duro tenga, en vez del MBR, una pequeña partición (primaria y booteable) especial, para el arranque (con el particionado tipo GUID (GPT) se pueden tener hasta 100 particiones primarias, así que, por este punto, no hay problema)… y que, de momento, podemos tener ciertos problemas a la hora de instalar Linux, sobre todo si existe un Windows. 
Aunque, en el futuro, confío que se unifiquen las cosas. 

Pero el concepto-clave es este: la UEFI sustituye a la BIOS, y requiere asignarle una partición específica, booteable, en el disco duro. Y puede haber problemas en la incorporación del sistema de arranque GRUB, por aquello de la seguridad interpuesta, y hay que saber solventarlo.

No hay comentarios:

Publicar un comentario