Ayer, intenté eliminar una partición de Ubuntu. Dado que mi Mac (13", MBPro de mediados de 2014) no arranca. Ahora, arranco en una copia de Mac OS con un USB. Sigo un tema diferente de este foro (como este: Tipo de partición de repente FFFFFFFF-FFFF-FFFF- FFFF-FFFFFFFFFFFF, unidad inmontable ), y mi partición de volumen cambia de FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF a 48465300-0000-11AA-AA11-00306543ECAC . Pero todavía no puedo iniciarlo...
Muchos gracias !
Una partición OS X de arranque (excepto Recovery HD) tiene el GUID 48465300-0000-11AA-AA11-00306543ECAC para una partición OS X estándar, el GUID 53746F72-6167-11AA-AA11-00306543ECAC para una partición CoreStorage o el GUID 7C3457EF -0000-11AA-AA11-00306543ECAC para un volumen APFS. El FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF es un tipo de partición desconocido (pero no ninguna partición como la 000000-0000-0000...).
El GUID se puede modificar con gpt. Solo puede agregar, eliminar y modificar tablas de particiones GUID con gpt cuando todos los discos relacionados están desmontados. Para reconfigurar sus particiones, inicie en una unidad de terceros (por ejemplo, Recuperación de Internet o una memoria USB del instalador de OS X).
En determinadas circunstancias, SIP debe deshabilitarse para modificar la tabla de particiones GUID.
Inicie el modo de recuperación de Internet (o una unidad de terceros).
Abra Terminal en la barra de menú Utilidades > Terminal
Obtenga una visión general condiskutil list
Obtenga una descripción general de su disco interno con el identificador de disco que se encuentra en el comando anterior. A continuación, asumo que el identificador de disco de su disco interno es disk0 (SSD) (reemplácelo con el que ha encontrado en su entorno).
gpt -r show disk0
Desmontar disk0 condiskutil umountDisk disk0
Luego elimine y vuelva a agregar la segunda partición con el mismo tamaño pero el tipo adecuado. El tipo más probable para disk0s2 en un SSD con Sierra instalado actualmente es 53746F72-6167-11AA-AA11-00306543ECAC o con High Sierra instalado 7C3457EF-0000-11AA-AA11-00306543ECAC (porque una partición anterior de CoreStorage casi con certeza se convirtió a APFS mientras actualizar Sierra a High Sierra).
Nota: Si alguno de los
gpt add
comandos a continuación genera el mensaje de errorgpt add: disk0: error: no space available on device
, consulte esta respuesta para una posible solución.
Sierra (CoreStorage):
gpt remove -i 2 disk0
gpt add -i 2 -b 409640 -s 431203056 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
o
Sierra Alta (APFS):
gpt remove -i 2 disk0
gpt add -i 2 -b 409640 -s 431203056 -t 7C3457EF-0000-11AA-AA11-00306543ECAC disk0
o
partición estándar (HFSJ Extended):
gpt remove -i 2 disk0
gpt add -i 2 -b 409640 -s 431203056 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
Verifique el disco y el volumen:
diskutil verifyDisk disk0
diskutil verifyVolume disk0s2
Iniciado en su unidad USB e iniciado sesión como administrador, debe anteponer sudo
para ejecutar los comandos gpt con éxito.
Si olvidó la versión de su sistema o realizó alguna partición personalizada, aún puede inspeccionar los primeros bloques de disk0s2 y determinar el tipo de GUID adecuado:
Si ha arrancado en un sistema completo, puede usar hexdump
:
Desmontar disk0 condiskutil umountDisk disk0
hexdump los primeros 3 bloques de la partición FFFF...:
sudo dd if=/dev/disk0s2 count=3 | hexdump
El siguiente resultado lo identifica como una partición OS X normal:
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
0000410 d3 8c 77 d3 d4 33 3c b0 00 00 00 00 d3 8c 5b b3
0000420 00 00 02 a8 00 00 00 25 00 00 10 00 00 fe b7 f6
0000430 00 fe 1e fa 00 ed 80 00 00 01 00 00 00 01 00 00
0000440 00 00 10 f2 00 00 5a 9d 00 00 00 00 00 00 00 01
0000450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000460 00 00 00 00 00 00 00 00 7d 9d b0 3a 02 31 62 f0
0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000510 00 00 00 00 03 10 00 00 03 10 00 00 00 00 31 00
0000520 00 03 ac 00 00 00 31 00 00 00 00 00 00 00 00 00
0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000560 00 00 00 00 05 40 00 00 05 40 00 00 00 00 54 00
0000570 00 00 10 00 00 00 54 00 00 00 00 00 00 00 00 00
0000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000600
El primer número es el conteo de bytes en hexadecimal: 0000000: 0; 0000600: 1536. El * denota líneas idénticas. Esto significa: los primeros dos bloques (0x000-0x3ff) son todos ceros.
Una partición de CoreStorage muestra algunos valores distintos de cero en el primer bloque (0x000-0x1ff):
0000000 0c 73 a1 a9 ff ff ff ff 01 00 10 00 07 14 d7 01
0000010 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000030 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000040 00 20 c1 cc 0f 00 00 00 00 00 00 00 00 00 00 00
0000050 00 00 00 00 00 00 00 00 43 53 01 00 00 00 04 00
0000060 00 10 00 00 00 00 40 00 11 bc fc 00 00 00 00 00
0000070 11 c0 fc 00 00 00 00 00 11 c4 fc 00 00 00 00 00
0000080 11 c8 fc 00 00 00 00 00 00 00 00 00 00 00 00 00
0000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000a0 00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00
00000b0 62 02 98 59 ee a9 ab 51 9b 49 23 90 2e f8 8b 43
00000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000130 e4 6e f8 f2 63 99 45 c1 b2 13 86 28 a5 18 46 6d
0000140 c4 51 c0 f6 32 f9 43 ab 8e 59 42 d2 1a ef f6 50
0000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
0000410 d1 98 a4 93 d4 33 8b d5 00 00 00 00 d1 98 88 73
0000420 00 06 07 53 00 01 82 39 00 00 10 00 00 fb 6a 00
0000430 00 c5 1c 55 00 25 73 c7 00 01 00 00 00 01 00 00
0000440 00 0d e2 65 00 3e a2 fb 00 00 00 00 02 20 00 fb
0000450 00 00 00 31 00 06 b9 ef 00 00 00 00 00 00 00 00
0000460 00 00 00 00 00 00 00 31 fb 48 1e a0 6c 47 a2 9f
0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000510 00 00 00 00 0e 40 00 00 01 30 00 00 00 00 e4 00
0000520 00 00 10 00 00 00 e4 00 00 00 00 00 00 00 00 00
0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000560 00 00 00 00 11 d0 00 00 01 30 00 00 00 01 1d 00
0000570 00 02 80 00 00 00 72 00 00 13 30 97 00 00 13 00
0000580 00 15 c5 aa 00 00 13 00 00 18 2d 23 00 00 13 00
0000590 00 19 d8 fb 00 00 13 00 00 1b 76 cb 00 00 13 00
00005a0 00 1c 34 70 00 00 13 00 00 1d 0e 4d 00 00 13 00
00005b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000600
La línea que comienza con el byte 0x130 muestra el UUID del volumen físico, la línea que comienza con el byte 0x140 muestra el UUID del grupo de volúmenes lógicos.
La cadena 48 46 53 4a (= "HFSJ") en los primeros 16 bytes del tercer bloque identifica un volumen HFS+ con registro en ambos tipos de partición.
Un contenedor APFS se ve así:
0000000 e7 ec ab 5b a2 94 96 44 01 00 00 00 00 00 00 00
0000010 18 0c 00 00 00 00 00 00 01 00 00 80 00 00 00 00
0000020 4e 58 53 42 00 10 00 00 f6 37 ff 00 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 11 f1 5e 40 31 10 4c 20
0000050 bb 47 53 66 7e 8b 42 d5 b9 c4 00 00 00 00 00 00
0000060 19 0c 00 00 00 00 00 00 18 01 00 00 18 6c 00 00
0000070 01 00 00 00 00 00 00 00 19 01 00 00 00 00 00 00
0000080 21 00 00 00 80 5a 00 00 1f 00 00 00 02 00 00 00
0000090 7a 5a 00 00 06 00 00 00 00 04 00 00 00 00 00 00
00000a0 37 fd 03 00 00 00 00 00 01 04 00 00 00 00 00 00
00000b0 00 00 00 00 64 00 00 00 02 04 00 00 00 00 00 00
00000c0 06 04 00 00 00 00 00 00 08 04 00 00 00 00 00 00
00000d0 66 a4 00 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
*
00003d0 00 00 00 00 00 00 00 00 16 21 06 00 00 00 00 00
00003e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00004f0 00 00 00 00 00 00 00 00 91 3d 0f 00 00 00 00 00
0000500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000510 78 f4 09 00 00 00 00 00 01 00 00 00 00 00 00 00
0000520 01 00 04 00 08 00 00 00 00 00 00 00 00 00 00 00
0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
La cadena 4e 58 53 42 (= "NXSB") que comienza con el byte 0x020 en el primer bloque es la cadena mágica de un superbloque contenedor APFS y lo identifica como contenedor APFS. El UUID del contenedor comienza en 0x48 (aquí: 11 f1 5e 40 ...)
Si está limitado al modo de recuperación (Internet) o una unidad de arranque del instalador (todos con un sistema base que no contiene hexdump ), aún puede usar vis
:
Desmontar disk0 condiskutil umountDisk disk0
vis los primeros 3 bloques de la partición FFFF...:
dd if=/dev/disk0s2 count=3 | vis -c
Si anteriormente tenía una partición estándar, los primeros 1024 bytes solo contienen no imprimibles (ceros): \0\0\0\0\0\0...
después del ~Byte 1030, verá la siguiente secuencia:\0HFSJ\0
Si tenía una partición CoreStorage, se muestran algunos valores distintos de cero en los primeros 512 bytes y la cadena CS ( ...\0CS\^A...
):
\^U\^D\^A\M-s\M^?\M^?\M^?\M^?\^A\0\^P\0\0\0\M-W\^A\a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\M^Pu\M-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0CS\^A\0\0\0\^D\0\0\^P\0\0\0\0@\0X\M-7}\^C\0\0\0\0X\M-;}\^C\0\0\0\0X\M-?}\^C\0\0\0\0X\M-C}\^C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^P\0\0\0\^B\0\0\0006j v\^R\M-+\^U\M^[\f\M^CdG\M-y\^]...
Si tenía una partición APFS, la cadena NXSB ( ...\0NXSB\0\^P...
) se muestra en los primeros bytes:
??[?\M^T\M^VD\^A\0\0\0\0\0\0\0\^X\f\0\0\0\0\0\0\^A\0\0\M^@\0\0\0\0NXSB\0\^P\0\0?7?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^B\0\0\0\0\0\0\0\^Q?^@1\^PL ?GSf~\M^KBչ?\0\0\0\0\0\0\^Y\f\0\0\0\0\0\0\^X\^A\0\0\^Xl\0\0\^A\0\0\0\0\0\0\0\^Y\^A\0\0\0\0\0\0!\0\0\0\M^@Z\0\0\^_\0\0\0\^B\0\0\0zZ\0\0\^F\0\0\0\0\^D\0\0\0\0\0\0007?\^C\0\0\0\0\0\^A\^D\0\0\0\0\0\0\0\0\0\0d\0\0\0\^B\^D\0\0\0\0\0\0\^F\^D\0\0\0\0\0\0\b\^D\0\0\0\0\0\0f?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\
diskutil verifyVolume
(¿xattr?) pero al final dijo que estaba bien, y así fue. ¿Son normales estas advertencias?vis -c
salida publicada por algunos usuarios es invertible mientras que otra salida contiene muchos ?
caracteres, lo que hace que la salida no sea invertible. En mi Mac, primero tengo que ingresar export LC_CTYPE="ASCII"
antes de usar vis -cw
o vis -cfw
para crear una salida invertible.vis -c
salida para obtener el tamaño de la partición. En la segunda pregunta, no pude porque el resultado contenía signos de interrogación ( ?
). Esto me llevó a investigar cómo hacer que la salida sea invertible.En el contexto de la respuesta de klanomath , esta respuesta aborda qué hacer cuando aparece el siguiente mensaje después de usar el gpt
comando para agregar una nueva partición que también existe en la tabla de particiones MBR.
gpt add: disk0: error: no space available on device
La entrada de la tabla de particiones MBR generalmente se puede identificar a partir de la salida del gpt -r show disk0
comando. A continuación se muestra la salida típica que aparecería cuando se produce el mensaje anterior.
gpt show: disk0: Suspicious MBR at sector 0
start size index contents
0 1 MBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 431203056 2 MBR part 255
431612696 58622023
490234719 32 Sec GPT table
490234751 1 Sec GPT header
Aquí, la línea que contiene MBR
indica que la segunda entrada en la tabla de particiones MBR define una partición que ocupa el mismo espacio que cada uno de los gpt add
comandos en la respuesta de klanomath está tratando de volver a agregar al GPT. El siguiente comando se puede usar para imprimir la tabla de particiones MBR.
fdisk /dev/disk0
La salida típica se muestra a continuación.
Disk: /dev/disk0 geometry: 30515/255/63 [490234752 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 0 0 2 - 25 127 14 [ 1 - 409639] <Unknown ID>
2: FF 25 127 15 - 1023 254 63 [ 409640 - 431203056] Xenix BBT
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
Para volver a colocar la entrada de partición en GPT, implemente los siguientes pasos.
Guarde una copia de texto de la tabla de particiones MBR. El comando se da a continuación.
fdisk -d /dev/disk0 > /var/tmp/mbr.txt
Elimine la entrada de partición de la tabla de particiones MBR. Los comandos de ejemplo se dan a continuación.
diskutil unmountdisk disk0
fdisk -e /dev/disk0
setpid 2
0
quit
A continuación se proporciona un resumen de los fdisk
comandos interactivos.
help Command help list
manual Show entire man page for fdisk
reinit Re-initialize loaded MBR (to defaults)
auto Auto-partition the disk with a partition style
setpid Set the identifier of a given table entry
disk Edit current drive stats
edit Edit given table entry
erase Erase current MBR
flag Flag given table entry as bootable
update Update machine code in loaded MBR
select Select extended partition table entry MBR
print Print loaded MBR partition table
write Write loaded MBR to disk
exit Exit edit of current MBR, without saving changes
quit Quit edit of current MBR, saving current changes
abort Abort program without saving current changes
A continuación se muestra la salida de muestra.
diskutil unmountdisk disk0
Unmount of all volumes on disk0 was successful
$ fdisk -e /dev/disk0
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Enter 'help' for information
fdisk: 1> setpid 2
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
2: FF 25 127 15 - 1023 254 63 [ 409640 - 431203056] Xenix BBT
Partition id ('0' to disable) [0 - FF]: [FF] (? for help) 0
fdisk:*1> quit
Writing current MBR to disk.
Nota: El siguiente mensaje de advertencia se puede ignorar. Se supone que
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
el archivo contiene el código de arranque MBR BIOS.boot0
Dado que macOS utiliza el arranque EFI en lugar del arranque BIOS heredado, una instalación de macOS no incluye este archivo.
Vuelva a agregar la entrada de la partición a la GPT. Básicamente, ejecute los mismos comandos para agregar la partición según lo determinado por la respuesta de klanomath . Los comandos que utilizó el OP se dan a continuación.
diskutil unmountdisk disk0
gpt add -i 2 -b 409640 -s 431203056 -t 7C3457EF-0000-11AA-AA11-00306543ECAC disk0
Restaure la tabla de particiones MBR desde la copia de texto guardada. Los comandos se dan a continuación.
diskutil unmountdisk disk0
fdisk -r -y /dev/disk0 < /var/tmp/mbr.txt
A continuación se muestra la salida de muestra.
$ diskutil unmountdisk disk0
Unmount of all volumes on disk0 was successful
$ fdisk -r -y /dev/disk0 < /var/tmp/mbr.txt
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
Elimine la copia de texto guardada de la tabla de particiones MBR. El comando se da a continuación.
rm /var/tmp/mbr.txt
klanomath
Nicolás Lorand
klanomath
Edric
7C3457EF-0000-11AA-AA11-00306543ECAC
Sigue siendo aplicable para Mojave?) Actualmente estoy experimentando casi el mismo problema, excepto que es una MacBook Pro de principios de 2015, y no estoy experimentando el problema donde segpt -r show disk0
produce esa salida en la captura de pantalla.Edric
7C3457EF-0000-11AA-AA11-00306543ECAC
debería trabajar para High Sierra y más. (Ya lo probé: ¡la verificación de archivos funciona!)david anderson