martes, 9 de octubre de 2018

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
  • Interfaz mucho más moderna
  • Arranques más rápidos
  • GPT permite usar discos de más de 2 TB y particiones ilimitadas
  • Se ejecuta en 32/64 bits frente a los 16 de BIOS
  • SecureBoot (SO no autenticados. Bootkit)

Un bootkit es un programa malicioso que infecta el MBR. Es difícil de detectar porque su código está 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 él o sobre ciertas aplicaciones con fines variados, malware, agujeros de seguridad, ... 

Consideraciones

  • La mayor parte de las BIOS nuevas tienen los dos modos, Legacy Mode (Modo BIOS) ó UEFI Mode.
  • Por ejemplo, para poder instalar WXP hay que activar Legacy Mode, deshabilitar Secure Boot y el particionado de disco debe ser MBR. En cambio para instalar W10 en modo UEFI se utiliza Uefi mode, particionado GPT y el medio de instalación debe estar configurados para UEFI. SecureBoot es opcional.

Esquema de particiones UEFI


Si vamos a instalar Windows en modo UEFI, la unidad de disco que alberga la partición de Windows tiene que tener formato GPT. Si hay otras unidades de disco pueden tener formato MBR o GPT.


El esquema de particiones de un disco basado en una instalación UEFI contiene las siguientes particiones:
  • Sistema: El sistema arrancará desde esta partición. El formato es FAT32 y tiene 100 MB de tamaño mínimo. Esta partición esta administrada por el SO y no debe contener nada más
  • Reservada de Microsoft: Se añade en unidades GPT para ayudar con la administración de particiones. No puede almacenar datos. 16 MB
  • Windows: Contiene el SO. Formato NTFS y mínimo 20 GB
  • Recuperación: Contiene herramientas del entorno de recuperación. Mínimo 300MB. Es conveniente que esté situada después de Windows porque si en futuras actualizaciones se necesita ampliar el sistema puede coger espacio de la partición Windows.
  • Otras particiones de datos: A continuación de la partición de recuperación



Observación: En UEFI solo podemos instalar SO de 64 bits y además muchas BIOS no permiten hacer instalación UEFI desde USB

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 (Desde Windows 8). Además, para que los equipos comercializados a partir de W8 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?

SecureBoot

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.
¿Puedo pasar de un sistema de particionado a otro? Si, pero hay que eliminar antes las particiones y datos. Se puede hacer la conversión con diskpart o desde el administrador de discos.

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.