5 votos

¿Cómo puedo arreglar mi mesa divisoria?

Creo que arruiné severamente mi mesa de partición.

Tenía una partición BOOTCAMP, una partición MacOS APFS y una partición exFAT. Creo que también tenía 17GB de espacio no asignado.

Intenté encoger el tabique del BOOTCAMP, y creo que eso arruinó la mesa del tabique. La partición BOOTCAMP se equivocó al arrancar, y la partición de MacOS no fue detectada. Desde Recuperación de Internet, reinstalé El Capitán de una unidad USB en otra partición, mientras borraba la partición BOOTCAMP (tenía una copia de seguridad bastante reciente). Actualmente estoy usando eso, actualizado a High Sierra. Todavía no ve la vieja partición de MacOS, o los ~50GB de espacio sin asignar (aunque siento que la mayor parte de eso podría ser la partición de MacOS que falta).

Además, la entrada de Windows sigue apareciendo al pulsar alt/opción en el arranque, aunque con errores como antes. No se muestra en el disco de inicio ni en ningún otro lugar.

Asumo que mi partición de BOOTCAMP es irrecuperable, lo cual me parece bien. Sin embargo, si es posible, ¿cómo puedo recuperar mi vieja partición MacOS?

Y principalmente, ¿cómo puedo simplemente arreglar la mesa divisoria? Esp. la supuesta partición de Windows/BOOTCAMP que está ahí (aunque estoy seguro de que no) y los ~50GB que faltan

Esto es lo que Disk Utility dice que tengo ahora mismo. Extra y Común son sólo particiones vacías por ahora.

https://ibb.co/khN7pc

A continuación se muestra la salida del comando sudo gpt -r show disk0 .

https://image.ibb.co/cyYxpc/Screen_Shot_2018_03_14_at_8_51_09_AM_1.png

5voto

klanomath Puntos 19587

La tabla de partición del disco 0 no está arruinada en absoluto todos los cambios realizados son más bien involuntarios .

Todas las particiones y volúmenes (EFI, Común, MacOS y Extra) están debidamente marcados y un diskutil verifyVolume disk0sY probablemente saldrá sin ningún error.

Una tabla de partición arruinada perdería el encabezado y la tabla de la partición secundaria, o el encabezado/tabla primaria y secundaria son diferentes, o las sumas de verificación CRC-32 de las entradas del encabezado y la tabla de partición son inválidas.


Tu mesa de partición se ve así:

    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  91672536                                                       
 92082176 168686104     2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC 
260768280    262144                                                       
261030424 177477424     3 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC 
438507848  51464720     4 GPT part - 48465300-0000-11AA-AA11-00306543ECAC 
489972568    262151                                                       
490234719        32       Sec GPT table                                   
490234751         1       Sec GPT header  

A la primera partición con un tamaño de 209,7 MB - la partición estándar EFI - le sigue el espacio de disco no asignado con un tamaño de 46,94 GB.

La segunda partición es una partición estándar HFS+ con un tamaño de 86,37 GB seguida de espacio de disco no asignado con un tamaño (estándar) de 134,2 MB.

El tercero es una partición de contenedor APFS con un tamaño de 90,87 GB. La cuarta es otra partición estándar HFS+ con un tamaño de 26,35 GB.


Una disposición de la partición SSD por defecto probablemente se vería así después de instalar High Sierra (APFS) y una partición BOOTCAMP sin embargo:

     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         X     2 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC 
  X+409640    262144      
  X+671784         Y     3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
X+Y+671784       ...     ...  

El segundo espacio de disco no asignado (262144 bloques) puede ser más pequeño o más grande.

En consecuencia, depende del tamaño de su vieja partición MacOS si partes de ella fueron sobrescritas o no.

  • Si X era igual o menor que 91672536 (bloques) su vieja partición de MacOS puede ser recuperada completamente.
  • Si X era más grande que 91672536 (bloques) y más pequeño que 260358640 (=91672536+168686104) (bloques) partes de la vieja partición del contenedor del MacOS fueron sobrescritos creando el Común volumen. La creación de un nuevo volumen vacío suele requerir unos 120 MB - 500 MB para escribir algunos metadatos del sistema de archivos. Dependiendo del tamaño del sistema APFS/preinicio/volumen de recuperación, es posible que se hayan sobrescrito partes de ellos.

