En mi opinión, "TestDisk" ha estropeado tu GPT.
Por favor, compara el resultado de TestDisk con mis discos. Los discos de mi ejemplo tienen el mismo tamaño, el disco0 contiene una partición CoreStorage y el disco2 una partición JHFS+ de estilo antiguo. Estoy usando dos discos separados porque no se sabe (al menos para mí) qué tipo de formato (CS o JHFS+) se usó originalmente.
La PMBR/GPT y las tres primeras particiones (EFI/Macintosh HD/Recovery HD) deberían tener el siguiente aspecto, si es que previamente tenías una partición CoreStorage:
root# gpt -r -vv show disk0
gpt show: disk0: mediasize=68719476736; sectorsize=512; blocks=134217728
gpt show: disk0: PMBR at sector 0
gpt show: disk0: Pri GPT at sector 1
gpt show: disk0: Sec GPT at sector 134217727
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 132538512 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
132948152 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
o así, si previamente tenías un volumen JHFS+ clásico:
root# gpt -r -vv show disk2
gpt show: disk2: mediasize=68719476736; sectorsize=512; blocks=134217728
gpt show: disk2: PMBR at sector 0
gpt show: disk2: Pri GPT at sector 1
gpt show: disk2: Sec GPT at sector 134217727
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 132538512 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
132948152 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
(Por favor, ten en cuenta que el tamaño de las medias, los bloques, el sector del GPT secundario, el tamaño del 2º volumen y el bloque de inicio del 3º volumen son diferentes a los tuyos, porque aquí uso discos de ejemplo más pequeños).
Tu problema debería resolverse reescribiendo la GPT una vez más.
Preparación:
Instala un sistema completo de vainilla (Mavericks o Yosemite debería funcionar) en una unidad de disco duro (o una unidad externa). Un sistema de recuperación no funcionará. Arranque en la unidad de disco duro, descargue e instale wxHexEditor . Habilite el usuario Root e inicie la sesión como Root.
Sugerencia: Mientras trabajas con wxHexEditor no uses copiar y pegar. ¡Introduzca todo manualmente! Podrías escribir accidentalmente directamente en tu disco.
¿Partición JHFS+ o CoreStorage?
Primero tienes que determinar si tienes una partición JHFS+ o CoreStorage en el índice número 2.
Abra la calculadora. Abra el wxHexEditor. Compruebe que trabaja en modo de sólo lectura ("Opciones" -> "Modo de archivo" -> "Sólo lectura"). En la barra de menús vaya a "Dispositivos" -> "Abrir dispositivo de disco" -> elija el número de disco apropiado. Probablemente sea el disco 0. El disco debería tener más particiones (disk0s1 - disk0s5). Por favor, intente organizar la ventana del wxHexEditor como en los ejemplos de abajo con líneas rojas rectas.
A continuación, pulse el botón "Go to offset" (marcado con el círculo verde) e introduzca 409640 exactamente como en la imagen de abajo. A veces hay que hacerlo dos veces para saltar al sector correcto. Vuelva a comprobar el sector correcto introduciendo el offset (marcado en rojo) en la calculadora y divídalo entre 512.
Los 3 primeros sectores de una partición CoreStorage tienen este aspecto:
Los 3 primeros sectores de un JHFS+ tienen este aspecto:
Si se obtiene una imagen fundamentalmente diferente, deténgase aquí.
¿Dónde empieza la partición EFI?
Pulsa el botón "Ir a la compensación" e introduce 40 exactamente como en la imagen de abajo:
Si ves las mismas entradas como en la imagen de arriba (XEBSD 4.4...EFI...FAT32) este es el sector de inicio de tu partición EFI. Si sólo hay ceros esto podría ser válido también.
¿Dónde empieza la partición del Recovery HD?
Esa es probablemente la parte más difícil porque tienes que encontrar una cadena que no es muy específica. Salta casi al final de tu segunda partición (en tu caso ~400 MB/781250 sectores menos que 1164570456 = 1163789206)
A continuación, introduzca "HFSJ" como en la imagen siguiente, busque esta cadena dos veces y tome nota de los diferentes desplazamientos:
Puede tener dos resultados realmente diferentes dependiendo del tipo de partición:
-
Calcula el número de sector del primer hallazgo. En mi ejemplo (ver imagen superior) es 68069452800/512=132948150. Continúa buscando y calcula el sector del segundo hallazgo. En mi caso fue 68069454848/512=132948154 (no hay imagen).
La diferencia entre los dos hallazgos es de 4 bloques (=2 KB).
Esto es típico para el límite entre una partición JHFS+ y el Recovery HD. El Recovery HD comienza entonces en el sector del segundo hallazgo - 2 (en mi ejemplo 132948154-2=132948152).
-
Calcula el número de sector del primer hallazgo. En mi ejemplo era 67733904384/512=132292782 (sin imagen). Continúa buscando y calcula el sector del segundo hallazgo. En mi caso fue 68069454848/512=132948154 (sin foto). La diferencia entre los dos hallazgos es de 655372 (~336 MB)
Esto es típico para el límite entre una partición CoreStorage y el Recovery HD. El Recovery HD comienza entonces en el sector del segundo hallazgo - 2 (en mi ejemplo 132948154-2=132948152).
Con esos resultados deberías poder restaurar tu GPT correctamente. Salga de wxHexEditor. Si se le pide que guarde los cambios ¡no los guardes! .
Reconstruir un GPT adecuado
Aquí asumo que el identificador de tu disco principal es disk0. Primero tienes que desmontar tu disco principal:
diskutil umountDisk disk0
Compruebe la distribución de las particiones y elimine las tres primeras particiones:
gpt -r -vv show /dev/disk0
gpt remove -i 3 disk0
gpt remove -i 2 disk0
gpt remove -i 1 disk0
Como la EFI y el Recovery HD suelen tener tamaños fijos, podemos calcular el bloque inicial y final de su volumen principal.
Primero reconstruimos el EFI con:
gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
A continuación, calculamos el tamaño del volumen principal: el bloque inicial es 409640. El bloque final se ha encontrado en la sección "¿Dónde empieza la partición del Recovery HD? 1 menos que el bloque de inicio del Recovery HD. El tamaño es entonces StartBlockOfRecoveryHD-409640.
Si has encontrado un JHFS+ clásico antes, el siguiente comando debería arreglar la partición 2:
gpt add -b 409640 -i 2 -s StartBlockOfRecoveryHD-409640 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
Si ha encontrado una partición CoreStorage antes, el siguiente comando debería arreglar la partición 2:
gpt add -b 409640 -i 2 -s StartBlockOfRecoveryHD-409640 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
Para reconstruir el disco duro de recuperación entre:
gpt add -b StartBlockOfRecoveryHD -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
Vuelve a montar el disco0 con:
diskutil mountDisk disk0
Salga de la Terminal, inicie la Utilidad de Discos y compruebe su volumen principal (probablemente el Macintosh HD) en busca de errores e intente repararlos si es necesario.
Si ha encontrado una partición de CoreStorage antes, puede que tenga que reiniciar a su unidad de disco duro antes de reparar los volúmenes con la Utilidad de Discos, porque el volumen lógico de CoreStorage podría no ser reconocido/montado correctamente. En su configuración - 1 disco principal y la unidad de disco duro - el volumen lógico debería ser disk2.
Espero que esto resuelva tus problemas.
Si tienes problemas (por ejemplo, no puedes encontrar el sector de inicio adecuado de tu Recovery HD), tienes dudas o preguntas, ¡detente inmediatamente y contáctame con un comentario @klanomath!
0 votos
@klanomath gracias por tu respuesta. He editado mi pregunta (siento que haya tardado)
0 votos
De hecho, yo también lo intenté. La razón por la que los sectores en las particiones que hice son ligeramente diferentes es porque reparé el volumen usando la utilidad de discos. Cuando intento reparar las particiones individuales también me da errores. Volveré a arrancar en recovery y editaré este comentario con esos errores.
0 votos
Gracias. Probaré tu respuesta. ¿Qué posibilidades tengo de recuperar la partición crees? No tiene que ser booteable, sólo necesito un par de archivos (hfsprescue no es una opción ahora mismo porque tendría que restaurar todo y no tengo un pendrive de 700gb). Reinstalar OS X no es un problema.
0 votos
@klanomath Vale pues la Utilidad de Discos en el recovery dio los mismos errores. Instalaré Yosemite en el pendrive de GNOME y probaré DiskWarrior y wxHexEditor. A Stack no le gustan los comentarios extendidos así que también moveré esto a un chat.
0 votos
Vamos a continuar esta discusión en el chat .