La gestión de discos de Windows ha sobrescrito la tabla de particiones GUID con una tabla de particiones MBR. Esto normalmente sólo afecta a la tabla de particiones, pero no el contenido de su disco (aunque parece haber desaparecido) Para restaurar una tabla de particiones GUID adecuada, hay que borrar el MBR y restaurar una tabla de particiones GUID adecuada.
El obstáculo particular aquí es: el OP no tiene una unidad de disco duro ni un segundo Mac o una unidad externa.
La respuesta a continuación es NO destinado a los usuarios CON una unidad de memoria o un disco externo. Si tienes uno de esos dispositivos, existen soluciones mucho más sencillas.
Preparación:
-
Reinicie el modo de recuperación de Internet pulsando alt cmd R en el arranque.
Los requisitos previos son la última actualización del firmware instalada, una red ethernet o WLAN (WPA/WPA2) y un router con DHCP activado.
En una línea de 50 Mbps tarda unos 4 minutos (presentando un pequeño globo animado) en arrancar en una imagen de netboot de recuperación que normalmente se carga desde un servidor Apple/Akamai.
Yo recomiendo ethernet porque es más fiable. Si estás restringido a WIFI y el proceso de arranque falla, simplemente reinicia tu Mac hasta que consigas arrancar.
Como alternativa, puede empezar desde una unidad de disco duro de arranque (preferiblemente Yosemite o El Capitan) o una unidad de disco duro que contenga un sistema completo (preferiblemente Yosemite o El Capitan). Si arrancas con un sistema completo y te conectas como administrador, tienes que añadir sudo
para ejecutar algunos comandos como gpt ...
o newfs_hfs ...
¡!
Eliminar el MBR y modificar la tabla de particiones GUID
-
Entre en diskutil list
y gpt -r show /dev/diskX
(con diskX: el identificador del disco interno (probablemente disk0) para obtener una visión general. En los comandos de abajo asumo que el identificador del disco es disk0.
Debería obtener la siguiente salida (los tipos pueden ser diferentes en su listado de diskutil:
-bash-3.2# diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *500.0 GB disk0
1: NTFS 253.5 GB disk0s1
2: NTFS 122.4 GB disk0s2
3: NTFS 124.1 GB disk0s3
/dev/disk1...~/dev/disk12 belong to the recovery system
-bash-3.2# gpt -r show /dev/disk0
start size index contents
0 1 MBR
1 488493055 1 MBR part 66
488493056 248700928 2 MBR part 66
737193984 239577136 3 MBR part 66
976771120 2048
-
Ahora sustituye el MBR por una tabla de partición GUID:
diskutil umountDisk /dev/disk0
dd if=/dev/random of=/dev/disk0 count=1 bs=512
gpt create /dev/disk0
-
Añade la partición EFI en la tabla de particiones:
gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
Ahora puedes adivinar el antiguo contenido de la tabla de particiones GUID o puedes instalar OS X en una nueva partición - sin sobrescribir tus antiguas particiones de OS X - e intentar detectar los tamaños de las antiguas particiones con las herramientas adecuadas (como Test Disk/wxHexEditor).
Instalación de un nuevo OS X
Esto destruirá el contenido de la(s) partición(es) de Windows.
-
Añade una nueva partición en la parte (antigua) de OS X de tu disco para protegerla.
gpt add -b 409640 -i 2 -s 488083416 -t FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF /dev/disk0
Esto podría ser superfluo.
-
Añade nuevas particiones en la parte (antigua) de Windows de tu disco. La primera es una nueva partición del sistema, la segunda una partición de recuperación:
gpt add -b 800000000 -i 4 -s 100000000 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0
gpt add -b 900000000 -i 5 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
-
Ahora tienes que formatear las nuevas particiones:
diskutil list
newfs_hfs -v "TempSystem" -J /dev/disk0s4 #use the proper partition found in diskutil list. It should have a size of ~50 GB
newfs_hfs -v "Recovery HD" -J /dev/disk0s5
diskutil mount /dev/disk0s4
-
Salir de la terminal entrando en exit
y dejarlo.
-
Abrir Restaurar OS X e instalar OS X en la partición TempSystem
-
Configurar el nuevo sistema y habilitar el acceso a Internet. No inicialice ningún volumen "desconocido" si se le pide.
-
Habilitar el usuario root
-
Cerrar la sesión como administrador e iniciar la sesión como Root
-
Descargar e instalar wxHexEditor
Detectar el bloque de inicio y el tipo de su antiguo volumen de OS X y el bloque de inicio de su antiguo Recuperación de HD con wxHexEditor:
El enfoque es similar al de mi respuesta aquí: HFS+ número inválido de bloques de asignación
Dado que el bloque inicial de una partición principal y el tamaño de una partición de recuperación tienen tamaños/límites fijos, normalmente puedes calcular las entradas de partición GUID adecuadas de tu(s) antigua(s) partición(es).
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.
Abre 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 una partición JHFS+ tienen este aspecto:
Si se obtiene una imagen fundamentalmente diferente, deténgase aquí.
-
¿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 antigua segunda partición (en tu caso ~1000 MB/1953125 sectores menos de 488493056 = 486539931)
A continuación, introduzca "HFSJ" como en la imagen de abajo, busque esta cadena dos veces y haga que sea legible. escrito a mano notas de los diferentes desplazamientos. ¡Para restaurar tu viejo OS X tienes que arrancar en el Modo de Recuperación de Internet después y todos los hallazgos en pantalla en el actual OS X temporal se perderán!
La razón para buscar la cadena "HFSJ" es que todos los volúmenes HFSJ+ contienen esta cadena en el tercer sector de su partición. ¡La cadena también puede aparecer más tarde y al final!
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úe buscando y calcule 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 estos resultados deberías ser capaz de restaurar tu GPT correctamente. Salga de wxHexEditor. Si se le pide que guarde los cambios, ¡no los guarde!
-
Vuelve a arrancar en el Modo de Recuperación de Internet y abre el Terminal
-
Entre en diskutil list
y gpt -r show /dev/disk0
-
Retire la segunda partición (la partición protectora de tipo FFFFFFFF-FFFF-FFFF-FFFFFFFF):
diskutil umountDisk /dev/disk0
gpt remove -i 2 /dev/disk0
-
Como la EFI y el Recovery HD suelen tener tamaños fijos, puedes calcular el bloque inicial y final de tu volumen principal.
Calcular 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 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 anteriormente el siguiente comando debería arreglar la partición 2:
diskutil umountDisk /dev/disk0
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:
diskutil umountDisk /dev/disk0
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:
diskutil umountDisk /dev/disk0
gpt add -b StartBlockOfRecoveryHD -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
-
Ahora puede intentar montar y verificar su antiguo volumen de OS X:
diskutil mount /dev/disk0s2
diskutil verifyVolume /dev/disk0s2
Si obtienes un error montando o verificando el volumen sus límites pueden ser erróneos. Deténgase aquí y consúlteme.
-
Si la verificación fue exitosa puedes arrancar en tu antiguo volumen de OS X y comprobar si funciona y borrar TempSystem y el nuevo Recovery HD más tarde o borrar ambos inmediatamente. La desventaja de arrancar primero el volumen de tu viejo OS X es que tienes que arrancar el Modo de Recuperación de Internet una vez más para borrar TempSystem y el nuevo Recovery HD.
-
Para eliminar las dos particiones prescindibles arrancadas en el modo de recuperación de Internet introduzca:
diskutil list
gpt -r show /dev/disk0
diskutil umountDisk /dev/disk0
gpt remove -i 4 /dev/disk0 # remove the partition starting at block 800000000
diskutil umountDisk /dev/disk0 # remove the partition starting at block 900000000
gpt remove -i 5 /dev/disk0
-
Dependiendo del tipo de partición (HFSJ+ o CoreStorage) puede utilizar diskutil resizeVolume ...
o diskutil cs resizeStack ...
para ampliar su volumen OS X recuperado.
Estimar (adivinar) las entradas adecuadas de la tabla de partición GUID
Adivinar la partición a menudo funciona porque se ha creado un " un volumen visible " La instalación de OS X tiene bloques de inicio y tamaños muy característicos de todas las particiones:
Un mapa de particiones clásico de una instalación de Yosemite sin ninguna partición Boot Camp probablemente se vería así en tu Mac:
sudo gpt -r show disk0
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 975093952 2 GPT part - 48465300-0000-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
Todos los bloques de inicio y los tamaños de las particiones están alineados con bloques de 4096 bytes - ¡todos son divisibles por 8 (por ejemplo, 975093952:8=121886744)!
Después de instalar Windows con el Asistente Boot Camp se reduce la partición principal de OS X y se mueve el disco duro de recuperación:
sudo gpt -r show disk0
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 486813880 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
487223520 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
488493056 488280072 4 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
976773128 7
976773135 32 Sec GPT table
976773167 1 Sec GPT header
La cuarta partición es la partición NTFS. Algunas instalaciones de Windows añaden una segunda partición EFI:
488493056 488280072 4 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
->
488493056 204800 4 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
488697856 488075272 5 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Después de particionar la partición de Windows desde Windows, el mapa de partición se sobrescribió y se reemplazó por un mapa de partición MBR:
gpt -r show /dev/disk0
start size index contents
0 1 MBR
1 488493055 1 MBR part 66
488493056 248700928 2 MBR part 66
737193984 239577136 3 MBR part 66
976771120 2048
Ahora se puede suponer que los primeros 488493056 bloques (bloque 0 - bloque 488493055) están intactos (excepto el MBT, por supuesto) y siguen representando la antigua parte de OS X. Dado que ya has sustituido el MBR por una tabla de particiones GUID y has recuperado la partición EFI en un paso anterior, sólo tienes que restaurar la partición principal de OS X y el Recovery HD.
Aquí la suposición es: el último bloque de la primera partición MBR es el último bloque del Recovery HD. Contando hacia atrás, ahora puedes restaurar el Recovery HD y el antiguo volumen de OS X:
Tamaño fijo del disco duro de recuperación: 1269536
Bloque de inicio de la segunda partición: 488493056 - 1269536 = 487223520 (el bloque inicial de la partición de recuperación)
El último bloque fijo de la partición EFI y el bloque de inicio de la partición Recovery determinan el bloque de inicio y el tamaño del volumen OS X:
Tamaño: 487223520 - 409640 = 486813880
Bloque de arranque fijo: 409640
Ahora derive los comandos adecuados para restaurar la tabla de partición GUID:
gpt add -b 487223520 -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0 # add the recovery partition
gpt add -b 409640 -i 2 -s 486813880 -t 48465300-0000-11AA-AA11-00306543ECAC disk0 # add the main OS X partition
Verifique el volumen principal con:
diskutil verifyVolume /dev/disk0s2
Este enfoque puede fallar porque a veces el espacio de disco no asignado (normalmente 2048, 102400 o 204800 bloques) es añadido por las herramientas de particionado de disco. El espacio de disco no asignado puede ser añadido al final de una partición MBR
Tras acceder al Mac remoto e inspeccionar el disco la solución final probable -siguiendo la parte de la respuesta del wxHexEditor- parece ser:
gpt add -b 487222344 -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
gpt add -b 409640 -i 2 -s 486812704 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0
Dado que existen algunos volúmenes montados en el disco0 y que la partición protectora (i=2) tiene que ser eliminada antes de poder restaurar las antiguas particiones originales, la cola de comandos completa tiene este aspecto:
diskutil umountDisk /dev/disk0
gpt remove -i 2 /dev/disk0
diskutil umountDisk /dev/disk0
gpt add -b 487222344 -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
diskutil umountDisk /dev/disk0
gpt add -b 409640 -i 2 -s 486812704 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0
0 votos
Tu problema comenzó en "crear una nueva partición en Windows". Nunca debes dejar que Windows toque el particionado, ya que simplemente no entiende cómo Boot Camp lo engaña haciéndole creer que está en una partición MBR.
0 votos
@klanomath: aquí está la foto imgur.com/afYeBTw partición convertida en MBR, ¿puedo recuperarla? :(
0 votos
@klanomath: al principio separé 250GB para macintosh y 250GB de Windows (el disco duro total es de 500GB), luego separé 250GB en Windows por 2. Ahora, debería ser Mac (250GB) y Windows (125GB cada uno). No me importa Windows, sólo quiero recuperar mi mac (mis datos están dentro de él) :(
0 votos
@klanomath: No, estoy pensando en usar la reinstalación desde internet recovery, pero si lo uso mis datos se perderían ¿no?
0 votos
@JoshuaTang Sí, tus datos se perderán. Pero puedes tener suerte si no formateaste la partición equivocada previamente. Voy a escribir una respuesta en los próximos 30 minutos. Primero tengo que probar algo.
0 votos
@klanomath: en la utilidad de discos, veo que el tamaño de disk0s1 es de 250GB donde disk0s2 & disk0s3 es de 125GB cada uno, ¿quieres decir que debo formatear la partición de Windows (disk0s2 & disk0s3) primero e instalar el nuevo mac os en él y no tocar el viejo mac os (disk0s1)?
0 votos
@JoshuaTang No, no formatees nada. Solo quería decir que espero que no hayas formateado el disk0s1.
0 votos
@klanomath: Ya veo, no formateé nada en este momento, sigue siendo igual que cuando hago gpt en lo anterior
0 votos
@JoshuaTang ¿Qué sistema OS X se instaló? ¿El disco es un SSD o un HDD?
0 votos
@klanomath: Es OSX Yosemite, pero lamentablemente no recuerdo la versión, el disco es de 500GB HDD
0 votos
¡@JoshuaTang OK voy a escribir una respuesta...como dije anteriormente necesito unos 30 minutos para terminarla!