40 votos

Redimensionar o ampliar un volumen CoreStorage

He comprado un nuevo SSD de 750 GB y he hecho dos particiones: 600 GB y 150 GB. La más pequeña estaba pensada para ser un día una partición de Bootcamp, pero hasta la fecha era sólo otra partición sin usar. Cuando necesité más espacio, decidí fusionar estas dos particiones. La partición se creó con Mavericks, la fusión se hizo con Yosemite.

Abrí la Utilidad de Discos y el botón "menos". La Utilidad de Discos me dijo que ambas particiones se fusionarían entonces. Sin embargo, falló estrepitosamente. Mi disco duro principal de repente tenía errores que no se podían reparar e incluso dos de mis otros discos duros externos ya no se podían montar.

Al final restauré el disco duro desde Time Machine, que funcionó bien.

Mi segunda partición aparece ahora como libre:

Disk Utility

Por desgracia, no puedo cambiar el tamaño de la partición de 600 GB ni puedo crear una nueva partición utilizando el espacio libre.

Diskutil revela lo siguiente:

~  diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *750.2 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         599.6 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *599.3 GB   disk1
                                 Logical Volume on disk0s2
                                 XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
                                 Unencrypted

También diskutil sacó esto:

~  diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group 9D2BA4BA-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    =========================================================
    Name:         Macintosh HD
    Status:       Online
    Size:         599640592384 B (599.6 GB)
    Free Space:   6111232 B (6.1 MB)
    |
    +-< Physical Volume 29A9A02B-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     599640592384 B (599.6 GB)
    |
    +-> Logical Volume Family 2FA7892F-xxxx-xxxx-xxxx-xxxxxxxxxxxx
        ----------------------------------------------------------
        Encryption Status:       Unlocked
        Encryption Type:         None
        Conversion Status:       NoConversion
        Conversion Direction:    -none-
        Has Encrypted Extents:   No
        Fully Secure:            No
        Passphrase Required:     No
        |
        +-> Logical Volume 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx
            ---------------------------------------------------
            Disk:                  disk1
            Status:                Online
            Size (Total):          599282155520 B (599.3 GB)
            Conversion Progress:   -none-
            Revertible:            No
            LV Name:               Macintosh HD
            Volume Name:           Macintosh HD
            Content Hint:          Apple_HFS

He probado esto:

pero no serviría de nada. Decía que no podía recuperarse porque no se había creado de una forma que soportara (perdón por perder el mensaje exacto).

Luego me he enterado de que Apple_CoreStorage podría indicar que mi disco está encriptado, lo que podría explicar por qué no puedo cambiar su tamaño. No me explica por qué no puedo crear una nueva partición.

¿Qué opciones tengo para que mi disco duro esté disponible en una sola partición con un tamaño de 750 GB?

1 votos

Yosemite parece hacer esto a las unidades. Core Storage es un mundo de dolor. La manera fácil apple.stackexchange.com/questions/148645/ Por las malas - apple.stackexchange.com/preguntas/153523/

0 votos

Añadir diskutil cs list salida a su respuesta. Puede codificar todos los UUID pero elegir letras diferentes para cada UUID encontrado para distinguirlos mejor si alguien responde por casualidad

0 votos

El TL:DR es que Utilidad de Discos no puede hacerlo, tiene que ser la línea de comandos. Espero que @klanomath te pueda ayudar - él es bueno en estas cosas. Personalmente, no voy a ninguna parte cerca de Yosemite hasta que Apple obtener sus herramientas GUI en línea con Core Storage.

48voto

klanomath Puntos 19587

Después de ganar algo de experiencia con los volúmenes de CoreStorage, reelaboré mi primera respuesta para generalizarla y facilitarla añadiendo algunos escenarios y eliminando algunos pasos prescindibles.

Básicamente hay un comando no documentado para redimensionar o expandir un grupo de volúmenes CoreStorage y un volumen lógico inherente:

diskutil cs resizeStack LVUUID size  

El comando expande o encoge todo el CoreStorage Volume Group, incluyendo el/los volumen(s) físico(s), la familia de volúmenes lógicos y el volumen lógico en un solo paso hasta el tamaño deseado.

Mientras que reducirlo al tamaño del espacio ocupado en el volumen lógico no debería ser un problema en absoluto (pero no se recomienda porque debería quedar al menos un 10% de espacio libre), cualquier partición de bloqueo excepto la de recuperación tiene que ser eliminada o disminuida antes de expandir la pila de CoreStorage.

