La BIOS está siendo reemplazada por UEFI (EFI), mucho más amigables y gráficamente superiores.¿Tendré problemas para instalar Windows y Linux en el mismo equipo? ¿Merece la pena habilitar el Secure Boot?





Introducción

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.Se encuentra el firmware en monitores, unidades de disco,impresoras, microprocesadores, etc. La BIOS es un programa firmware.

La 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 POSTde la misma en el tiempo de arranque o encendido, proporcionando funcionalidades básicas: chequeo de la memoria principal y secundaria, comunicación con elusuario 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 ala memoria ROM donde residía históricamente en los sistemas de computo basados en la arquitectura x86.




¿Tienen la misma BIOS todas las placa base?

No, los fabricantes de placas base se limitan por lo general a comprar el núcleo o bien ajustan la configuración de la BIOS a sus placas base. Un tipo de BIOS se ajusta sólo, por lo tanto, a un determinado tipo de placa base. Los distribuidores principales de BIOS son las firmas americanas Phoenix, fabricante de las“Phoenix- BIOS”, y “Award-BIOS”, y AMI (“AMI-BIOS”). La mayoría de los ordenadores de hoy en día están dotados de una BIOS Award.


LBA: Logical Block Addressing, es un método muy común usado para especificar la localización de los bloques de datos de los sistemas de almacenamiento, principalmente secundario, del ordenador. El término LBA puede referirse también a la dirección del bloque al que enlaza. Los bloques lógicos en los ordenadores modernos son normalmente de 512 o 1024 bytes cada uno.

- CHS: Cylinder Head Sector, fue un método utilizado para dar direcciones a cada bloque físico de datos sobre un disco duro. Aunque los valores de CHS sólo tienen una directa relación física para los datos almacenados en los discos, los pseudo-valores CHS (que se pueden traducir por discos electrónicos o software) todavía están siendo utilizados por muchos programas de utilidad.

- GUID: Globally Unique identifier o GUID es un número pseudo-aleatorio empleado en aplicaciones de software. Aunque no se puede garantizar que cada GUID generado sea único, el número total de claves únicas (2128) es tan grande que la posibilidad de que se genere el mismo número dos veces puede considerarse nula en la práctica. El GUID es una implementación de Microsoft de un estándar llamado Universally Unique Identifier o UUID, especificado por la Open Foftware Foundation (OSF). Es esencialmente un número de 16 bytes escrito en modo hexadecimal empleando una palabra de cuatro bytes, tres palabras de dos bytes y una palabra de seis bytes, como por ejemplo {3F2504E0-4F89-11D3-9A0C-0305E82C3301}.


EFI vs. BIOS

EFI Asus



UEFI es el firmware que eventualmente reemplaza la BIOS de los PC comerciales. PCs certificadas para Windows 8 exigirá el arranque UEFI por defecto.

En Bios UEFI únicamente podemos instalar los sistemas de 64 bits. Los de 32 nunca se instalarán en modo UEFI.

La EFI es una BIOS mucho más amigable que la clásica con pantalla azul, que soporta un entorno gráfico de mayor calidad, multilenguaje, precarga de aplicaciones o gestión de LAN, entre otras muchas opciones. EFI son las siglas de "Extensible Firmware Interface", y lo podría definir como una BIOS gráfica y más rápida.

Los Mac montan EFI desde que se pasaron a los procesadores Intel, es decir, allá el año 2006, así que son los ordenadores más avanzados con respecto a esto.

SecureBoot

"Arranque seguro" es una nueva característica UEFI que apareció en 2012, con Windows 8 e n equipos preinstalados. El apoyo para esta función ha comenzado con Ubuntu 12.10 de 64 bits 12.04.2 (64 bits), pero no es totalmente confiable hasta la fecha, por lo que es posible que tenga que desactivarlo con el fin de ser capaz de arrancar Ubuntu.
La función de Secure Boot es impedir la ejecución de cualquier software no firmado y certificado por el fabricante. Pero como el objetivo de esta tecnología es acabar con los bootkits y no evitar que un usuario se pueda instalar Linux, ahora se ha hecho público desde la Linux Foundation un pre-loader firmado por Microsoft que permite arrancar un cargador de sistemas operativos Linux en sistemas con Secure Boot activado.
En octubre de 2012, la Fundación Linux ha anunciado su propio método de tratar con Secure Boot, que se refiere como un PreBootloader. 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.
Antes de comenzar con el tutorial, aclarar unas cosas:

  • Secure boot se trata de un protocolo de UEFI, no se trata de una característica de Windows 8.
  • Secure boot es parte de la arquitectura de arranque de Windows 8.
  • Windows 8 utiliza secure boot con el fin de garantizar que el entorno previo al sistema operativo es seguro.
  • Microsoft no controla las opciones del ordenador que prohíben otro sistema que no sea Windows, arrancar.



MBR vs GPT

La tabla de particiones GUID (GPT) se introdujo como parte del Firmware Extensible Unificado Interface (UEFI) iniciativa. GPT proporciona un mecanismo más flexible para particionar los discos de arranque que el viejo Master Boot Record(MBR) que era común en las PC.

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.


