Extender la partición APFS principal falla con "el disco de destino es demasiado pequeño para esta operación"

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         125.7 GB   disk0s2
   3:                  Apple_HFS Storage                 100.0 GB   disk0s3

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +125.7 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            122.9 GB   disk1s1
   2:                APFS Volume Preboot                 19.9 MB    disk1s2
   3:                APFS Volume Recovery                506.6 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4

Revisé las diferentes preguntas similares y probé las soluciones sugeridas, pero fue en vano. La utilidad de disco no ayuda en absoluto.

Intenté ejecutar este comando desde la terminal como se sugiere.

sudo diskutil apfs resizeContainer disk0s2 0

Error: -69771: el disco de destino es demasiado pequeño para esta operación

Tengo más de 25 G de espacio libre:

https://imgur.com/8o9RBvo

disk0s3 está bloqueando cualquier expansión de disk0s2 (que requeriría algo de espacio libre en disco directamente "después" de disk0s2). Verifique esto con sudo gpt -r show disk0.
@klanomath Recibo gpt show: no se puede abrir el dispositivo 'disk0': Operación no permitida. Estoy de acuerdo en que parece ser el problema, pero no tengo idea de cómo resolverlo.
@Ahmed: Tienes que iniciar MacOS Recovery antes de emitir el gpt -r show /dev/disk0comando.

Respuestas (1)

El espacio libre reside después de disk0s3. El comando que emitió no puede recuperar el espacio libre en disk0s2, porque hay poco o ningún espacio libre entre disk0s2y disk0s3. Para recuperar aproximadamente 25 GB de espacio libre en disk0s2, deberá ejecutar el siguiente procedimiento.

  1. Elimina los archivos de disk0s3.
  2. Eliminar disco disk0s3. Puede usar el comando dado a continuación.

    sudo diskutil  eraseVolume free none disk0s3
    
  3. Agregue aproximadamente 125 GB de espacio libre a disk0s2. Puede usar el comando dado a continuación.

     sudo diskutil apfs resizeContainer disk0s2 0
    

Básicamente, todo se reduce a esto. Si los archivos disk0s3son importantes, necesitará una unidad externa para almacenarlos temporalmente. Una vez que se ha devuelto todo el espacio a disk0s2, puede crear uno nuevo disk0s3o crear otro volumen APFS en disk0s2. Finalmente, restaure los archivos desde la unidad externa.

Sugerencia: para otros que deseen responder esta pregunta, publique cómo usar el ddcomando para moverse disk0s3al final de la unidad. Probablemente tendría que mover la partición en cuatro bloques de 25 GB.