Este comando es útil en varios casos:

  • ampliar un volumen CoreStorage después de eliminar un segundo volumen JHFS+ de estilo antiguo en el mismo dispositivo (esto puede ocurrir después de dividir su disco en dos particiones en Mavericks y luego actualizar a Yosemite. La primera partición - su volumen de sistema - podría convertirse en un volumen CoreStorage, mientras que el 2º volumen se deja solo).

enter image description here

  • expandir un volumen de CoreStorage después de eliminar manualmente un volumen NTFS de Boot Camp

enter image description here

  • redimensionar un volumen CoreStorage para crear un segundo volumen JHFS+ de estilo antiguo en el mismo dispositivo

enter image description here

Cuidado: El comando está muy poco documentado y como tal es potencialmente destructivo.

Preparación:

  • Haz una copia de seguridad de tus datos.
  • Desconecte cualquier unidad externa (especialmente su unidad externa de copia de seguridad de Time Machine).
  • Reinicie el modo de recuperación de Internet pulsando alt cmd R en el arranque.
    Los requisitos previos son la última actualización del firmware instalada, una red ethernet o WLAN (WPA/WPA2) y un router con DHCP activado.
    En una línea de 50 Mbps tarda unos 4 minutos (presentando un pequeño globo animado) en arrancar con una imagen de netboot de recuperación que normalmente se carga desde un servidor apple/akamai.

    Yo recomiendo ethernet porque es más fiable. Si estás restringido a WIFI y el proceso de arranque falla, simplemente reinicia tu Mac hasta que consigas arrancar.

    También puedes empezar desde una unidad de disco duro de arranque (Mavericks o Yosemite) o una unidad de disco duro que contenga un sistema completo (Mavericks o Yosemite).

Modificar la pila de CoreStorage:

  • Abrir en el menú Utilidades/Terminal

