Diferencia entre BIOS y UEFI (MBR y GPT)
En este manual, vamos a tratar el tema de la tabla de las particiones (MBR o GPT).
Las particiones, son obligatorias y vienen impuestas por el firmware de nuestra máquina (BIOS o UEFI)
La BIOS está siendo reemplazada por UEFI (EFI), mucho más amigable y gráficamente superior, siendo UEFI un mini "sistema operativo" en el cual se puede usar con teclado y ratón y soporta gestión de redes, pudiendose configurar en remoto desde otro pc, al contrario que BIOS no es un mini sistema operativo, solo se puede usar con el teclado y en el propio pc sin gestión de redes.
La gran mayoría de los nuevos firmware actuales soportan los dos modos:
- BIOS (Legacy Mode)
- UEFI
Lo primero que tenemos que tener presentes, (estamos preparando la tabla de particiones y las particiones) del disco duro (dependiendo de la tecnología usada: HD o SSD) cuando todavía no esta instalado el sistema operativo.
Conceptos básicos:
Firmware : Es un programa que es grabado en una memoria ROM y establece la lógica de más bajo nivel que controla los circuitos electrónicos de un dispositivo. Se considera parte del hardware por estar integrado en la electrónica del dispositivo, pero también es software, pues proporciona la lógica y está programado por algún tipo de lenguaje de programación. El firmware recibe órdenes externas y responde operando el dispositivo. El firmware se encuentra en: monitores, impresoras, escáner, microprocesadores, etc. La BIOS y el UEFI (EFI) son programas firmwares.
BIOS : (sigla en inglés de Basic Input/Output System ; en español «sistema básico de entrada y salida») es un tipo de firmware que localiza y prepara los componentes electrónicos o periféricos de una PC, para comunicarlos con algún sistema operativo que la gobernará. Para ello la máquina cargará ese sencillo programa en la memoria RAM central del aparato. El programa está instalado en un circuito integrado de la placa base y realizará el control de la misma en el tiempo de arranque o encendido, proporcionando funcionalidades básicas: chequeo de la memoria principal y secundaria, comunicación con el usuario vía monitor o teclado y enlace mediante los procesos de arranque o booting con el núcleo del sistema operativo que gobernará el sistema. Por lo general el término se usa de forma ambivalente para referirse al software BIOS o a la memoria ROM donde residía históricamente en los sistemas de computo basados en la arquitectura x86.
UEFI (EFI) : (Unified Extensible Firmware Interface) es un firmware estándar para PCs, diseñada para reemplazar el BIOS (sistema básico de entrada y salida). Se ha diseñado para mejorar la interoperabilidad del firmware y solucionar las limitaciones del BIOS.
Algunas de las ventajas que ofrece el firmware UEFI son:
- Ayudar a proteger el proceso previo al inicio frente a ataques de bootkit.
- Tiempo de inicio y reanudación desde la hibernación más rápidos
- Compatibilidad con unidades de disco duro con particiones de más de 2,2 terabytes (TB).
- Compatibilidad con modernos controladores de dispositivos de firmware de 64 bits.
- Capacidad para usar el BIOS con hardware UEFI.
- Capacidad para usar Secure Boot.
- UEFI únicamente se puede instalar los sistemas operativos de 64 bits.
- El disco de instalación debe ser GPT (no MBR).
- Requiere de una partición UEFI de boot. Para ello, el disco debe estar vacío.
- Al soportar GTP admite discos de más de 2TB para el arranque del sistema.
- Compatibilidad para más de cuatro particiones por unidad.
- Inicio más rápido. En UEFI únicamente podemos instalar los sistemas de 64 bits. Los de 32 bits nunca se instalarán en modo UEFI.
La UEFI (EFI) es un firmware mucho más amigable que soporta un entorno gráfico de mayor calidad, multilenguaje, con precarga de aplicaciones o gestión de LAN, entre otras muchas opciones. EFI son las siglas de "Extensible Firmware Interface"
Los Mac montan EFI desde que se pasaron a los procesadores Intel, por el año 2006, así que son los ordenadores más avanzados que los PCs.
Secure Boot : "Arranque seguro" es una nueva característica obligada por microsoft en el UEFI que apareció en 2012, en PCs que incluían preinstalaciones de Windows 8.
Esta función "oficial" de Secure Boot es impedir la ejecución de cualquier software no firmado y certificado por el fabricante. Con lo cual impide la instalación de cualquier Distribución de Linux.
Después de mucho pelear y discutir por el uso de Secure Boot, que impedía la instalación de cualquier Distribución Linux. La Linux Foundation consiguió crear un pre-loader que permite arrancar sistemas operativos Linux en sistemas con Secure Boot activado.
Algunas placas bases permiten deshabilitar la funcion "Secure Boot"
Secure boot "previene" que un sistema operativo o algún programa “no autorizado” cargue durante el proceso de inicio del ordenador, es decir, no podemos arrancar un USB o DVD booteable con un sistema operativo.
Actualmente existen dos sistemas de tablas de particiones: Master Boot Record (MBR) y GUID Partition Table (GPT).
MBR : Se suele llamar registro de arranque principal o registro de arranque maestro al primer sector de un disco duro. A menudo se llama sector de arranque del disco a los primero 512 bytes de un disco.
Esta partición es necesaria para el arranque del sistema operativo, o bien para almacenar una tabla de particiones del disco.
El MBR utiliza BIOS es pequeño e inflexible. Las direcciones físicas de la unidad del disco duro se le llama CHS (Cilindro, Cabeza, Sector). El tamaño de bloque del disco duro usando MBR es de 512 bytes limitando las particiones hasta un tamaño maximo de 2 TB.
Cuando el equipo finaliza la inicialización a través de BIOS, comprueba el MBR para la obtener información del sistema de arranque. En función de lo que contenga el MBR, el equipo inicia el sistema operativo o presenta una lista de arranque de sistemas operativos instalados en el equipo.
BIOS - MBR |
Programa GParted seleccionando msdos en la nueva tabla de particiones, usando Firmware BIOS |
GPT : GUID partition table. Nace como una parte del estándar EFI, para la colocación de las particiones en un disco duro, superando las limitaciones tecnológicas de MBR en sistemas BIOS tradicionales.
A diferencia de MBR, consta de una tabla de particiones al principio del disco, cuya primera entrada es MBR para mantener la compatibilidad con los viejos sistemas PC BIOS.
MBR, utiliza un direccionamiento a las unidades físicas del disco duro, GPT utiliza un sistema de direccionamiento lógico llamado LBA (Logical Block Addressing).
LBA 0 contiene la información del MBR heredado. LBA 1 contiene la cabecera de la tabla de particiones y el GUID del disco. LBAs 2 al 33 contiene las entradas para las particiones, en las que se indica el tamaño y GUID de cada partición.
LBA 34 en adelante --> espacio usable en el disco.
GPT no tiene particiones lógicas ni primarias, sólo particiones
UEFI - GPT |
Cuando se va a crear una nueva tabla de particiones en un disco duro y desea utilizar GPT, sólo tienes que seleccionar la opción gpt.
Programa GParted seleccionando gpt en la nueva tabla de particiones, usando Firmware UEFI |
Las diferencias entre MBR y GPT
MBR no soporta más de 4 particiones primarias, que no pueden exceder de 2,2 TB, es decir, que como mucho, puede gestionar discos de 8,8 TB.
Mientras que GPT soporta hasta 128 particiones primarias, cada una de hasta 256TB.
Dicho de otro modo, con GPT, desaparece la limitación de las 3 particiones primarias y una extendida con a su vez un cierto número de particiones lógicas.
- UEFI. Unified Extensible Firmware Interface. También conocido como tabla de particiones GUID (GPT).
La tabla de particiones GUID (GPT GUID Partition Table) se introdujo como parte del Firmware Extensible Unificado Interface (UEFI). GPT proporciona un mecanismo más flexible para particionar los discos de arranque que el viejo Master Boot Record (MBR).
Una partición es un espacio contiguo de almacenamiento en un disco físico o lógico que funciona como si fuera un disco físicamente independiente. Las particiones son visibles para el firmware del sistema y los sistemas operativos instalados. El acceso a una partición es controlada por el firmware del sistema antes de que el sistema inicie el sistema operativo y, a continuación, el sistema operativo después de que se inicie.
GRUB2 (Gestor de Arranque, BootLoader en Linux)
Un gestor de arranque es un programa que te permite seleccionar que sistema operativo arrancar. Un cargador de arranque, por otro lado, se carga un núcleo del sistema operativo y transfiere el control al mismo. Muchos programas de realizar ambas funciones, pero otros manejar sólo una de ellas. Menos de (U) EFI, el firmware por lo general incluye un gestor de arranque simple, y cada sistema operativo proporciona su propio cargador de arranque. La mayoría de los gestores de arranque EFI y el gestor de arranque residir en sus propios subdirectorios del directorio EFI en el ESP.
GRUB2 es la nueva versión de GRand Unified Bootloader (GRUB). GRUB2 derivada de PUPA, un proyecto de investigación destinado a mejorar el GRUB: ha sido totalmente reescrito a fin de proporcionar una mayor modularidad y portabilidad
Está destinado a reemplazar el gestor de arranque GRUB anterior (referido como "GRUB Legacy"). GRUB2 tiene un código base completamente independiente de GRUB Legacy, y dispone de instalaciones como un nuevo shell como sintaxis que permiten funciones avanzadas de scripting. Usuarios de GRUB Legacy son animados a emigrar a GRUB2.
En resumen, el gestor de arranque («bootloader») es el primer programa que se ejecuta cuando se inicia el equipo. Es el responsable de cargar y transferir el control al kernel de Linux, que, a su vez, inicializa el resto del sistema operativo.
Grub2 permite:
- arranque desde plataformas UEFI
- arrancar desde discos GPT con particiones sin siquiera tener un MBR híbrido extraño, a pesar de que uno puede usar una por razones de compatibilidad / portabilidad;
- arranque desde la administración de volúmenes lógicos directamente como soporte LVM2;
- arranque desde incursión DM-RAID soporte para RAID 1, 4, 5, 6, 9 y 10 [0?] [o 1x?];
y el arranque desde dispositivos cifrados, probablemente LUKS, a causa de la documentación inexistente a pesar de los módulos de cypher / hash estar allí: lo que no hay orientación sobre un howto por ahora.
========================================
Nota post articulo.
Aclaración sobre Secure Boot
Secure Boot : "Arranque seguro" es una nueva característica obligada por microsoft en el UEFI que apareció en 2012, en PCs que incluían preinstalaciones de Windows 8.
Esta función "oficial" de Secure Boot es impedir la ejecución de cualquier software no firmado y certificado por el fabricante. Con lo cual impide la instalación de cualquier Distribución de Linux.
Porque existen problemas para instalar Debian y cualquier Linux.
Como puedes leer en este articulo el Secure Boot, es una opción que se incluyo por ya sabes que empresa.
¿Y sabes para que? Para seguir con el monopolio de una famosa empresa y ponérselo mucho mas difícil y a veces imposible la instalación de un sistema GNU/Linux como Debian, a los usuarios de GNU/Linux
La función de Secure Boot es impedir la ejecución de cualquier software no firmado y certificado por el fabricante (para firmarlo y certificarlo se tiene que pagar, ya os imagináis a que empresa), por lo que cualquier amenaza que intentara atacar durante el inicio se vería frustrada pues se detendría el arranque del sistema. Esto por ejemplo deja en fuera de juego la posibilidad de instalar distribuciones Linux.
Cuando te compras una nueva placa base o un nuevo PC y quieres instalar el sistema operativo Debian, es cuando empiezan los problemas. Y todos los noveles se creen que el problema es de la distribución que estas intentando instalar, en este caso de Debian. Pero la realidad es otra bien distinta, el problema es del Secure Boot, que no deja instalar nada que no este firmado digitalmente, y para poder firmar digitalmente se tiene que pagar por una firma. ¿y a quien se tiene que pagar? podéis imaginar a quien. Lo malo, no es solo pagar, es que si eres de los que instalas mas de un Linux a la misma vez, tienes que pagar por cada Linux que quieras instalar y además por cada versión de dicha distribución.
Yo uso GNU/Linux para no tener que pagar por cada programa que uso, Y como no tengo que pagar para usar el sistema operativo no pienso pagar para poder instalarlo. El culpable de todo esto es el Secure Boot.
A quien no le a pasado alguna vez lo siguiente:
Estas realizando una instalación de Debian, ni siquiera te deja empezar la instalación, no te reconoce el pendrive o el cd/dvd de instalación de Debian. (y a pensado que el pendrive o el CD/DVD se encontraba estropeado, cuando realmente el culpable es el Secure Boot).
En otras ocasiones si te deja empezar la instalación, y es al final del proceso cuando se instala el gestor de arranque GRUB2 y casi siempre falla por el Secure Boot de la UEFI, que no deja modificar el gestor de arranque, con lo cual no puedes instalar GRUB2 para arrancar tu sistema operativo Debian GNU/Linux.
Como podemos leer para instalar cualquier linux en nuestro nuevo PC o en nuestra nueva placa base, se tiene que desactivar el Secure Boot, pero el problema es que no todas las placas bases te dan dicha opción. Con lo cual te habrás comprado un nuevo PC para instalar Debian y no podrás instalar Ningún GNU/linux que no este firmado.
Si has leído bien, algunas empresas de sistemas operativos GNU/Linux, si compran la firma digital y puedes instalar una versión concreta de sus sistema operativo, como por ejemplo Ubuntu.
Una de las grandes diferencia entre BIOS y UEFI para un usuario de GNU/Linux es, que BIOS no tiene ninguna restricción para instalar cualquier GNU/Linux como Debian, y por el contrario UEFI incluye Secure Boot que hace imposible la instalación de cualquier GNU/Linux que no este firmado y certificado.
¿que será lo próximo que harán para joder a los usuarios de GNU/Linux?
Para que no podamos instalar nuestro Debian GNU/Linux y tener que usar un sistema operativo por el cual se tiene que pagar una licencia de uso, con el software firmado y certificado.
Recordemos que aparte del Secure Boot, otro gran problema que tenemos los usuarios de GNU/Linux son los DRIVERS y/o FIRMWARE que los fabricantes de dispositivos/periféricos no lo compilan o no lo crean para GNU/Linux, pero esto es para otra noticia de este blog.
Secure Boot en el UEFI de un portátil