Cree una nueva partición en espacio no asignado con diskutil

14

He eliminado la primera partición en mi HD externo de modo que ahora tiene 100 GB de espacio libre al comienzo de la partición. Me gustaría reclamar ese espacio, pero Disk Utility no me permite crear una nueva partición allí (simplemente no hace nada cuando hago clic en 'Aplicar'). ¿Hay alguna manera de lograr esto diskutil? Solo he encontrado formas de cambiar (o borrar, dividir, etc.) particiones existentes, por ejemplo, ingresando disk2s2 como ID de dispositivo, pero el espacio libre no tiene dicha ID de dispositivo.

Salidas:

$ diskutil list disk2
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.5 TB     disk2
   1:                        EFI                         209.7 MB   disk2s1
   2:                  Apple_HFS Shared                  199.3 GB   disk2s2
   3:                 Apple_Boot Recovery HD             784.2 MB   disk2s3
   4:          Apple_CoreStorage                         500.0 GB   disk2s4
   5:                 Apple_Boot Boot OS X               134.2 MB   disk2s5
   6:          Apple_CoreStorage                         699.6 GB   disk2s6
   7:                 Apple_Boot Boot OS X               134.2 MB   disk2s7
$ sudo gpt -r show disk2
Password:
       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   195575768         
   195985408   389353696      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
   585339104     1531680      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
   586870784   976562504      4  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  1563433288      262144      5  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  1563695432  1366319552      6  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  2930014984      262144      7  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  2930277128           7         
  2930277135          32         Sec GPT table
  2930277167           1         Sec GPT header
$ sudo fdisk /dev/disk2
Disk: /dev/disk2    geometry: -5415437/4/63 [-1364690128 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE 1023 254  63 - 1023 254  63 [         1 - -1364690129] <Unknown ID>
 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
$ sudo pdisk --list /dev/disk2
pdisk: No valid block 1 on '/dev/disk2'
MrMage
fuente
1
En el terminal, puede usted por favor ejecutar estos comandos y añadir la salida a su pregunta: diskutil list disk2, sudo gpt -r show disk2, sudo fdisk /dev/disk2y sudo pdisk --list /dev/disk2? No está claro por qué Disk Utility no funciona, tal vez haya un problema con (una) de las tablas de particiones. Además, ¿ha intentado ejecutar una "reparación" tanto en todo el disco duro como en la partición?
pmdj
Este Gist muestra todos los datos que solicitó: gist.github.com/211c2bd5bc00a2f87b4c
MrMage
¿Puedes arrancar desde un HD externo? Si es así, tengo una respuesta.
duci9y
No lo intenté, pero creo que sí (al menos funcionó en el pasado).
MrMage

Respuestas:

18

(Antes de continuar, asegúrese de que el disco en cuestión siga siendo el disco 2, que tenga copias de seguridad de sus datos, etc., dicho esto, los cambios aquí no son particularmente peligrosos. Lea todas las instrucciones antes de hacer cualquier cosa para asegurarse de comprender todo los pasos.)

OK, sus tablas de particiones se ven bien (un GPT válido y un MBR protector correcto), por lo que no sé por qué Disk Utility le está fallando en este caso, pero debería poder crear una partición en el espacio vacío usando el gptcomando -Línea utilidad. Su GPT se ve así:

       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   195575768         
   195985408   389353696      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
   585339104     1531680      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
   586870784   976562504      4  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  1563433288      262144      5  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  1563695432  1366319552      6  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  2930014984      262144      7  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  2930277128           7         
  2930277135          32         Sec GPT table
  2930277167           1         Sec GPT header

El espacio libre se indica mediante esta línea (los números son sectores de 512 bytes, por lo tanto, menos de 100 GB de espacio libre:

      409640   195575768         

Apple requiere 128MiB (262144 sectores) de espacio libre después de una partición, por lo que la nueva partición puede ser 195575768-262144 = 195313624 sectores. Desmonte todos los volúmenes del disco con:

diskutil unmountDisk disk2

Luego, este comando creará una partición HFS + en el espacio libre:

sudo gpt add -b 409640 -s 195313624 -t hfs disk2

Eso solo crea la partición, no el sistema de archivos. Para comprobar que salió bien, ahora debería ver un disk2s8si corre diskutil list disk2. Si este es el caso, puede formatear la partición de esta manera:

sudo newfs_hfs -v "Volume Name" -J /dev/rdisk2s8

Si disk2s8 no ha aparecido, deberá reiniciar antes de formatear. En lugar de ejecutarse newfs_hfs, también debería poder borrar la partición en la Utilidad de Discos.

La utilidad gpt no reordena los números de partición, pero esto no debería ser un problema en la práctica. Si realiza más cambios con la utilidad de disco, eso probablemente solucionará el pedido de todos modos.

pmdj
fuente
Bueno, esto parece haber funcionado. Pero Disk Utility ahora muestra un diseño de partición desordenado: i50.tinypic.com/2qxc3r6.jpg (el espacio libre en la parte superior se expande un poco más: la vista de partición ahora tiene barras de desplazamiento).
MrMage
Hmm, eso podría ser causado por la numeración y posiblemente lo que sea que esté causando el otro error de la Utilidad de Discos en primer lugar. Siendo realistas, si todo lo demás funciona, podrías continuar en este estado. De lo contrario, podría intentar renumerar las particiones. Usar el estándar gptes tedioso y algo propenso a los errores / riesgoso, ya que la única forma integrada es eliminar y recrear cada partición. De hecho, tengo algunos parches para gptagregar comandos de cambio de numeración y cambio de tipo: podría ordenarlos y publicarlos si está de acuerdo con la reconstrucción gptdesde la fuente en XCode ...
pmdj
No tengo problemas para construir gtpdesde la fuente, pero ¿está bien probado el código? No quiero arruinar mi mesa de partición. Además, ¿hay alguna manera de hacer una copia de seguridad?
MrMage
Para agregar la partición, es gpt add.
pduey
1
@AeroCross Su política se publica aquí, developer.apple.com/library/mac/technotes/tn2166/_index.html #//... en la práctica se usa como una partición de arranque si usa RAID de software o Core Storage (Fusion Drive y / o File Vault) o software similar.
pmdj