- 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:
-
No olvide ejecutar gpt -r show disk0
y recuerde resultado impreso
-
diskutil unmountDisk disk0
- desmontar disco para modificar GPT
-
gpt destroy disk0
- borrar la antigua GPT
-
gpt create disk0
- crear nueva GPT
-
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 )
-
diskutil unmountDisk disco0 - Después de EFI añadido, la partición se monta, por lo que desmontar el disco para modificar GPT
-
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