Reemplazo de macOS con sistema operativo elemental. La computadora arranca normalmente en el sistema operativo elemental, pero el menú de arranque (tecla de opción en el arranque) no muestra nada

Quiero reemplazar macOS con sistema operativo elemental en una Mac.

Formateé todo el disco duro, inserté el USB de arranque del sistema operativo elemental, seleccioné el arranque EFI en el cargador de arranque (única opción) e instalé el sistema operativo elemental. Todo funciona bien.

La computadora arranca normalmente en el sistema operativo elemental, pero si presiono la optiontecla en el arranque, no aparece nada en el gestor de arranque.

Si instalo, elijo otra cosa y creo solo la raíz y la partición de intercambio, obtengo una partición de Windows en el cargador de arranque. Esto me lleva a pensar que es algo relacionado con la instalación en modo EFI.

¿Alguien sabe que puede estar pasando?

Además, ¿por qué cuando inserto el USB en vivo, solo obtengo la opción EFI y no la opción de Windows (modo bios) cuando presiono la optiontecla?

Editar:

El primer método proporcionado por David Anderson funcionó.

Solo quiero agregar que hice un servicio systemd para clonar grubx64.efi en cada reinicio/apagado, de modo que incluso si este archivo se actualiza, BOOTx64.EFI también se actualiza. Esto también automatizará la solución dada por David.

Esto es lo que hice:

1 - Cree un archivo llamado startup-manager-fix.service con el siguiente texto:

[Unit]
Description=Show EFI Install in Apple Startup Manager
After=rc-local.service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=-/bin/mkdir /boot/efi/EFI/BOOT/
ExecStop=/bin/cp -a -f /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/BOOT/BOOTx64.EFI

[Install]
WantedBy=multi-user.target

2 - Copie el archivo anterior a la carpeta /etc/systemd/system/

3 - Abra la terminal e inserte este comando para activar el servicio que sincronizará ambos archivos.

sudo systemctl daemon-reload && sudo systemctl enable startup-manager-fix.service && sudo systemctl start startup-manager-fix.service && sudo systemctl daemon-reload

4: reinicie y la próxima vez que acceda al selector de arranque de Apple (presione la tecla de opción en el inicio) la instalación de EFI del sistema operativo elemental (u otra distribución basada en Ubuntu) debería estar presente.

Gracias de nuevo a David por la solución.

Respuestas (1)

Nota: En los ejemplos a continuación, la instalación del sistema operativo elemental de descarga se denominó elementaryos-0.4.1-stable.20180214.iso. Las imágenes se crearon con VirtualBox 5.2.16 r123759 (Qt5.6.3).

¿Por qué no aparece nada en el Administrador de inicio cuando se instala para un arranque EFI?

Como ha descubierto, las Mac se pueden configurar para iniciar sistemas operativos que no siempre aparecen en el Administrador de inicio. Esto se puede corregir. Comencemos con la instalación normal de arranque EFI del sistema operativo elemental. Haga clic derecho en el ícono etiquetado Filesen el Applicationsmenú, luego seleccione New Windows as Administrator, como se muestra a continuación.

j1

En Devices, haga clic en File System. Debería obtener una ventana similar a la que se muestra a continuación.

j2

A continuación, abra las siguientes carpetas: boot, efiy EFIfinalmente ubuntu. Debería obtener una ventana similar a la que se muestra a continuación.

J 3

grubx64.efiCuando su Mac arranca, se ejecuta el software almacenado en el archivo. Lamentablemente, este archivo tiene un nombre y está almacenado en una carpeta que el Administrador de inicio no reconocerá. Por lo tanto, aparece una nota cuando mantiene presionado optional inicio. Una solución sencilla sería

  1. Cree una BOOTcarpeta en la EFIcarpeta.
  2. Copie del grubx64.efiarchivo de la ubuntucarpeta a la BOOTcarpeta.
  3. Cambie el nombre del grubx64.efiarchivo en la BOOTcarpeta a BOOTx64.EFI.

La siguiente imagen muestra el contenido de la BOOTcarpeta después de haber seguido los pasos anteriores.

j4

Finalmente, siga los pasos que se indican a continuación para asegurarse de que el cargador de arranque de Mac ejecute el BOOTx64.EFIarchivo.

  1. Reinicie su Mac e inmediatamente presione y mantenga presionada la optiontecla en su teclado.
  2. Suelte la optiontecla cuando vea la ventana Administrador de inicio.
  3. Mantenga presionada la controltecla mientras selecciona el ícono del disco interno etiquetadoEFI boot

El sistema operativo elemental aparecerá ahora en el Administrador de inicio como un icono de unidad interna con la etiqueta EFI boot.

