¿Cómo puedo arreglar mi tabla de particiones?

Creo que arruiné gravemente mi tabla de particiones.

Tenía una partición BOOTCAMP, una partición macOS APFS y una partición exFAT. Creo que también tenía 17 GB de espacio sin asignar.

Traté de reducir la partición BOOTCAMP y creo que eso arruinó la tabla de particiones. La partición BOOTCAMP tuvo un error al iniciarse y no se detectó la partición de macOS. Desde Internet Recovery, reinstalé El Capitan desde una unidad USB en otra partición, mientras eliminaba 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 partición anterior de macOS, o los ~ 50 GB de espacio no asignado (aunque creo que la mayor parte podría ser la partición de macOS que falta).

Además, la entrada de Windows todavía se muestra al presionar alt/opción en el arranque, aunque falla como antes. No se muestra en el disco de inicio ni en ningún otro lugar.

Supongo que mi partición BOOTCAMP es irrecuperable, con lo que estoy bastante bien. Sin embargo, si es posible, ¿cómo puedo recuperar mi partición anterior de macOS?

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

Esto es lo que dice la Utilidad de Discos que tengo ahora mismo. Extra y Common son solo 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

Casi cualquier pregunta relacionada con las tablas de partición requiere agregar la tabla de partición a la pregunta: en Terminal.app ingrese sudo gpt -r show disk0y (si está involucrado BOOTCAMP) sudo fdisk /dev/disk0y agregue el resultado a su pregunta. Bajo ciertas circunstancias (arrancado a High Sierra) SIP tiene que ser deshabilitado para obtener un resultado.
Desafortunadamente, las herramientas de partición de Windows solo funcionan correctamente cuando se inician en modo de recuperación o en los medios de instalación. La secuencia de eventos que publicaste me confunde. Dice que tenía una partición APFS cuando reinstaló El Capitan, pero APFS no se lanzó hasta High Sierra. A continuación, indica que actualizó a High Sierra. Entonces, ¿tenía una partición APFS cuando intentó reducir la partición BOOTCAMP?
@DavidAnderson Instalé El Capitán desde un USB que ya lo tenía, para tener una computadora usable rápidamente. Sí, tenía una partición APFS cuando intenté reducir mi partición BOOTCAMP.
@klanomath No tuve que deshabilitar SIP para obtener una salida, pero esto es lo que obtuve ibb.co/ncFA9c

Respuestas (1)

La tabla de particiones de disk0 no se arruina en absoluto; todos los cambios realizados son más bien involuntarios .

Todas las particiones y volúmenes (EFI, Common, macOS y Extra) están correctamente marcados y diskutil verifyVolume disk0sYprobablemente saldrán sin errores.

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


Su tabla de particiones 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 EFI estándar, le sigue el espacio en disco no asignado con un tamaño de 46,94 GB.

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

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


Sin embargo, un diseño de partición SSD predeterminado probablemente se vería así después de instalar High Sierra (APFS) y una partición BOOTCAMP:

     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 en disco no asignado (262144 bloques) puede ser más pequeño o más grande.

En consecuencia, depende del tamaño de su antigua partición de macOS si se sobrescribieron partes de ella o no.

  • Si X era igual o menor que 91672536 (bloques), su antigua partición de macOS se puede recuperar por completo.
  • Si X era mayor que 91672536 (bloques) y menor que 260358640 (=91672536+168686104) (bloques), partes de su antigua partición de contenedor de macOS se sobrescribían al crear el volumen común . La creación de un nuevo volumen vacío generalmente requiere entre 120 MB y 500 MB para escribir algunos metadatos del sistema de archivos. Dependiendo del tamaño del sistema APFS/volumen de prearranque/recuperación, es posible que se hayan sobrescrito partes de ellos.

Si el primer bloque de su contenedor APFS desaparecido (incluido su antiguo volumen del sistema macOS APFS) no se sobrescribió, puede detectar su tamaño anterior:

  • Arranque en una unidad externa con macOS instalado
  • Abra Terminal y obtenga los detalles habituales relacionados con el disco (abajo, supongo que el SSD interno tiene el identificador de disco disk0):

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

    diskutil umountDisk disk0
    
  • bloque dd/hexdump 409640:

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

    que producirá algo como esto (¡solo 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: cadena mágica de un contenedor APFS
    • 00 10 00 00: tamaño de bloque APFS: 4096
    • 29 ea 22 01 00 00 00 00Tamaño del contenedor APFS en bloques APFS: 19065385 (=152523080 512 bloques)

      Después de reorganizar 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, puede obtener el valor decimal aquí :

      ingrese la descripción de la imagen aquí

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

  • dependiendo del tamaño anterior, elimine la segunda partición:

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

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

    diskutil verifyVolume disk0s2
    
  • verifique 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 tiene problemas para analizar el volcado hexadecimal u otros resultados y mensajes de error, ¡deje un comentario!

Finalmente, al intentar esto, ¿funcionará el terminal de recuperación o tendré que instalar macOS en otra unidad?
Y creo que los 46,94 GB podrían ser la antigua partición de macOS, pero no estoy seguro
Además, aunque eliminé la partición de Windows, aún aparece (y errores) al presionar la opción/alt en el arranque
He llegado hasta aquí hasta ahora, no estoy seguro de cómo convertir esto: image.ibb.co/btJZqd/Screen_Shot_2018_05_12_at_11_15_41_PM.png
X era = 262144 y tenía exactamente 91672536
¡GRACIAS! Recuperé mi partición anterior (e hice una copia de seguridad). Pero ahora parece que falta la partición común y no tengo una copia de seguridad reciente de eso. voy a ver si encuentro algo