UEFI Secure Boot y OpenCore

0.- El método fácil (no se necesita Linux ni Windows)

1.- Máquina virtual Ubuntu en macOS con UTM (modo gráfico)

2.- Máquina virtual Ubuntu en Windows con WSL (línea de comandos)

3.- Insertar variables seguras en el firmware (BIOS o KeyTool)

4.- BIOS bloqueada después de actuar sobre variables seguras

5.- Certificado UEFI CA Microsoft de 2011 actualizado a 2023

UEFI Secure Boot y OpenCore (2)

El firmware UEFI de las placas base tiene la capacidad de arranque seguro de forma que sólo se permiten los archivos del boot loader firmados digitalmente con las claves que están integradas en el firmware. Con UEFI Secure Boot habilitado:
– Windows puede arrancar ya que los firmware incorporan certificados de Microsoft (a veces también certificados del fabricante de la placa base)
– macOS no puede arrancar; es necesario un sistema Linux en el que generar las claves y firmar con ellas los archivos de OpenCore, este es el motivo por el que actualmente arrancamos OpenCore con UEFI Secure Boot deshabilitado.

Este texto se basa en los artículos de:

Los artículos de sakaki y de Ubuntu plantean cómo arrancar Linux con UEFI Secure Boot activado pero khronokernel y profzei se refieren específicamente a OpenCore y macOS. Los 4 artículos coinciden en la necesidad de hacerlo desde un sistema Linux ya que las herramientas requeridas no existen para macOS. El sistema Linux necesario para firmar los archivos de OpenCore puede suponer un inconveniente significativo por el trabajo que conlleva su instalación y configuración (bien en disco independiente o en máquina virtual).
Una vez en Linux, todo se hace desde Terminal por lo que gran parte del sistema instalado realmente no hace falta.
Esta tarea se puede simplificar gracias a una infraestructura no demasiado utilizada que existe en Windows 10 (compilación 18917 o posterior) y Windows 11: Windows Subsystem for Linux (WSL), gracias a la cual podemos arrancar una imagen genuina de Ubuntu proporcionada por Canonical. Esto posibilita la ejecución de comandos de forma nativa en un terminal de Bash dentro de un entorno Windows que se comporta como Linux.

Leer más

UEFI Secure Boot y OpenCore (1)

UEFI Secure Boot y OpenCore con máquina virtual de Ubuntu en macOS: Esta es una forma de habilitar UEFI Secure Boot con OpenCore sin tener que instalar Windows o crear un dispositivo USB con Linux. Todo se realiza desde macOS. La función de portapapeles y carpeta compartidos, que permiten intercambiar texto y archivos entre macOS y Linux, facilita la tarea.

UTM

UTM es una aplicación que permite utilizar máquinas virtuales en macOS e iOS. Es un software gratuito y abierto. Información y descargas están disponibles en GitHub y en el sitio web.

UTM ofrece máquinas virtuales preconfiguradas que sólo debes adjuntar a la app e iniciar, no es necesario instalar previamente el sistema operativo. Puedes visitar la Galería de Máquinas Virtuales.

Entre las máquinas virtuales preinstaladas no existe Ubuntu 22.04 pero UTM tiene una guía para descargar e instalar esta versión de Ubuntu. He seguido esta guía para tener un sistema virtual Ubuntu 22.04 en macOS.

Leer más

UEFI Secure Boot y OpenCore (0)

Hay usuarios que no buscan un aumento en la seguridad al arrancar OpenCore y macOS sino únicamente una manera de poder tener UEFI Secure Boot habilitado y arrancar OpenCore sin deshabilitarlo en cada ocasión. Esto puede deberse a que quieren arrancar Windows con UEFI Secure Boot o a que la máquina que usan lo tiene habilitado y no pueden deshabilitarlo (equipos de empresa sobre todo).

Aunque probablemente el nivel de seguridad que proporciona este método es menor que el ya comentado en las entradas anteriores sobre este tema (crear nuestras propias claves en un sistema Linux, firmar digitalmente los archivos de OpenCore e incluir nuestras claves seguras en el firmware), es una manera mucho más sencilla y que consume mucho menos tiempo por lo que, si eres de los que sólo quieren poder arrancar OpenCore con UEFI Secure Boot habilitado, esto puede ser muy útil para ti.

Lo que se propone es añadir los archivos .efi de OpenCore a la variable segura db, que es una lista de firmas permitidas, para que UEFI Secure Boot acepte estos archivos .efi como seguros. No modificamos los archivos .efi, sólo le decimos al firmware que los considere seguros para que arranquen aunque UEFI Secure Boot esté habilitado.

Leer más

Windows oculto en el menú de OpenCore

Hay una manera de evitar que la entrada de Windows sea la primera en el selector de OpenCore sin tener que agregar una entrada personalizada. Gracias a la función .contentVisibility. Hay que copiar un archivo .contentVisibility con la palabra Disabled como contenido a /Volumes/EFI(partición de Windows)/EFI(carpeta)/Boot.
También hay que configurar
Misc -> Boot -> HideAuxiliary=True.
De esta forma, la partición de Windows se comporta como Auxiliar en el selector de OpenCore y no se muestra hasta que presionas la barra espaciadora.

Opciones de arranque en el menú de OpenCore

