¿Cómo solucionar el error: "Este disco no contiene una partición del sistema EFI"?

Recibo el siguiente error y no puedo iniciar Bootcamp después de eliminar accidentalmente la partición EFI de mi disco principal.

Este disco no contiene una partición del sistema EFI. Si desea iniciar su computadora con este disco o incluirlo en un conjunto RAID, haga una copia de seguridad de sus datos y particione este disco.

Aquí está mi diskutil listresultado:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                  Apple_HFS                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macbook Pro            *498.9 GB   disk1
                                 Logical Volume on disk0s2
                                 A6AC962B-74A5-42E8-B84D-B5A7A6325432
                                 Unlocked Encrypted
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:        CD_partition_scheme                        *154.1 MB   disk3
   1:     Apple_partition_scheme                         134.2 MB   disk3s0
   2:        Apple_partition_map                         1.0 KB     disk3s0s1
   3:                  Apple_HFS BOLT! 4G E5372s         8.5 MB     disk3s0s2

Y aquí está mi sudo gpt -r show disk0resultado:

start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
     409640  975093952      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  975503592    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  976773128          7         
  976773135         32         Sec GPT table
  976773167          1         Sec GPT header

El sistema operativo actualmente instalado es Yosemite.

¿Cómo soluciono ese error?

Ya hay una respuesta en tu pregunta. Restaura tu disco. Todavía tiene el EFI en el disco, pero podría estar roto.

Respuestas (1)

Puede recrear la partición del sistema EFI (ESP) con la herramienta de línea de comandos gpt. Dado que tiene que modificar su dispositivo de inicio actual, debe iniciar el modo de recuperación de Internet o una unidad externa (pulgar).

Además, necesita una partición EFI válida o un archivo de imagen de la misma.

Aquí hay una pregunta similar: ¿Cómo reparar la partición EFI rota? . He copiado algunos de los pasos de la respuesta aceptada. Verifique todas las advertencias allí antes de continuar. Así que por favor acredita el OP.

Preparación:

  • Haga una copia de seguridad de sus datos.
  • Separe cualquier unidad externa (especialmente su unidad de copia de seguridad externa de Time Machine).
  • Reinicie el modo de recuperación de Internet presionando alt cmd Ral inicio.
    Los requisitos previos son la última actualización de firmware instalada, ya sea ethernet o WLAN (WPA/WPA2) y un enrutador con DHCP activado.
    En una línea de 50 Mbps, se tarda unos 4 minutos (presentando un pequeño globo terráqueo animado) en iniciar una imagen de inicio de red de recuperación que, por lo general, se carga desde un servidor Apple/akamai.

    Recomiendo ethernet porque es más confiable. Si está restringido a WIFI y el proceso de arranque falla, simplemente reinicie su Mac hasta que arranque correctamente.

    Alternativamente, puede comenzar desde una memoria USB de instalación de arranque (Mavericks o Yosemite) o una memoria USB que contenga un sistema completo (Mavericks o Yosemite). Los identificadores de disco pueden ser diferentes entonces.

Reconstruya la partición EFI:

Primero, debe obtener una descripción general de sus discos y el diseño de la partición:

  • Ingrese diskutil list
    el listado de ejemplo:

    /dev/disk0
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *500.1 GB   disk0
       1:                  Apple_HFS                         209.7 MB   disk0s1
       2:          Apple_CoreStorage                         499.2 GB   disk0s2
       3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
    /dev/disk1
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:     Apple_partition_scheme                         *1.3 GB    disk1
       1:        Apple_partition_map                         30.7 KB    disk1s1
       2:                  Apple_HFS OS X Base System        *1.3 GB    disk1s2
    /dev/disk2
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:                  Apple_HFS Macbook Pro            *498.9 GB   disk2
                                 Logical Volume on disk0s2
                                 A6AC962B-74A5-42E8-B84D-B5A7A6325432
                                 Unlocked Encrypted
    /dev/disk3-disk12 ...belong to the OS X Base System (your recovery system you booted to previously)
    

    Disk0 es su dispositivo de disco interno principal que contiene la partición EFI (dis0s1), la partición CoreStorage (disk0s2) y Recovery HD (disk0s3).

    Disk1 es un disco lógico creado al arrancar desde la imagen netboot que contiene un sistema de recuperación (OS X Base System = disk1s2) similar a Recovery HD.

    Disk2 también es un disco lógico que reside en disk0s2 y contiene la pila CoreStorage.

  • Ingrese sudo gpt -r show disk0
    el listado de ejemplo:

        start       size  index  contents
            0          1         PMBR
            1          1         Pri GPT header
            2         32         Pri GPT table
           34          6         
           40     409600      1  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
       409640  975093952      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
    975503592    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
    976773128          7         
    976773135         32         Sec GPT table
    976773167          1         Sec GPT header
    

    La partición con el número de índice 1 es la partición EFI con formato incorrecto, la partición con el número de índice 2 es su partición CoreStorage y la partición con el número de índice 3 es su HD de recuperación.
    El GUID correcto para la partición EFI es C12A7328-F81F-11D2-BA4B-00A0C93EC93B.

  • Para manipular el GPT, debe desmontar todos los volúmenes montados en el disco 0 (primero el volumen CoreStorage, que tiene su propio identificador de disco disco 2 pero reside en el disco 0, luego el disco 0):

    diskutil unmountDisk disk2
    diskutil unmountDisk disk0
    
  • Para eliminar su partición EFI incorrecta, ingrese:

    gpt remove -i 1 disk0
    
  • Ahora vuelva a agregar la partición EFI con el diseño y el tipo correctos

    gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
    
  • Ingrese exity salga de la Terminal.

  • Reinicie a su volumen principal

    Esto debería resolver la partición en sí, pero como ha creado una partición HFS en su lugar, también debe corregir su formato.

  • El formato de la partición del sistema EFI está documentado por Apple aquí . Como puede ver, recomiendan que clone un ESP existente en lugar de recrear el sistema de archivos con newfs_msdos. Si tiene una unidad externa con una tabla de particiones GPT (el dispositivo de instalación de OSX debería tenerla), puede clonar eso.

    Asegúrese de tener los números de disco y partición en la dirección correcta o puede sobrescribir los datos:

    Si disk1 es su unidad externa y contiene un ESP como la primera partición (disk1s1) y disk0 es la unidad cuyo ESP (disk0s1) desea reparar, ejecute este comando:

    sudo dd if=/dev/disk1s1 of=/dev/disk0s1
    

    tienes que introducir una contraseña de administrador.

    Esto copiará cada bloque del ESP del disco 1 y sobrescribirá el bloque correspondiente en el ESP del disco 0 con él.

    Alternativamente, apueste con newfs_msdos.