Si el primer bloque de su contenedor APFS desaparecido (incluyendo el volumen de su antiguo sistema APFS de MacOS) no fue sobrescrito, puede detectar su tamaño anterior:

  • Arrancar a una unidad externa con MacOS instalado

  • Abra la Terminal y obtenga los detalles usuales relacionados con el disco (abajo asumo que el SSD interno tiene el disco identificador disk0):

    diskutil list
    sudo gpt -r show disk0
  • Desmontar el SSD

    diskutil umountDisk disk0
  • dd/hexdump block 409640:

    sudo dd if=/dev/disk0 bs=512 skip=409640 count=1 | hexdump

    que dará lugar a algo como esto (¡sólo un ejemplo!):

    1+0 records in
    1+0 records out
    512 bytes transferred in 0.001917 secs (267067 bytes/sec)
    0000000 b9 e9 ff cb a4 6d fc f3 01 00 00 00 00 00 00 00
    0000010 fc da 09 00 00 00 00 00 01 00 00 80 00 00 00 00
    0000020 4e 58 53 42 00 10 00 00 29 ea 22 01 00 00 00 00
    0000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000040 02 00 00 00 00 00 00 00 d8 36 06 fb 2f 1f 42 7a
    0000050 b2 90 f5 cc 5c 85 9f 36 13 6f 08 00 00 00 00 00
    0000060 fd da 09 00 00 00 00 00 18 01 00 00 18 6c 00 00
    0000070 21 3c 06 00 00 00 00 00 28 c9 05 00 00 00 00 00
    0000080 70 00 00 00 18 0f 00 00 6e 00 00 00 02 00 00 00
    0000090 bc 0e 00 00 5c 00 00 00 af 6b 00 00 00 00 00 00
    00000a0 69 ad 04 00 00 00 00 00 01 04 00 00 00 00 00 00
    00000b0 00 00 00 00 64 00 00 00 03 04 00 00 00 00 00 00
    00000c0 a4 6b 00 00 00 00 00 00 a6 6b 00 00 00 00 00 00
    00000d0 a6 0d 01 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000200

    la tercera línea es la importante:

    ...
    0000020 4e 58 53 42 00 10 00 00 29 ea 22 01 00 00 00 00
    ...
    • 4e 58 53 42 : la cadena mágica de un contenedor de APFS
    • 00 10 00 00 : Tamaño del bloque del APFS: 4096
    • 29 ea 22 01 00 00 00 00 Tamaño del contenedor del SPA en bloques del SPA: 19065385 (=152523080 512-bloques)

      Después de reordenar los Bytes 29 ea 22 01 00 00 00 00 > 00 00 00 00 29 ea 22 01 > 00 00 00 00 01 22 ea 29 puedes obtener el valor decimal aquí :

      enter image description here

    El tamaño del antiguo contenedor del SPA en 512(bloques) es entonces el tamaño del bloque del SPA x el tamaño del contenedor en los bloques del SPA. En el ejemplo esto es 4096/512 * 19065385 = 152523080 bloques.

  • dependiendo del tamaño anterior, quitar la 2ª partición:

    diskutil umountDisk disk0
    sudo gpt remove -i 2 /dev/disk0
  • restaurar la antigua partición (aquí con el tamaño del ejemplo: 152523080 bloques(512) - ¡no uses este accidentalmente! ):

    diskutil umountDisk disk0
    sudo gpt add -i 2 -b 409640 -s 152523080 -t 7C3457EF-0000-11AA-AA11-00306543ECAC /dev/disk0
  • revisar el contenedor del APFS

    diskutil verifyVolume disk0s2
  • comprobar el volumen del sistema APFS

    diskutil list #get the device identifier of the APFS system volume and use it below (probably disk2s2)
    diskutil verifyVolume diskXsY

Si tienes problemas para analizar el hexdump u otros resultados y mensajes de error, por favor deja un comentario.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X