En primer lugar, debes obtener una visión general de tus discos y de la distribución de las particiones:

  • Entre en diskutil list
    Ejemplo de listado:

    /dev/disk0
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *68.7 GB    disk0
       1:                        EFI EFI                    209.7 MB    disk0s1
       2:          Apple_CoreStorage                         53.7 GB    disk0s2
       3:                 Apple_Boot Recovery HD            650.0 MB    disk0s3
       4:                        EFI No Name EFI            100.0 MB    disk0s4
    /dev/disk1
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:     Apple_partition_scheme                         *1.3 GB    disk1
       1:        Apple_partition_map                         30.7 KB    disk1s1
       2:                  Apple_HFS OS X Base System        *1.3 GB    disk1s2
    /dev/disk2
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:                  Apple_HFS System                 *53.5 GB    disk2
    /dev/disk3-disk12 ...belong to the OS X Base System (your recovery system you booted to previously)

    El disco0 es su dispositivo de disco interno principal que contiene la partición EFI (dis0s1), la partición CoreStorage (disk0s2) y el Recovery HD (disk0s3). La EFI sin nombre (disk0s4) sólo existe si usted tenía una partición Boot Camp previamente y la eliminó manualmente.

    Disk1 es un disco lógico creado al arrancar con la imagen de netboot que contiene un sistema de recuperación (OS X Base System = disk1s2) similar al Recovery HD.

    Disk2 es también un disco lógico que reside en disk0s2 y contiene la pila CoreStorage.

  • Entre en gpt -r -vv show /dev/disk0
    Ejemplo de listado:

    gpt show: /dev/disk0: mediasize=68719476736; sectorsize=512; blocks=134217728
    gpt show: /dev/disk0: PMBR at sector 0
    gpt show: /dev/disk0: Pri GPT at sector 1
    gpt show: /dev/disk0: Sec GPT at sector 134217727
          start       size  index  contents
              0          1         PMBR
              1          1         Pri GPT header
              2         32         Pri GPT table
             34          6         
             40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
         409640  104974016      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
      105383656    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
      106653192     204800      4  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
      106857992   27359703         
      134217695         32         Sec GPT table
      134217727          1         Sec GPT header

    La partición con el número de índice 1 es la partición EFI normal, la partición con el número de índice 2 es su partición CoreStorage y la partición con el número de índice 3 es su Recovery HD.
    La partición con número de índice 4 (=Sin Nombre EFI) sólo existe si usted tenía una partición Boot Camp previamente y la borró manualmente. Todo el resto es espacio libre no asignado (en el ejemplo 27359703 bloques à 512 B).

  • Entre en diskutil cs list
    Ejemplo de listado:

      CoreStorage logical volume groups (1 found)
    |
    +-- Logical Volume Group A629E051-D7B0-4B8C-A803-074F62704636
        =========================================================
        Name:         System
        Status:       Online
        Size:         53946696192 B (53.9 GB)
        Free Space:   16777216 B (16.8 MB)
        |
        +-< Physical Volume 90C09FC0-4215-4871-901B-70E2C9C7D464
        |   ----------------------------------------------------
        |   Index:    0
        |   Disk:     disk0s2
        |   Status:   Online
        |   Size:     53946696192 B (53.9 GB)
        |
        +-> Logical Volume Family F6962E38-50E4-4458-BFE6-CF2E179352F5
            ----------------------------------------------------------
            Encryption Status:       Unlocked
            Encryption Type:         None
            Conversion Status:       NoConversion
            Conversion Direction:    -none-
            Has Encrypted Extents:   No
            Fully Secure:            No
            Passphrase Required:     No
            |
            +-> Logical Volume BD36C73D-860D-4DC6-B125-AD624F448B88
                ---------------------------------------------------
                Disk:                  disk2
                Status:                Online
                Size (Total):          53496696192 B (53.5 GB)
                Conversion Progress:   -none-
                Revertible:            Yes (no decryption required)
                LV Name:               System
                Volume Name:           System
                Content Hint:          Apple_HFS
  • para redimensionar el volumen de CoreStorage hay que borrar primero cualquier partición que esté bloqueada (el Recovery HD no cuenta porque normalmente se moverá con el comando resizeStack).
    Primero hay que desmontar todos los volúmenes montados en el disco0 (primero el volumen CoreStorage, que tiene su propio identificador de disco disk2 pero reside en el disco0, luego todos los demás volúmenes montados en el disco0 - compruébalo con df ):

    diskutil unmountDisk /dev/disk2

    y luego los volúmenes adicionales (si tiene alguno). Ejemplo:

    diskutil unmount /dev/disk0s5 

    Si tienes una partición EFI NoName elimínala introduciendo:

    gpt remove -i 4 disk0
  • Volver a montar cualquier volumen previamente desmontado en el orden inverso con

    diskutil mount /dev/disk0s5
    diskutil mount /dev/disk2 
  • Dado que cualquier partición de bloqueo se elimina, ahora puede redimensionar el volumen CoreStorage con

    diskutil cs resizeStack LVUUID size 

    con LVUUID: UUID del volumen lógico y size: el tamaño final de su volumen CoreStorage.
    Ejemplos:

    diskutil cs resizeStack BD36C73D-860D-4DC6-B125-AD624F448B88 60g  

    para ampliarlo a 60 GB

    diskutil cs resizeStack BD36C73D-860D-4DC6-B125-AD624F448B88 40g  

    para reducirlo a 40 GB

    diskutil cs resizeStack BD36C73D-860D-4DC6-B125-AD624F448B88 0g 

    para ampliarlo al tamaño completo disponible (0g es un número mágico aquí).

    Su disco duro de recuperación debería moverse automáticamente -independientemente de si se reduce o amplía el volumen del CS- hasta el final del mismo.

  • En caso de reducir el volumen de CoreStorage, ahora puede crear una segunda partición con gpt.

  • Introduzca lo siguiente para obtener el nuevo esquema de particiones:

    gpt -r -vv show /dev/disk0

    y

    gpt add -b StartBlock -s NumberOfBlocks disk0

    para crear una nueva partición. StartBlock es el número del primer bloque en el espacio no asignado y NumberOfBlocks es el número de bloques libres o menores. ¡NumberOfBlocks tiene que ser divisible entre 8!

  • Entre en exit y salir de la Terminal.

  • Abra la Utilidad de Discos (y formatee la partición recién creada si ha creado una nueva partición en el penúltimo paso).

  • A continuación, compruebe si su volumen CoreStorage expandido presenta errores.

  • Salga de la Utilidad de Discos.

  • Reinicie su volumen principal.

0 votos

Esta respuesta podría ser uno de los recursos comprensibles más raros en la web sobre el redimensionamiento de CoreStorage. Durante los últimos meses, no he dejado de consultar esta respuesta cuando se me olvidaba cómo hacerlo. Desafortunadamente en el diskutil man sólo hay una línea de ejemplo diskutil coreStorage resizeStack LVUUID PVUUID 150g ms-dos BOOTCAMP 0 sin más explicaciones, lo cual es extraño ya que se trata de tecnología propia de Apple, a diferencia de otros sistemas de archivos.

