¿Cómo reparar GPT rotos, GUID y volúmenes no montables, sin tipo?

Tengo un Macbook Pro con retina, Yosemite y disco duro de 500GB. Intenté instalar Windows usando Bootcamp y eliminé accidentalmente una partición, ahora mi Mac ya no puede arrancar. Esta es la salida desudo gpt -r show disk0

  gpt show: disk0: Suspicious MBR at sector 0
    start       size  index  contents
        0          1         MBR
        1          1         Pri GPT header
        2         32         Pri GPT table
       34          6         
       40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640  776617328      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728        616         
778297344  198807552      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
977104896        131         
977105027         32         Sec GPT table
977105059          1         Sec GPT header

Solo necesito hacer la segunda partición en el índice 2 y escribir FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFpara que se pueda iniciar nuevamente. Esta partición tiene habilitado FileVault 2.

Pero ahora mismo, no tengo ni idea de qué hacer.

P/D: Seguí las instrucciones de @klanomath Boot desde un disco duro externo con el sistema Yosemite completo pero en el último comando para cambiar el tipo de partición

sudo gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0

Obtuvo este error:

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device

Esta es la salida desudo gpt -r show /dev/disk0

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1          1         Pri GPT header
         2         32         Pri GPT table
        34          6         
        40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    409640  776617328      2  MBR part 218
 777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        131         
 977105027         32         Sec GPT table
 977105059          1         Sec GPT header

Progreso:

he ejecutado el comandosudo gpt destroy /dev/disk0

Pero cuando traté de volver a agregar la primera partición usando este comandosudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0

Recibí este error de inmediato

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no primary GPT header; run create or recover

Ahora el comando sudo gpt -r show /dev/disk0me da esto

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1     409639         
    409640  776617328      2  MBR part 218
 777026968    1269760      3  MBR part 175
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        164

Progreso 2:

Ejecuté sudo gpt create /dev/disk0y obtuve este error:

gpt create: /dev/disk0: Suspicious MBR at sector 0
gpt create: /dev/disk0: error: device contains a MBR

y ejecuté este comando sudo fdisk -i -a hfs /dev/disk0para escribir un nuevo MBR y lo ejecuté sudo gpt create /dev/disk0nuevamente pero obtuve el mismo errorgpt create: /dev/disk0: error: device contains a MBR

ahora sudo gpt -r show /dev/disk0me da esto

      start       size  index  contents
      0          1         MBR
      1         62         
     63  977104997      1  MBR part 175

Progreso 3 y final :D

En primer lugar, muchas gracias a @klanomath, sin su ayuda no podría llegar tan lejos.

Ejecuté este comandosudo gpt create -fp /dev/disk0

Y este comando sudo gpt recover /dev/disk0para obtener el encabezado GPT secundario

Después de eso, ejecuté sudo gdisk /dev/disk0y el disco está montado y funciona correctamente.

Tengo que emitir una protesta aquí. El último comando que emitió en su respuesta es sudo gdisk /dev/disk0, que es un comando interactivo. No ha podido especificar los comandos que ingresó gdisk. Además, dado que sus problemas de partición se pueden solucionar simplemente ingresando comandos en gdisk, entonces todos los comandos que publicó antes de ingresar sudo gdisk /dev/disk0eran innecesarios y no necesitaban ingresarse.

Respuestas (2)

El tipo de contenido de la segunda partición es incorrecto. En lugar de FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFtiene que ser 53746F72-6167-11AA-AA11-00306543ECAC.

Para editar el tipo de contenido, debe iniciar el modo de recuperación de Internet y usar gpt. Además, se eliminará la cuarta partición (probablemente la partición "eliminada"). Por favor, compruebe que no contiene ningún dato.

Preparación:

  • 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) para iniciar una imagen de inicio de red de recuperación que normalmente 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 (preferiblemente Yosemite o El Capitan) o una memoria USB que contenga un sistema completo (preferiblemente Yosemite o El Capitan). Si inicia un sistema completo e inicia sesión como administrador, debe anteponer sudo para ejecutar comandos especiales como gpt ...!

Eliminar la cuarta partición y cambiar el tipo de contenido de la segunda partición

  • Arrancado en el modo de recuperación de Internet, abra Utilidades → Terminal en la barra de menú e ingrese: diskutil listpara obtener los identificadores de disco. A continuación, supongo que su disco principal tiene los identificadores de disco disk0.

  • Primero tienes que eliminar la cuarta partición (¡hazlo solo si está realmente vacía!):

      gpt -r show /dev/disk0 #to get an overview
    

Para eliminar una partición con gptel disco tiene que estar desmontado:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
  • Luego tienes que cambiar el tipo de contenido de la segunda partición:

      diskutil unmountDisk /dev/disk0
      gpt remove -i 2 /dev/disk0 #remove the second partition
      gpt add -b StartBlock -s NumberOfBlocks -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
    

En tu caso:

    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
  • Ahora se le debe pedir la frase de contraseña de FileVault. Ingresarlo.
  • Entrar exity salir de la Terminal
  • Verifique el volumen principal Macintosh HD en busca de errores
  • Salga de la Utilidad de Discos y reinicie su volumen principal

Anexo: Eliminación del MBR obstinado

