Falta espacio en la unidad GPT que comparte volúmenes FAT y APFS

1

Tengo un SSD de 500 GB con un volumen NTFS de 280 GB y un contenedor APFS de 180 GB. La salida de diskutil y gdisk están abajo.

Cambié el tamaño del volumen NTFS a 280GB a partir de 300GB usando el disco mgmt MMC en Win7. El GPT muestra claramente el volumen como 280GB. Sin embargo, tanto DiskUtility como diskutil lo muestran como 300 GB.

Quiero aumentar el contenedor de APFS en esos 20 GB para recuperar el espacio en el lado de OSX. diskutil / APFS se queja de que no hay espacio extra.

Por gdisk, el GPT está bien y es saludable, y es un disco utilizable de 465 GB, con 20 GB de repuesto. gpt v muestra lo siguiente, lo que confirma que hay 20 GB sin usar en alguna parte:

No problems found. 40529892 free sectors (19.3 GiB) available in 3
segments, the largest of which is 40527872 (19.3 GiB) in size.

Salida de comando completa -

$ diskutil list
/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk2
   1:         Microsoft Reserved                         134.2 MB   disk2s1
   2:       Microsoft Basic Data Win Data                301.4 GB   disk2s2
   3:                 Apple_APFS Container disk4         177.9 GB   disk2s3
$ sudo gdisk /dev/disk2
Command (? for help): p
Disk /dev/disk2: 976773168 sectors, 465.8 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): 04004F01-0E37-40FE-9832-C26943A645C3
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 8-sector boundaries
Total free space is 40529892 sectors (19.3 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34          262177   128.0 MiB   0C01  Microsoft reserved ...
   2          264192       588881912   280.7 GiB   0700  Win Data
   3       629409785       976773128   165.6 GiB   AF0A  Mac Data
$ sudo diskutil apfs resizeContainer /dev/disk2s3 0
Started APFS operation
Error: -69743: The new size must be different than the existing size

Entonces, ¿cómo puedo hacer que macOS (High Sierra) reconozca que hay 20 GB de repuesto aquí y lo use?

    
pregunta Alex 22.08.2018 - 05:46

1 respuesta

1
  

Nota: Supongo que disk2 tiene un MBR protector, lo que significa que la unidad no está utilizando un esquema de partición híbrido GPT / MBR. El comando gdisk muestra el tipo de partición cuando se invoca por primera vez, pero en su pregunta, usted elige omitir esta salida.

Pregunta: ¿Cómo puedo hacer que los macOs realmente reconozcan que hay 20 GB de espacio libre?

La aplicación Utilidad de Discos asume que nunca hay espacio libre significativo en ninguna unidad. Todas las operaciones exitosas realizadas con esta aplicación siempre dejan la unidad sin espacio libre significativo.

Por supuesto, los discos suelen tener espacio libre. De hecho, puede crear espacio libre usando el comando diskutil . Por lo tanto, la aplicación Utilidad de disco solo puede / debe usarse bajo las condiciones ideal .

El comando diskutil list nunca ha mostrado espacio libre. Hay una opción limits para diskutil resizeVolume y diskutil apfs resizeContainer que mostrará la cantidad de espacio en el que se puede expandir una partición. Se puede asumir que este es un espacio libre debajo de dicha partición.

Un comando incluido con macOS, que mostrará espacio libre, es el comando gpt . En su caso, deberá ingresar el comando que se indica a continuación.

sudo gpt -r show /dev/disk2

La salida de gdisk , que se muestra en tu pregunta, produjo básicamente la misma información que generaría el comando anterior.

Utilicé las siguientes matemáticas para calcular el espacio libre.

629,409,785 - 588,881,912 - 1 = 40,527,872 sectors 
40,527,872 sectors * 512 bytes/sector = 20,750,270,464 bytes = 20.8 GB
20.8 GB * 0.931323 GiB/GB = 22.3 GiB

Utilicé las siguientes matemáticas para calcular el tamaño de la partición NTFS.

588,881,912 - 264,192 + 1 = 588,617,721 sectors
588,617,721 * 512 bytes/sector = 301,372,273,152 bytes = 301.4 GB
301.4 GB * 0.931323 GiB/GB = 280.7 GiB
  

Nota: este es el mismo resultado que la salida de diskutil y gdisk se muestra en su pregunta. No hay error aquí. El problema puede estar en la forma en que Windows 7 está etiquetando los tamaños de partición. Windows 7 puede tener GB mal etiquetados para GiB o viceversa.

Utilicé los cálculos a continuación para calcular el tamaño de la partición APFS

976773128 - 629409785 + 1 = 347,363,344 sectors
347,363,344 sectors * 512 bytes/sector =  177,850,032,128 bytes = 177.9 GB
177.9 GB * 0.931323 GiB/GB = 165.7 GiB
  

Nota: 1 GB = 1,000,000,000 bytes y 1 GiB = 1,073,741,824 bytes.

Pregunta: ¿Cómo puedo obtener macOs para agregar los 20 GB de espacio libre a la partición APFS?

No. Puede agregar espacio libre inmediatamente después de una partición APFS pero no espacio libre inmediatamente antes. En su caso, el espacio libre está antes de la partición APFS.

Técnicamente, primero podrías mover la partición APFS al inicio del espacio libre, haciendo que el espacio libre esté debajo de la partición APFS. Esto le permitiría usar el comando diskutil apfs resizeContainer para agregar el espacio libre.

Existe un software de terceros que dice poder mover una partición. Intenté usar una unidad flash USB de arranque que contenía GParted para mover una partición APFS, solo para descubrir que GParted no reconoce el formato APFS y, por lo tanto, No moverá este tipo de partición. (Para crear una unidad flash USB de arranque que contenga GParted, usé UNetbootin para transferir el ISO de GParted a la unidad flash).

Otra opción requeriría otra unidad con suficiente espacio libre. Los pasos se dan a continuación.

  1. Realice una copia de seguridad de la partición APFS en otra unidad.
  2. Eliminar la partición APFS. Puedes hacer esto con diskutil , gpt o gdisk .
  3. Crea una nueva partición APFS para incluir el espacio libre. Puedes hacer esto con gpt o gdisk .

      

    Nota: asegúrese de que los valores de sector que ingrese sean divisibles entre 8.

  4. Formatea la nueva partición. Puede hacer esto con las aplicaciones de Utilidad de Discos, diskutil o newfs_apfs .

  5. Restaurar desde la unidad de copia de seguridad.
respondido por el David Anderson 22.08.2018 - 11:10

Lea otras preguntas en las etiquetas