0 votos

También tenga en cuenta que debe existir una partición Booter/Recovery directamente después de la de CoreStorage, y que la GPT de copia de seguridad debe estar situada al final del disco.

13voto

klanomath Puntos 19587

Lo siguiente diskutil cs resizeStack está muy poco documentado y, como tal, es potencialmente destructivo. Puede que haya una forma fácil, primero, y una forma difícil, larga y sinuosa.

Por favor, haga una copia de seguridad de su Mac OS X antes de proceder.

La manera no tan larga como se esperaba:

Un segundo ordenador o un iPhone con las credenciales de stackexchange para entrar en el sitio o en el chat es útil.

La partición de Mac OS X (Macintosh HD) visible en el escritorio equivale a la Logical Volume 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx .

  1. Primero tienes que hacer una copia de seguridad de tu Recovery HD: Inicia Terminal.app e introduce
    defaults write com.apple.DiskUtility DUDebugMenuEnabled 1 pulsar enter y salir Terminal.app

  2. Inicie la Utilidad de Discos y active la opción "Mostrar todas las particiones" en el menú de depuración Después de unos segundos todas las particiones deberían ser visibles

  3. Elija 'Recovery HD' en el lado izquierdo y monte la partición 'Recovery HD'

    screen1

  4. Verificar el disco

    screen2

  5. Cree una imagen de disco del 'Recovery HD' y guárdela externamente de sólo lectura

    screen3

  6. Comprobar la imagen de disco para la restauración

    screen4

  7. Desconecte todas las unidades externas

  8. Reiniciar en Internet Recovery Mode pulsando altcmdR
    o un Thumb Drive de arranque de Mavericks o Yosemite (sistema completo o instalación).

  9. iniciar Terminal desde la barra de menús/utilidades

  10. introduzca el siguiente comando en el prompt del Terminal:

    diskutil cs list
  11. Copie el UUID alfanumérico del Volumen Lógico (LV) de su volumen CoreStorage. El LVUUID debería ser el cuarto de la lista. En el ejemplo anterior el alfanumérico es:
    7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxx.

  12. Ejecute el siguiente comando:

    diskutil cs resizeStack LVUUID partsize  

    Según el número encontrado arriba sería:

    diskutil cs resizeStack 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx 0g  

    Esto ampliará su volumen de CoreStorage hasta los 750 GB. Dependiendo de su disco esto tomará varios segundos (SSD) o minutos (HDD). Después de una comprobación de redimensionamiento exitosa con diskutil list si el 'Recovery HD' todavía existe.
    (Anteriormente el comando anterior era diskutil cs resizeStack 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx 748g . Después de algunas pruebas, descubrimos que diskutil cs resizeStack 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx 0g es el comando más inteligente. Debería expandir el LVG al tamaño máximo mientras que normalmente mueve el 'Recovery HD' al final del disco físico. 0g parece un número mágico en este caso).

  13. Salga de 'Terminal.app' e inicie 'Utilidad de Discos' y verifique el volumen expandido.

  14. Reinicie el Recovery HD y su unidad principal. Elimine la imagen de disco creada en el paso 5 si todo funciona como se espera

Si eso no funcionó, entonces el camino más largo y difícil:

  1. entrar en diskutil list

  2. Borrar el Recovery HD con diskutil eraseVolume Free\ Space %noformat% IDENTIFIER_Recovery_HD .
    En su ejemplo: diskutil eraseVolume Free\ Space %noformat% disk0s3

  3. introduzca el siguiente comando en el prompt de la Terminal: diskutil cs list

  4. Copie el UUID alfanumérico del Volumen Lógico (LV) de su volumen CoreStorage. El LVUUID debería ser el cuarto de la lista. En el ejemplo anterior el alfanumérico es:
    7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxx.

  5. Ejecute el siguiente comando:
    diskutil cs resizeStack LVUUID partsize

    Según el número encontrado arriba sería:

    diskutil cs resizeStack 7BF42B7B-xxxx-xxxx-xxxx-xxxxxxxxxxxx 748g  

    Esto ampliará el volumen de CoreStorage a casi todos los 748 GB (he dejado algo de espacio para un futuro Recovery HD .

  6. Construir una partición para Recovery HD si es necesario

  7. Reconstruir Recovery HD si es necesario
    (trabajo en curso: probado en Parallels pero no puedo reiniciar en modo de recuperación debido a las limitaciones de Parallels probablemente y la partición es siempre visible. Parece que el Apple script en musings.silvertooth.us no funciona con Yosemite/CoreStorage. Estoy investigando eso)

Por favor, compruebe en los comentarios (o quizás en el chat) si tiene problemas

0 votos

Parece una respuesta impresionante. Voy a realizar estos comandos hoy después del trabajo y volveré aquí para informar de los resultados. ¡Gracias de antemano por tomarse el tiempo para esta respuesta!

0 votos

Podríamos abrir una sala de chat y yo podría acompañarte. Estoy disponible todo el día hasta la 1.00 am UTC (o 24.00 Uhr su tiempo ;-))

