11 votos

No se puede redimensionar la partición APFS - "El nuevo tamaño debe ser diferente al existente"

Estoy tratando de usar todo el HD de 1TB como 1 unidad. Usando la utilidad de disco para redimensionar el disco a 1TB sigo obteniendo "El Nuevo tamaño debe ser diferente al tamaño existente". Intenté usar la utilidad de disco de apple pero me sale lo mismo.

Información adicional que olvidé mencionar... Cloné un disco de 256GB en este disco de 1TB... Luego ejecuté la utilidad de disco para repararlo.

screenshot

0 votos

Debería tener una partición EFI en disco0s1 . ¿Puedes editar los resultados de sudo gpt -r show disk0 en su pregunta.

0 votos

Obtengo gpt show: unable to open device 'disk0': Operación no permitida

0 votos

Lo siento, olvidé mencionar que necesitas desactivar el SIP para usar sudo gpt -r show disk0 para su disco de arranque. Vale la pena hacerlo ya que confirmará en qué parte del disco se encuentra su partición.

28voto

Tolsadus Puntos 153

Esto me ayudó:

  1. reparación (interna, disco0 - en su caso)

    diskutil repairdisk disk0

  2. redimensionar (sintetizado, disco1 - en su caso con HS)

    diskutil apfs resizeContainer disk1 0

Después de repairdisk resizeContainer funciona sin errores. Puedes ver un problema similar aquí para más contexto: No se puede redimensionar la partición APFS - "El nuevo tamaño debe ser diferente al existente"

2voto

David Anderson Puntos 2189

Este mensaje de error se produce cuando hay poco o ningún espacio libre justo debajo del contenedor APFS que está intentando ampliar. Por ejemplo, a continuación se muestra el diskutil list disk2 salida de una imagen de disco en la que se ha asignado prácticamente todo el espacio libre a las particiones.

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +1.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS tbd                     749.9 GB   disk2s2
   3:                 Apple_APFS Container disk3         249.8 GB   disk2s3

Se puede ver 209.7 MB + 749.9 GB + 249.8 GB = 1.000 TB . Si se introducen los siguientes comandos, entonces disk2s1 y disk2s2 se convertirá en espacio libre.

diskutil erasevolume free none disk2s1
diskutil erasevolume free none disk2s2

El resultado de diskutil list disk2 Después de introducir los comandos anteriores, se muestra a continuación.

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +1.0 TB     disk2
   1:                 Apple_APFS Container disk3         249.8 GB   disk2s3

El comando dado a continuación puede ser usado para devolver el espacio libre directamente debajo de una partición apfs al contenedor apfs adjunto.

diskutil apfs resizeContainer disk2s3 0 

Sin embargo, como todo el espacio libre significativo está por encima de la partición, se genera el siguiente mensaje de error.

Started APFS operation
Error: -69743: The new size must be different than the existing size

La posición exacta y el tamaño del disk2s3 La partición se puede determinar introduciendo el siguiente comando.

diskutil info disk2s3 | grep -e Offset -e Size

En este caso, el comando produce la siguiente salida.

   Partition Offset:         750209736704 Bytes (1465253392 512-Byte-Device-Blocks)
   Disk Size:                249.8 GB (249790263296 Bytes) (exactly 487871608 512-Byte-Units)
   Device Block Size:        512 Bytes

La siguiente suma da como resultado la posición final del disk2s3 partición.

750,209,736,704 bytes 249,790,263,296 bytes  = 1,000,000,000,000 bytes = 1.000 TB

Se puede ver que no hay espacio libre apreciable después de la disk2s3 partición, por lo que apareció el mensaje de error.

El tamaño exacto de la imagen de disco puede determinarse introduciendo el siguiente comando

diskutil info disk2 | grep Size

En este caso, la salida se muestra a continuación.

   Disk Size:                1.0 TB (1000000020480 Bytes) (exactly 1953125040 512-Byte-Units)
   Device Block Size:        512 Bytes

Esto muestra que existen 20480 bytes de espacio después del final del disk2s3 partición. Sin embargo, no todo es espacio libre. Parte de este espacio está ocupado por la copia de seguridad de la tabla de particiones GUID (GPT).

Como se trata de una imagen de disco, se puede introducir el siguiente comando sin tener que desactivar la protección de integridad del sistema (SIP).

gpt -r show /dev/disk2

En este caso, el comando produce la siguiente salida.

       start        size  index  contents
           0           1         PMBR
           1           1         Pri GPT header
           2          32         Pri GPT table
          34  1465253358         
  1465253392   487871608      1  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
  1953125000           7         
  1953125007          32         Sec GPT table
  1953125039           1         Sec GPT header

Esta salida muestra que en realidad hay 7 sectores de espacio libre después del disk2s3 partición. Como el tamaño del sector (tamaño del bloque del dispositivo) es de 512 bytes, el espacio libre se calcula en 3.584 bytes. Esto es menor que el tamaño de bloque de asignación de 4096 bytes requerido para el diskutil apfs resizeContainer disk2s3 0 para proceder.

Actualmente, el tamaño del bloque de asignación para APFS está fijado en 4096 bytes. En este caso, el tamaño del bloque de asignación se puede confirmar introduciendo el comando que se indica a continuación.

diskutil info disk3s1 | grep Allocation

La salida de este comando se muestra a continuación.

   Allocation Block Size:    4096 Bytes

0 votos

¿Estás sugiriendo que el OP tenía un Partición de 750 GB antes de disco0s2 y que después de borrarlo/cerrarlo encontrar el disco0s2 es la única partición que queda y está justo al final del disco? Yo sugeriría que esto es poco probable y es más probable que EFI fue la primera partición y hay espacio libre después de pero los resultados de gpt -r show o similares. Seguramente si eliminaron el EFI y otra partición anterior verías el disco0s3 como la partición restante (como en tu prueba) no el disco0s2.

0 votos

@lx07: Los identificadores de disco no están vinculados a los índices de las particiones. Se supone que disk0s3 en mi ejemplo es la tercera partición en la GPT. Aunque esto es cierto al principio de mi ejemplo, puede ver en la salida del gpt -r show /dev/disk2 comando que disk0s3 es la primera partición de la GPT al final del ejemplo. Tampoco puede asumir siempre que las particiones en la GPT están en orden ascendente. Aunque, si el diskutil cambia la GPT, el resultado serán particiones en orden ascendente.

0 votos

@lx07: Sinceramente, supongo que el OP reinició el Mac en algún momento. Esto reasignaría los identificadores de disco. Esta sería una forma de explicar que el identificador sea disk0s2 en lugar de disk0s3 . En otras palabras, el OP reinició el Mac antes de introducir el comando diskutil erasevolume free none disk0s1 y luego publicó la pregunta. BTW, usted no tiene que desactivar SIP y utilizar el gpt para obtener la tabla de particiones. Puede obtener la tabla utilizando el comando diskutil o descargar un script que lo hará.

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