El orden de visualización de las opciones de inicio en el selector de OpenCore y el proceso de arranque se determinan separadamente del algoritmo de escaneo de dispositivos y sistemas. El orden de visualización es el siguiente:

  • Las opciones alternativas siguen a las opciones primarias correspondientes. Es decir, las opciones de recuperación de Apple seguirán a la opción correspondiente de macOS siempre que sea posible.
  • Las opciones se enumerarán en el orden del firmware y del sistema de archivos para mantener un orden establecido durante los reinicios, independientemente del sistema operativo elegido para la carga.
  • Las entradas personalizadas y las herramientas se agregarán después de todas las demás opciones.
  • Las opciones auxiliares solo se mostrarán al activar el «Modo extendido» en el selector de OpenCore (presionando la tecla Espacio).

Leer más

Temas en el menú de OpenCore

Desde la versión 0.7.0 de OpenCore existe la posibilidad de tener más de un tema en la carpeta /Resources/Image, organizados por carpetas Autor/Tema, cambiando de tema de forma relativamente simple. Hay muchos temas disponibles. En este artículo voy a comentar sobre algunos de los que más me gustan.

Los requerimientos básicos para disponer de interfaz gráfica en el selector de OpenCore (en caso contrario se muestra en modo texto) son:

  • Instalar el driver OpenCanopy.efi (carpeta Drivers y config.plist)
  • Misc -> Boot -> PickerMode = External
  • Completar la carpeta EFI/Resources con los recursos descargados desde Acidanthera ya que no vienen incluidos en el paquete de OpenCore. Se componen de las carpetas Audio, Font, Image y Label.

Para utilizar temas en OpenCore 0.7.0 y siguientes hay que activar el sistema Flavours. Esto lo puedes hacer de forma sencilla actuando sobre 2 claves del archivo config.plist:

Leer más

OpenCore Vault con UEFI Secure Boot

Instrucciones para funcionar con UEFI Secure Boot y OpenCore Vault simultáneamente en caso de que se quiera disponer de la máxima seguridad a la hora de arrancar nuestro sistema macOS con OpenCore.

Hay usuarios que desean tener la máxima seguridad en sus ordenadores con macOS y para ello implementan las 3 cadenas de seguridad disponibles:

  • Apple Secure Boot: para garantizar la integridad y confiabilidad de la versión de macOS
  • OpenCore Vault: para garantizar la integridad de los archivos de OpenCore
  • UEFI Secure Boot (UEFi SB): para garantizar que la versión de Windows es de confianza.

Puedes leer sobre estos 3 sistemas en estos artículos:

Leer más

Cambiar de OpenCore 0.7.6 a 0.7.7

No dejes de leer el mensaje de vit9696 con las novedades de OpenCore, en esta misma página tienes las descargas de las versiones nuevas de OpenCore y extensiones. También está disponible el artículo sobre la compatibilidad actual de los chipset Intel Z690 con macOS.

Más tarde de lo habitual por las fiestas navideñas pero la versión 0.7.7 de OpenCore ya está aquí. Viene con muchos cambios, la mayoría en 3 apartados: Intel Alder Lake, audio UEFI (driver AudioDxe) y correcciones de problemas publicados en el bug tracker, relacionados con algunas configuraciones específicas.
OpenCore continúa con su adaptación a la familia de procesadores Alder Lake, todavía hay mucho trabajo por delante pero, en la actualidad, podemos decir que estos nuevos sistemas ya se pueden usar con macOS y muchos de los problemas iniciales están resueltos.
Los cambios en el sonido UEFI son muchos y están acompañados de nuevas características en config.plist. Hay algunos otros cambios en este archivo por lo que esta vez debes prestar atención a las claves añadidas o eliminadas.

Leer más

Error: versión de OpenCore no detectada

Podemos encontrar en Internet artículos con un título similar a este: OpenCore not detected: bootloader isn’t installed or NVRAM isn’t native. Este texto explica la causa más probable de este error y cómo solucionarlo.

Para obtener la versión actual de OpenCore podemos usar el comando:

nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102: versión opencore

Pero a veces la versión de Opencore (incluso el propio Opencore) no se puede detectar y la petición de esta variable devuelve un error cuya apariencia es diferente según el método utilizado para esta tarea.

Terminal:

nvram: Error getting variable - '4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102: opencore-version': (iokit / common) data was not found.

Hackintool:

OpenCore version x.x.x is available - you have 0.0.0. Would you like to download a newer version?

OpenCore Configurator:

The bootloader looks like it is not installed or your NVRAM isn't native.

Leer más

Cómo usar ScanPolicy en OpenCore

Puesto que existen dispositivos de almacenamiento de varias clases (USB, SATA, NVMe, etc.) y también diferentes sistemas de archivos y tipos de particiones (EFI, APFS, HFS+, etc.) es útil disponer de un mecanismo para definir cuáles de esos elementos van a ser tenidos en cuenta por OpenCore (OC) de acuerdo con nuestras necesidades.

Esto se consigue con la clave ScanPolicy (Integer) que está en la sección Misc / Security del archivo config.plist y que define la política de detección de tipos de dispositivo y sistemas de archivos por parte de OC.
ScanPolicy se calcula sumando valores hexadecimales elegidos de una lista (disponible en el PDF de configuración de OC) y convirtiendo la suma total a su valor decimal que es el que debe anotarse en config.plist. OpenCore sólo mostrará en su menú (picker) como opciones de arranque los elementos definidos en ScanPolicy.

Leer más