lunes, 9 de octubre de 2017

04 - BIOS UEFI

UEFI (Unified Extensible Firmware Interface) es una interfaz estándar impulsada por la mayoría de fabricantes de PC y diseñada para reemplazar la histórica BIOS de IBM. Es mucho mas amigable que la BIOS tradicional, soporta un entorno gráfico de mayor calidad, multilenguaje, pre-carga de aplicaciones, gestión LAN, etc.
No se limita a arquitecturas de 32 bits sino que también puede manejar arquitecturas de 64 bit, permitiendo que las aplicaciones en pre-boot puedan direccionar 64 bits.

Ejemplo de BIOS UEFI

En general ofrece varias ventajas
  • Inicios más rápidos
  • Compatible con discos de más de 2 TB
  • Particiones ilimitadas
  • Aumento de velocidades de transferencia sobre todo de múltiples archivos
  • Compatible con controladores de dispositivos modernos (firmware 64 bits)
  • SecureBoot (protección del inicio frente a bootkits)


Nota: Un bootkit es un programa malicioso que infecta el MBR. Es difícil de detectar porque su código esta fuera del sistema de archivos del SO. Además algunos bootkits esconden al MBR infectado devolviendo un MBR limpio cuando se intenta leer esta zona. El objetivo final es infectar el Sistema dirigiendo su ataque sobre el o sobre ciertas aplicaciones con fines variados, malware, agujeros de seguridad, ... 

Instalaciones UEFI. Consideraciones

  1. En Bios UEFI solo podemos instalar SO de 64 bits.
  2. No se puede instalar un SO desde un Pendrive en modo UEFI, excepto que la BIOS permita arranque USB en modo UEFI y casi ninguna lo hace.
  3. El disco donde instalemos tiene que ser GPT (no MBR).
  4. Requiere una partición adicional para el Boot.


La mayor parte de las BIOS nuevas tienen los dos modos:
  • Legacy Mode (Bios normal)
  • UEFI Mode

Nota: Para poder instalar Windows XP hay que activar Legacy Mode, deshabilitar Secure Boot y el particionado de disco debe ser MBR. Por contra para instalar Windows 8 en modo UEFI con Secure Boot activado se utiliza particionado GPT y tanto la BIOS como el disco o medio de instalación deberán estar configurados para UEFI.


Secure Boot


Se trata de un firmware propio de UEFI,  embebido en la máquina, que exige que el SO y sus drivers estén firmados digitalmente  y que dicha firma concuerde con el firmware embebido. Microsoft implementa en la propia arquitectura de su nuevo Windows 8, el arranque seguro, obligando a que el SO y sus drivers estén firmados digitalmente. Además para que los equipos comercializados con Windows 8 puedan tener la pegatina oficial tienen que implementar arranque seguro UEFI.
    Según Microsoft en la configuración del firmware se incluye una opción para que sea el usuario el que decida desactivar esta opción, pero si los fabricantes se sienten presionados por el gigante sería muy fácil dejar de incluir esa opción con tal de poder seguir vendiendo máquinas con la pegatina oficial de Microsoft y las repercusiones de esto podrían ser bastante nefastas para el usuario final, que con la excusa de la seguridad podría tener serios problemas para bootear un USB o un DVD con un SO no certificado, por poner un ejemplo Windows 7 o las distribuciones Linux.
  • ¿Estaría garantizado poder instalar el SO que el usuario decidiese?
  • ¿Qué ocurriría con los equipos a medio plazo?
  • ¿Quién sería la autoridad de certificación central para firmar otros SO?
  • ¿El resto de SO tendrían que negociar con Microsoft?

Opción Secure Boot

GPT vs. MBR


El sistema GPT se creó para UEFI con la idea de modernizar el proceso de arranque.
  • GPT puede manejar discos mayores de 2TB.
  • Permite una cantidad teórica ilimitada de particiones.
  • Ofrece muchas ventajas para servidores que usan sistemas avanzados que requieren grandes cantidades de espacio.
El problema es que un disco duro no puede tener particiones de ambos tipos y la solución pasa por eliminar la partición GPT, sin embargo el administrador de discos o el instalador de Windows no las eliminan y habrá que recurrir a la consola de Windows para su borrado o bien a través de utilidades externas.

SATA (IDE/AHCI)


Los discos duros SATA se pueden configurar en modo IDE o en modo AHCI. El primero permite compatibilidad con discos duros antiguos IDE mientras que el modo AHCI mejora el rendimiento de lectura y escritura y permite conexión en caliente. AHCI no es compatible con SO antiguos. Se puede cambiar la configuración de un disco SATA desde la BIOS.

Nota: Se suele poner el SATA en modo AHCI por ejemplo con SSD


Para finalizar veamos algunos escenarios:


1) Intento instalar Windows7 64b y la instalación lanza un mensaje diciendo que el sistema no puede instalarse porque el disco está en GPT y el hardware posiblemente no sea capaz de arrancarlo

En la ventana de seleccionar discos pulsa Shift+F10 para forzar la consola del sistema, desde alli:
  • diskpart
  • select disk 0
  • clean
  • exit
Esto elimina cualquier partición y contenido del disco. Salimos de la consola y actualizamos para continuar la instalación.

2) Comienza la instalación de Windows 7 pero al terminar aparece un mensaje que indica que Windows no puede actualizar la configuración de arranque

Las BIOS UEFI protegen el arranque o inicio del sistema impidiendo que se puedan hacer modificaciones. Es necesario entrar en la BIOS y quitar la protección de Seguridad de Inicio del sistema (desactivar el arranque seguro)

3) Quiero instalar Windows 7 64b en modo UEFI para mejorar las prestaciones ya que dispongo también de un disco duro grande y quiero usar GPT

Antes de nada si mi equipo viene con Windows 8 tengo que saber si existen controladores disponibles para Windows 7, para ello debería consultar la web del fabricante. Si no es el caso no deberíamos hacer downgrade al sistema porque algunos dispositivos podrían no funcionar de forma correcta. Si disponemos de drivers adecuados podemos proceder:

  • Desactivar Secure Boot
  • Comprobar que la BIOS está en modo UEFI
  • Arrancar desde el lector en modo UEFI. Es necesario meter el Dvd (tiene que ser una imagen original de Microsoft, no modificaciones piratas), apagar la máquina con el Dvd introducido en el lector y encenderla de nuevo. Al encenderlo debería quedar claro que el lector esta arrancando en modo UEFI o dar la posibilidad al usuario de hacerlo.
Nota: Existe una forma de saber con seguridad si estamos arrancando en modo UEFI y consiste en que en la pantalla de bienvenida salgamos a la consola con Shift+F10 y ejecutemos notepad Windows\Panther\setupact.log para abrir un fichero que nos informará de si el entorno de arranque está en modo BIOS o UEFI.
  • Las BIOS UEFI necesitan que el disco donde vamos a instalar sea GPT y además instalan una partición de arranque UEFI, por eso el disco tiene que estar vacío. Ya hemos visto este paso en el escenario 1.
  • Desde la misma pantalla de selección de disco pulsamos en actualizar y SIN seleccionar NADA (no seleccionamos el disco) continuamos con la instalación.
  • Se creará la partición UEFI y en el resto se instalará el SO. Más adelante podremos crear otras particiones desde el administrador de discos reduciendo el tamaño de la partición del sistema.