La solución anterior tiene un problema: el sistema operativo elemental no tiene idea de que realizó estos cambios . Por lo tanto, cualquier actualización del grubx64.efiarchivo no se copiará automáticamente en el BOOTx64.EFIarchivo. Una mejor solución, que evita este problema, se da a continuación.

Primero, use el Epiphanynavegador web para descargar el administrador de arranque rEFInd . En mi caso, el archivo refind_0.11.3-1_amd64.debse descargó en mi Downloadscarpeta. Cuando haya terminado, salga de la Epiphanyaplicación.

A continuación, haga clic con el botón derecho en el icono etiquetado Terminalen el Applicationsmenú y seleccione New Window. Debería obtener una ventana similar a la que se muestra a continuación.

j6

En la Terminalventana, ingrese los siguientes comandos. Si descargó un archivo diferente o lo descargó en una carpeta diferente, realice las sustituciones adecuadas. Cuando haya terminado, salga de la Terminalaplicación.

cd Downloads
sudo dpkg -i refind_0.11.3-1_amd64.deb

El resultado de ejecutar los comandos anteriores fue la creación de las carpetas refindy en la carpeta, como se muestra a continuación.toolsEFI

j5

A continuación, deberá realizar las siguientes modificaciones.

  1. Si la BOOTcarpeta no existe, cree esta carpeta. De lo contrario, elimine el contenido de esta carpeta.
  2. Copie el contenido de la refindcarpeta a la BOOTcarpeta.
  3. Cambie el nombre del refind_x64.efiarchivo en la BOOTcarpeta a BOOTx64.EFI.
  4. Haga clic derecho en el refind.confarchivo en la BOOTcarpeta y luego seleccione Open in Scratch.
  5. Agregue las siguientes líneas al final del refind.confarchivo abierto.

    #
    # Added to make rEFInd silent. 
    #
    menuentry "Elementary" {
        icon \EFI\BOOT\icons\os_elementary.png
        volume "EFI"
        loader \EFI\ubuntu\grubx64.efi
        ostype Linux
        graphics on
    }
    timeout -1
    hideui all
    scanfor manual
    
  6. Cierra la refind.confpestaña y sal de la Scratchaplicación.

Finalmente, siga los pasos que se indican a continuación para asegurarse de que el cargador de arranque de Mac ejecute el BOOTx64.EFIarchivo.

  1. Reinicie su Mac e inmediatamente presione y mantenga presionada la optiontecla en su teclado.
  2. Suelte la optiontecla cuando vea la ventana Administrador de inicio.
  3. Mantenga presionada la controltecla mientras selecciona el ícono del disco interno etiquetadoEFI boot

Ahora, cuando seleccione el ícono del disco interno etiquetado EFI booten el Administrador de inicio, rEFInd iniciará silenciosamente el sistema operativo elemental.

¿Por qué aparece un ícono con la Windowsetiqueta en el Administrador de inicio cuando se instala para un arranque del BIOS?

Originalmente, cuando Apple permitió por primera vez la instalación de Windows en Mac, Windows tenía que instalarse para un arranque del BIOS. Por lo tanto, Apple usó Windowscomo la etiqueta que se muestra en el Administrador de arranque cuando se instaló cualquier sistema operativo de arranque del BIOS. Esta convención se repitió en todas las Mac hasta 2015, cuando Apple comenzó a enviar Mac que ya no podían arrancar con BIOS.

