0 votos

Restaurar tabla de particiones

Acabo de intentar instalar Windows en un SSD externo, pero he borrado por error particiones de un SSD Mac desde el instalador de Windows. Tenía 2 particiones:

  • Macintosh HD (APFS)
  • MacData (ExFat, ~108 GB)

Así que he borrado particiones del sistema (EFI, Recovery, ...) y Macintosh HD, pero MacData no se toca. Sólo arrancó en modo de recuperación con conexión a Internet. Utilidad de Discos sólo muestra la partición MacData. ¿Hay alguna manera de recuperar estas particiones desde el terminal de modo de recuperación de Mac?

Este es el resultado de gpt -r show disk0 :

Photo of Terminal output of the command 'gpt -r show disk0'

0voto

  • Disclaimer0: Los siguientes pasos pueden no ser válidos para otros macs u otras versiones de macOS, yo estoy usando Macbook Pro 16" 2019, MacOS Ventura 13.1
  • Descargo de responsabilidad1: Tal vez esta no sea la mejor solución, sólo mi experiencia de resolver el problema.

Así que, respondiéndome a mí mismo.

Después de unas horas de jugar con gpt comando, estos pasos me ayudaron:

  1. No olvide ejecutar gpt -r show disk0 y recuerde resultado impreso

  2. diskutil unmountDisk disk0 - desmontar disco para modificar GPT

  3. gpt destroy disk0 - borrar la antigua GPT

  4. gpt create disk0 - crear nueva GPT

  5. gpt add -i 1 -b 40 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0 - añadir registro para EFI ( pero el "inicio" y "tamaño" es incorrecto en este momento )

  6. diskutil unmountDisk disco0 - Después de EFI añadido, la partición se monta, por lo que desmontar el disco para modificar GPT

  7. gpt add -i 2 -b 409640 -s 95361496 -t 7C3457EF-0000-11AA-AA11-00306543ECAC disk0 - añadir APFS ( pero el "inicio" y el "tamaño" es incorrecto en este momento ).

    95361496 = 95771136 (inicio ExFAT) - 409640 (fin EFI)

Por lo tanto, en este momento tengo 2 registros - EFI y APFS. Volví a Disk Util y vi APFS partición muestra como "disk0s2", y no se puede montar. First Aid detecta problema con EFI, así que tenemos que arreglarlo.

Volví a Terminal, y ejecuté diskutil repairDisk disk0 . Me pidió que permitiera reescribir la partición EFI.

Ejecuté gpt -r show disk0 y vi algo extraño: tamaño de EFI partiton se redujo a 76800, "inicio" cambiado a 6 y apareció espacio libre entre EFI (1) y APFS (2).

He borrado el registro APFS:

diskutil unmountDisk disk0
gpt remove -i 2 disk0

Y recreado con nuevo punto de inicio y tamaño:

gpt add -i 2 -b 76806 -s 95694330 -t 7C3457EF-0000-11AA-AA11-00306543ECAC disk0

95694330 = 95771136 (inicio ExFAT) - 76806 (fin EFI)

Y voilá: diskutil list muestra todos mis contenedores APFS (Macintosh HD y otros)

Al final, añada el registro ExFAT:

gpt add -i 3 -b 95771136 -s 26366976 -t EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 disk0

Ahora puedo arrancar en MacOS :)

Nota: Por suerte el registro ExFAT no se borró al principio, así que esta es la clave de toda la solución, por otra parte no sé cómo determinar dónde "termina" la partición APFS y dónde "empieza" la partición ExFAT.

Tipos de registro:

ExFAT - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
APFS - 7C3457EF-0000-11AA-AA11-00306543ECAC 
EFI - C12A7328-F81F-11D2-BA4B-00A0C93EC93B 

gpt banderas de comando:

-i - record index
-b - "start" of partition
-s - "size" of partition
-t - type of record 

Así pues, simplificado posible solución (SÓLO SI TIENE APFS SOLAMENTE O APFS Y EXFAT, PERO NO SE BORRA EL REGISTRO EXFAT) :

gpt -r show disk0 - TOMAR UNA FOTO DEL RESULTADO IMPRESO

diskutil unmountDisk disk0
gpt destroy disk0
gpt create disk0
gpt add -i 1 -b 6 -s 76800 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
diskutil unmountDisk disk0
gpt add -i 2 -b 76806 -s **APFS_SIZE (SEE BELOW)** -t 7C3457EF-0000-11AA-AA11-00306543ECAC disk0

// IF YOU HAD EXFAT PARTITION, SKIP IF NOT
diskutil unmountDisk disk0
gpt add -i 3 -b *EXFAT_PARTITION_START* -s *EXFAT_PARTITION_SIZE* -t EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 disk0

Acerca de APFS_SIZE:

  • Si tenías una partición ExFAT después de una partición APFS:

    APFS_SIZE = EXFAT_PARTITION_START - 76806

  • Si sólo tiene una partición APFS :

    • APFS_SIZE = "Sec GPT table" start - 76806
    • O (inténtelo de otro modo)
    • APFS_SIZE = "Sec GPT table" start - 76806 - 16

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