Crear una partición del sistema EFI de arranque desde los archivos de firmware del instalador de macOS (.scap, .fd)

1

Cualquier instalador de macOS contiene una carpeta (por ejemplo, denominada EFIPayloads ) con archivos de firmware EFI denominados MP61_0116_B17_LOCKED.scap , MBP114_0172_B09_LOCKED.fd o similar.

¿Cómo se crea una partición EFI funcional a partir de esas?

Lo que sí sé ya:

  1. La partición EFI requiere valores particulares en GPT .

  2. Una partición EFI es un volumen FAT32 con una estructura de carpetas como esta:

    EFI
        APPLE
            EXTENSIONS
                Firmware.scap                  (always there)
            FIRMWARE                           (optional)
                EfiUpdaterApp2.efi
                MP51_0087_00B_LOCKED.fd
    

Lo que no entiendo:

  • ¿Qué archivos tomo del instalador de macOS y dónde los coloco en el volumen EFI? Por ejemplo, ¿uso el archivo .scap que coincide con el modelo de Mac y renombro que a Firmware.scap , mientras que un archivo .fd que coincida con el modelo (que puede ser opcional) entra en la carpeta FIRMWARE ?

  • ¿Se necesita EfiUpdaterApp2.efi para ejecutar el firmware, o es solo un remanente de un proceso de actualización de firmware anterior y puede eliminarse?

  • ¿Puedo crear una universal partición de arranque EFI , que contenga el firmware para cualquier modelo de Mac, para poder poner eso en un disco externo y arrancar prácticamente? ¿Algún Mac del que haya incluido su archivo .fd o .scap?

Actualizar

Esta respuesta sugiere que los archivos en la carpeta FIRMWARE no se cargan al iniciar el sistema, sino que son simplemente Se utiliza para flashear la ROM. Por lo tanto, si la Mac en particular ya instaló el archivo en particular en su ROM ROM una vez, ya no será necesario y se podrá eliminar de la partición EFI.

También hice una prueba en la que cambié el nombre de la carpeta "EFI" a "EFI-OFF" y reinicié una MacBook Air 2015. Esto dio lugar a que se creara una nueva carpeta EFI en la partición EFI con el mismo archivo Firmware.scap . Esto sugiere que los archivos de neiter deben estar presentes en el momento del arranque, al menos en Mac recientes. Lo que significa que no hay necesidad de crear una partición EFI bootoable en absoluto. Me pregunto si aún puede contener soporte adicional para Mac cuyas ROM de arranque no pueden actualizarse, como agregar soporte para arrancar desde volúmenes APFS , tal vez.

Background:

Recientemente, un amigo hizo que se sobrescribiera su partición de arranque EFI, mientras que su partición de arranque principal de Mac se mantuvo intacta. Sin esta partición EFI, la Mac no arrancaría más.

Luego traté de reparar el daño copiando la partición EFI de mi Mac a su Mac, utilizando iBored (que escribí yo mismo , así que sé lo que estaba haciendo, confía en eso).

Pero eso no ayudó, la Mac aún no arranca.

Después de un tiempo, pensé que su Mac bastante antigua (una MacBook Pro de principios de 2009) probablemente requería un firmware EFI diferente al de la otra Mac desde la que intentamos copiar el firmware EFI.

Después de excavar, encontré los archivos .fd y .scap mencionados en un instalador de macOS, lo que parece demostrar mi teoría. Por lo tanto, ahora me gustaría obtener más información sobre cómo encaja todo esto.

    
pregunta Thomas Tempelmann 16.07.2018 - 11:45

1 respuesta

1

macOS arrancará bien sin una partición EFI. A diferencia de la mayoría de los sistemas operativos, macOS almacena sus archivos de arranque dentro de la partición del sistema operativo. Las computadoras Apple se envían con firmware que puede leer particiones HFS + (los modelos 2016 y posteriores también pueden leer volúmenes APFS por defecto), para que puedan leer el archivo boot.efi desde la partición. Cuando actualizas tu computadora a High Sierra, el firmware también se actualiza, obteniendo la capacidad de arrancar desde particiones APFS.

Tu amigo probablemente hizo más que solo sobrescribir la partición EFI. Probablemente necesitará hacer una copia de seguridad de sus datos y reinstalar macOS.

    
respondido por el pixelomer 16.07.2018 - 12:02

Lea otras preguntas en las etiquetas