Puede usar fdisko gpteliminar el MBR en el bloque 0. Si usa un usuario administrador, anteponga sudo los comandos gpt ....y .dd ....

  • Primero obtenga una visión general de nuevo. Este paso es importante antes de destruir el gpt, porque es la fuente para reconstruirlo desde cero:

      gpt -r show /dev/disk0
    
  • Luego elimine el gpt:

      diskutil unmountDisk /dev/disk0
      gpt destroy /dev/disk0
    
  • Sobrescriba el MBR con ceros:

      diskutil unmountDisk /dev/disk0
      dd if=/dev/zero count=1 of=/dev/disk0
    
  • Cree nuevas tablas de particiones MBR y GUID:

      gpt create -f /dev/disk0
    
  • Finalmente agregue todas las particiones una por una:

      gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
      gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
      gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    

Sugerencia : puede agregar y eliminar particiones en un orden arbitrario si mantiene el número de índice correcto. En los comandos anteriores, agregué la tercera partición ( ... -i 3 ...) antes de agregar la segunda partición ( ... -i 2 ...). No es necesario que desmonte el disco 0 porque las particiones i=1 e i=3 no contienen volúmenes montados automáticamente, mientras que la segunda partición sí.

No detecté el tipo de partición incorrecto de su HD de recuperación (la tercera partición con el número de índice 3) en la primera parte de mi respuesta. Por lo tanto usé:

    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0

arriba en lugar del mal

    gpt add -b 777026968 -s 1269760 -i 3 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0 #wrong partition type of the Recovery HD

para volver a agregarlo.


Una alternativa, a ingresar el diskutil unmountDisk /dev/disk0comando dado arriba, sería ingresar los comandos dados a continuación.

    fdisk -i -a hfs /dev/disk0
    gpt create -fp /dev/disk0 

Sin embargo, esta secuencia de comandos se basa en el comportamiento no documentado del gpt create -fp /dev/disk0comando y, por lo tanto, debe evitarse.


Cambiar el tamaño del volumen principal para llenar todo el disco

Finalmente, probablemente desee cambiar el tamaño del volumen principal para llenar todo el disco.

  • Obtén una visión general con:

      diskutil cs list
    

¡Puede tener varios grupos de volúmenes lógicos de CoreStorage, si arranca desde una unidad externa con un sistema completo! ¡Usa el adecuado!

  • Cambiar el tamaño de toda la pila:

      diskutil cs resizeStack lvUUID size #lvUUID is the UUID of the Logical Volume. Usually it's the last one listed.
    

Iniciado en Yosemite, puede usar 0gel tamaño para expandirlo. 0g es un tamaño "mágico" aquí.

    diskutil cs resizeStack lvUUID 0g

Arrancado a El Capitán, debe usar un tamaño real como 500g. Si obtiene un error, use un tamaño ligeramente más pequeño como 499go 499500m.

    diskutil cs resizeStack lvUUID 500g
Todavía estoy atascado. En primer lugar, después de ejecutar "gpt delete -i 2 /dev/disk0", dijo "gpt: comando desconocido: eliminar", así que asumo que necesito cambiar 'eliminar' por 'eliminar'. Pero en el último comando que debo ejecutar, dice "gpt add: /dev/disk0: error: no hay espacio disponible en el dispositivo"
Seguí tus instrucciones y publiqué los resultados en la pregunta, gracias.
Seguí la segunda instrucción, desafortunadamente estoy atascado nuevamente con el error "gpt add: /dev/disk0: error: no hay encabezado GPT principal; ejecute crear o recuperar". he añadido el progreso
No te preocupes, acabo de actualizar mi progreso. parece que no pude deshacerme del MBR
Recuperé con éxito el obstinado FileVault, es posible que desee actualizar su respuesta con mi progreso final, muchas gracias: D
Bueno, hubiera sido útil saber cuándo me sucedió este mismo problema hace unos meses... klanomath nunca deja de sorprenderme con lo mucho que sabe sobre Mac. Terminé perdiendo todos mis datos.
Tuve que desmontar dos veces, una antes de eliminar gpt y otra antes de agregar gpt.

No estoy respondiendo exactamente la pregunta, pero espero que esto ayude a alguien más. Era una unidad de 100G 7200rpm que se había reflejado desde un SSD de 120G y, de repente, se volvió ilegible.

Seguí todo aquí lo mejor que pude, pero no tuve éxito. Pasé más de 30 horas intentándolo. Hice un dd de eso primero, así que pude hacer mucho en una copia.

Después de darme cuenta de que estaba en problemas, encontré una copia de demostración de UFS Explorer Professional, que me mostró que todos mis archivos todavía estaban allí en alguna parte, pero para recuperarlos necesitaba US $ 600 o algo que no estoy en condiciones de pagar. Esto de alguna manera me llevó a encontrar otra aplicación.

Raise Data Recovery fue una aplicación que encontré que era asequible y hace una cosa: recuperarse de HFS. Pude devolver todos mis archivos en los directorios correctos a otra unidad. Por alguna razón, en mi mac, seguía descartando el destino durante la recuperación, así que lo instalé en mi Win10 en Parallels y funcionó bien. La licencia cubre el uso en Windows, Mac y Linux. Raise DR también parece ser ucraniano, así que estoy muy feliz de pagar por algo de tan buena calidad y me salvó el tocino. https://www.raisedr.com es la URL.

De todos modos, espero que esto ayude a alguien.

Gracias, pero sería más apropiado y útil para los demás si publicas el problema que has tenido como una nueva pregunta y luego la respondes tú mismo, especialmente cuando el problema que has tenido es más o menos diferente. Este procedimiento puede parecer poco intuitivo, pero está permitido y, de hecho, se recomienda. Consulte apple.stackexchange.com/help/self-answer para obtener más detalles si está interesado.
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran aclaración por parte del autor de la pregunta . - De la revisión