Muchas gracias por su detallada respuesta. Lo pruebo y te cuento como me fue. "La solución anterior tiene un problema: el sistema operativo elemental no tiene idea de que realizó estos cambios. Por lo tanto, cualquier actualización del archivo grubx64.efi no se copiará automáticamente en el archivo bootx64.efi. Una mejor solución, que evita este problema, se da a continuación." ¿Qué pasa si pongo esto en el ejecutable rc.local? ¿No se actualizaría cada vez que arranque la computadora? ¿Sabe por qué no veo la opción de instalación de BIOS en el cargador de arranque cuando inserto el USB en vivo? Gracias de nuevo.
Los archivos grubx64.efiy se BOOTx64.EFIejecutan antes que el rc.localarchivo. Si una actualización cambiara grubx64.efide una manera que requeriría grubx64.efiser copiada BOOTX64.EFI, la operación de copia almacenada rc.localno se ejecutaría antes de BOOTX64.EFIejecutarse. Básicamente, grubx64.efiy BOOTx64.EFIson archivos GRUB, donde as rc.locales un archivo de linux. GRUB se ejecuta antes que Linux.
El firmware de Mac no puede arrancar el BIOS desde un puerto USB. El firmware en ciertos modelos de Mac puede arrancar el BIOS desde una unidad óptica o desde una unidad interna. Una solución alternativa sería iniciar el BIOS en una unidad USB desde VirtualBox e instalarla en una unidad física interna. Este método solo debe ser empleado por usuarios experimentados de Mac. Además, en la práctica, se usaría un archivo ISO en lugar de una unidad USB.
Otro problema con el uso rc.localsería si una actualización o actualización del sistema operativo elemental cambiara, reemplazara o eliminara el rc.localarchivo. En tal caso, la operación de copia podría eliminarse. El administrador de arranque rEFInd elimina este problema. El administrador de arranque rEFInd en realidad no carga nada. Lo que sucede es que rEFInd le dice al cargador de arranque de Mac los archivos correctos para cargar. Cuando su Mac se inicia, el cargador de arranque de Mac inicia rEFInd. A continuación, rEFInd le indica al cargador de arranque de Mac que arranque GRUB. La Mac se reinicia y el cargador de arranque de Mac inicia GRUB. Finalmente, GRUB inicia el sistema operativo elemental.
Gracias de nuevo por la explicación detallada. ¿Hay algún problema si los contenidos de grubx64.efi y BOOTx64.EFI no coinciden? ¿BOOTx64.EFI no es solo para mostrar el disco de "arranque efi" en el cargador de arranque de Apple? Gracias de nuevo por tu tiempo.
No entiendo su pregunta sobre "¿Hay algún problema si los contenidos de grubx64.efi y BOOTx64.EFI no coinciden?". La detección del BOOTX64.EFIarchivo por parte del cargador de arranque de Mac es solo la forma en que Apple decidió cumplir con los requisitos de la página 91 de la especificación UEFI .
Hola. Si hago que rc.local copie grubx64.efi en BOOTX64.EFI en cada arranque y Elementary actualice grubx64.efi, en el próximo reinicio estos dos archivos no tendrán contenido hasta que la computadora termine de arrancar (se ejecuta rc.local), pero si solo se necesita BOOTX64.EFI para que la unidad aparezca en el cargador de arranque, no importará ya que la computadora arrancará de todos modos y cuando termine tendré ambos iguales nuevamente. Pregunta no relacionada: se supone que el archivo BOOTX64.EFI está en mayúsculas, ¿verdad? ¿No es BOOTx64.EFI o bootx64.efi? Una vez mas, muchas gracias.
Cambié mi respuesta para asegurar que BOOTx64.EFIse ejecute en lugar de grubx64.efi. La especificación UEFI usa la ortografía BOOTx64.EFI, pero creo que el cargador de arranque de Mac es independiente de mayúsculas y minúsculas con respecto a los nombres de archivo.
Lo siento si no entiendo bien, pero dado que el cargador de arranque siempre cargará Elementary a través del archivo BOOTx64.EFI (después de control + enter), ¿qué sucede si este archivo está desactualizado (antes de que rc.local lo iguale con grubx64.efi)? ¿La computadora no arranca? Gracias por tu paciencia.
En teoría, es posible que la computadora no arranque después de una actualización. Es por eso que usar rEFInd puede ser una mejor solución. También existen otras soluciones. Por ejemplo, también puede iniciar MacOS Recovery o una unidad externa y bendecir el grubx64.efiarchivo cada vez que la Mac no se inicia correctamente.
Por bendecir te refieres a volver al estado que tenía antes de usar ctrl+enter (BOOTx64.EFI) en el gestor de arranque, ¿verdad? ¿Montar el disco duro y copiar manualmente el archivo con un liveusb elemental lograría lo mismo? ¿Qué pasa si ejecuto un script en cada apagado/reinicio (servicio systemd)? De esta manera, grub64.efi y BOOTx64.EFI siempre estarán sincronizados incluso después de una actualización y no tendré el problema de rc.local, ¿verdad? Gracias.
Me refiero a ignorar mi respuesta por completo. Puede configurar el archivo que ejecuta el cargador de arranque de Mac usando el blesscomando. Dado que el sistema operativo elemental es el único sistema operativo instalado en su Mac, deberá ingresar este comando arrancando en Internet macOS Recovery , un instalador de unidad flash USB de macOS o macOS instalado en una unidad externa. Usaría el blesscomando para establecer grubx64.eficomo el archivo predeterminado para que el cargador de arranque de Mac se ejecute al inicio.
Por cierto, ¿cuál es el modelo/año de tu Mac?
Macbook 2008. ¿Crees que podría funcionar ejecutar un ejecutable que sincronice ambos archivos en cada apagado/reinicio? ¿Qué pasa con un reinicio de nvram? ¿Qué archivo elige el cargador de arranque después del reinicio? Gracias.
Disculpa por la respuesta tardía. Parece que está funcionando. Muchas gracias por su paciencia.