¿Puede tener un disco duro GPT y MBR?

No. Sin embargo, todos los discos GPT contienen un MBR de protección.

El MBR de protección protege los discos GPT publicados anteriormente de herramientas de MBR.

Cualquier distribución Linux con el soporte apropiado EFI y GPT en el kernel se puede cambiar el arranque BIOS- UEFI o viceversa mediante la instalación de un gestor de arranque y el ajuste de modo adecuado el firmware de arranque


GUID Partition Table (GPT).

  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Vista
  • Windows Server 2003 SP1
  • Windows Server 2003 (64-bit)
  • Windows XP x64 edition (sólo para leer)

Ni el Windows 2000, ni Windows NT 4.0, ni Windows 95/98 soportan GPT.


GPT fue creada para mejorar las limitaciones que tiene MBR:


  • MBR sólo soporta hasta 4 particiones primarias, o hasta 3 primarias y una extendida, la cual puede tener hasta 128 particiones lógicas. GPT soporta hasta 128 particiones primarias.
  • MBR soporta todas las máquinas de 32 y 64 bits. GPT soporta sólo las de 64 bits
  • MBR soporta hasta 2TB por partición. GPT soporta hasta 256TB por partición
  • Los discos removibles sólo pueden ser MBR.
  • MBR usa el viejo BIOS (fue creado hace 20 años) GPT funiona con EFI



En definitiva con GPT sólo se puede trabajar con Windows server 2003 SP1 +, XP 64-bit, Vista, Windows 7, Windows Server 2008. Te permite que las particiones tengan más de 2 TB y rompe el límite de 4 particiones primarias llegando a poder montar hasta 128.


Para particionar un disco GPT necesitas un particionador compatible con dicha tabla, y no todos los que traen las distros Linux lo son, al menos si la base de ellos es fdisk.

GParted es compatible con una tabla GPT, o usar una LiveCD de GParted, GPT fdisk también,
así como híbridas, EaseUS Partition Manager,


La manera que tenemos de saber si Windows se está instalando en una partición GPT es durante la instalación, en el apartado donde vemos los discos físicos de nuestra máquina, y si al la hora de crear la partición de instalación vemos que, además de la característica de 100 MB de sistema, se crea una segunda de una capacidad similar. Si es así, nuestra placa ha obligado al sistema operativo a crear una partición con GPT.


Si queremos instalar Windows sobre MBR:


diskpart
list disk
select disk 0 (donde "0" es el disco donde se instalará Windows)
clean
convert mbr
create partition primary
select partition 1
format fs=ntfs quick

Explicación convertir de GPT a MBR

- Arrancas desde el DVD de Windows hasta llegar a la opción donde te sale la lista de discos donde instalar Windows.
- Pulsa Shift+F10 y se te abrirá la ventana de comandos.
- En la ventana de comandos tecleas diskpart, que es el gestor de particiones de Windows en modo comando. ATENCIÓN haz esto solo con el HD del portatil conectado, sin discos externos ni memorias USB porque vas a borrar completamente el disco si te equivocas
- Una vez que te ponga DISKPART> tecleas: list disk te saldran todos las unidades de HD, si solo lo haces con el HD y el DVD tendras solo 2, el 0 y el 1, normalmente el 0 sera el HD.
- select disk 0 selecciona el disco 0.
- list partition, te muestra las particiones que tiene ese disco, comprueba que corresponden al disco correcto.
- clean, borra la tabla de particiones GPT tanto al principio como al final del disco.
Reinicias el equipo y vuelves a arrancar desde el DVD y ya deberías poder instalar Windows.


Esquema MBR

Esquema GPT






GRUB2

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 bootloader es el primer programa que se ejecuta cuando se inicia el equipo. Es 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 para los usuarios de GRUB Legacy

  • La actualización de GRUB Legacy a GRUB(2) es un proceso muy similar al de una instalación limpia de GRUB2


  • Hay diferencias en las órdenes de GRUB y GRUB2. Le recomendamos que se familiarice con los órdenes de GRUB2 antes de continuar.


  • GRUB2 es ahora modular, y ya no requiere «stage 1.5». En consecuencia, el gestor de arranque tiene una capacidad limitada y los módulos son cargados desde el disco duro en caso de necesidad (por ejemplo, si necesita soporte de LVM o RAID).


  • Las reglas de la nomenclatura de los dispositivos cambian de GRUB a GRUB2: Los discos duros están siendo ahora numerados a partir de 0, mientras que las particiones comienzan en 1 y son seguidos por el nombre del sistema de particionamiento usado. Por ejemplo, /dev/sda1 hace referencia a (hd0,msdos1) (para sistemas que usan MBR), o a (hd0,gpt1) (para los sistemas que usan GPT).




Dependencias grub2

  • bison
  • autoconf
  • automake
  • flex
  • autogen
  • python (2.x series) (for autogen.sh if building from bzr repo)
  • texinfo
  • help2man
  • gettext (NLS support)
  • device-mapper
  • freetype2 (libs)