18 votes

Créer une nouvelle partition dans un espace non alloué avec diskutil

J'ai supprimé la première partition de mon disque dur externe de sorte qu'il y a maintenant 100 Go d'espace libre au début de la partition. J'aimerais récupérer cet espace, mais l'Utilitaire de disque ne me permet pas de créer une nouvelle partition à cet endroit (il ne fait rien lorsque je clique sur "Appliquer"). Existe-t-il un moyen d'y parvenir avec diskutil ? Je n'ai trouvé que des moyens de modifier (ou d'effacer, ou de diviser etc.) existant en entrant par exemple disk2s2 comme ID de périphérique, mais l'espace libre n'a pas d'ID de périphérique.

Sorties :

$ 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'

24voto

pmdj Points 1805

(Avant de poursuivre, veuillez vous assurer que le disque en question est toujours disk2, que vous avez des sauvegardes de vos données, etc. - ceci dit, les changements ici ne sont pas particulièrement dangereux. Lisez l'ensemble des instructions avant de faire quoi que ce soit pour vous assurer que vous comprenez toutes les étapes).

OK, vos tables de partitions semblent correctes (un GPT valide et un MBR de protection correct), donc je ne sais pas pourquoi Disk Utility échoue dans ce cas, mais vous devriez pouvoir créer une partition dans l'espace vide en utilisant la commande gpt l'utilitaire de ligne de commande. Votre GPT ressemble à ceci :

       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

L'espace libre est indiqué par cette ligne (les chiffres correspondent à des secteurs de 512 octets, soit un peu moins de 100 Go d'espace libre) :

      409640   195575768         

Apple exige 128MiB (262144 secteurs) d'espace libre après une partition, donc la nouvelle partition peut être de 195575768-262144=195313624 secteurs. Démontez tous les volumes sur le disque en utilisant :

diskutil unmountDisk disk2

Ensuite, cette commande va créer une partition HFS+ dans l'espace libre :

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

Cela ne crée que la partition, pas le système de fichiers. Pour vérifier que tout s'est bien passé, vous devriez maintenant voir une icône disk2s8 si vous exécutez diskutil list disk2 . Si c'est effectivement le cas, vous pouvez formater la partition comme suit :

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

Si disk2s8 n'est pas apparu, vous devrez redémarrer avant de formater. Au lieu de lancer newfs_hfs vous devriez également être en mesure d'effacer la partition dans l'Utilitaire de disque.

L'utilitaire gpt ne réordonne pas les numéros de partition mais cela ne devrait pas être un problème en pratique. Si vous effectuez d'autres modifications avec l'utilitaire de disque, cela corrigera probablement l'ordre de toute façon.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X