0 votos

Eso es super impresionante y muy amable de tu parte :) Espero no necesitar más ayuda, pero es bueno saber que existe un lugar al que acudir.

12voto

klm123 Puntos 253

Estoy asombrado por la complejidad de este problema (ver la respuesta de @klanomath) y la facilidad para crearlo.

Por eso he intentado jugar con él y he encontrado una solución.

  1. Mi problema era el siguiente: Tenía un disco de 500GB. Creé una partición de 150GB-Macintosh-HD en este disco usando la Utilidad de Discos, dejando 350GB como "espacio libre". Cuando intenté formatear el espacio libre en una segunda partición no lo conseguí: cuando pulsé Aplicar ignoró mi comando y se comportó como si nunca hubiera pulsado "Aplicar" (cuando quise cerrar la ventana de la Utilidad de Discos me avisó de que había cambios sin aplicar).

  2. Tomé el primer volumen (que es un volumen formateado llamado Macintosh HD, tenía 150GB de tamaño) y le pedí a la Utilidad de Discos que dividirlo en dos particiones: 100GB + 50GB. Pulsé "Aplicar" y mágicamente la Utilidad de Discos me creó dos particiones: 100GB + 400GB . En este punto todo el espacio en el disco se convierte en útil y yo estaba bastante contento con él.

  3. Entonces simplemente eliminé la segunda partición, pulsando "-" y "Aplicar". Como resultado se fusionó con el Macintosh HD y volví a estar como antes del paso 1.

  4. Finalmente, lo dividí en dos particiones con los tamaños 150GB y 350GB como quería al principio. Ahora el problema parece estar resuelto.

0 votos

Esto parecía funcionar para mí, pero al salir y volver a abrir la Utilidad de Discos, parecía haber fallado.

0 votos

@ELLIOTTCABLE, a mí también me funciona después de relanzar la Utilidad de Discos.

0 votos

A mí también me ha funcionado. Gracias por la información detallada

0voto

Probé todo desde apple.stackexchange y otros blogs pero ninguno funcionó. Pero este método funcionó como un encanto:

  1. Hacer un USB de arranque de Windows usando bootcamp.
  2. No realice particiones ni descargue archivos de soporte.
  3. Reinicie su ordenador manteniendo la tecla "opción".
  4. Abra la partición de Windows y siga haciendo clic en siguiente hasta que tenga que elegir formatear un disco.
  5. Elija el bloque con la memoria "freespace", es decir, el espacio no asignado.
  6. Haga clic en "nuevo" en la ventana de instalación y luego haga clic en "formato".
  7. Obtendrá un error que está completamente bien.
  8. Salga de la instalación y reinicie el Mac.
  9. Ahora ese "espacio libre" es el formato "Windows NTFS".
  10. Haga clic en el símbolo "-" y voila. Se restaura de nuevo a su HDD completo.

0 votos

Hey También trate de apagar FireVault antes de intentar el método anterior.

0voto

mark Puntos 376

¡Gran artículo! Muchas gracias por el esfuerzo que has puesto en esto - ¡me ha ayudado mucho!

Estaba siguiendo el caso de uso de expandir mi Core Storage quitando un volumen de bootcamp y fusionándolo.

Me encontré con que tenía que desbloquear mi almacenamiento central antes de poder proceder con el comando

diskutil cs resizeStack 

Bastante simple

diskutil cs unlockVolume <volume ID>

donde es el mismo ID para su almacenamiento central en el formato de 11111111-2222-3333-4444-555555555555

También en OS X 10.11.1 encontré que 0g no era un parámetro válido para el valor de redimensionamiento. Se me pedía que proporcionara un tamaño específico.

Y, por último, le sugiero encarecidamente que también verifique y repare cualquier error en su volumen de almacenamiento principal antes de intentar un cambio de tamaño. Es más fácil solucionarlos fuera del proceso de redimensionamiento.

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