10.14 Mojave Redimensionnement d'une partition via le Terminal

mariol66

Membre actif
15 Août 2015
926
171
44
Gironde
Bonjour à tous, je me retrouve devant un petit soucis.

J'ai 5 disques durs dans le Mac:

- 1 Mac OS (avec mon système principal)
- 1 Volume partitionné en deux (High Sierra + Stockage)
- 1 Volume Stockage 2
- 1 Volume Bootcamp
- 1 Volume qui était partitionné en trois ("Clône Mac OS" 400 go + "Clône High Sierra" 150 go+ "Clône Stockage" 450 go)

Hier j'ai voulu faire du ménage sur le dernier disque en supprimant la partition Clône High Sierra de 150 go dans l'idée de réatribué l'espace libre sur Clône Stockage.
Je suis passé par le l'utilitaire de disque et comme souvent, ça a foiré au moment de réatribué l'espace que j'avais libéré (une erreur qui s'est affiché).
Du coup je me suis retrouvé avec bien deux partitions mais une de 400 go et l'autre de 450 go inchangée.
Avec l'option SOS sur la partition Clône Mac OS, j'ai pu récupéré mes 150 go mais sur cette dernière.

J'ai lu plusieurs posts similaires et d'après ce que j'ai compris (dites le moi si je me trompe) on ne peu pas réaloué un espace vide dans la partition du dessous (ici Clône Stockage), mais l'espace libéré va se retrouvé dans la partition au dessus de lui (Clône Mac OS dans ce cas).

De plus ce matin en regardant l'état des disques avec diskutil list, je me rend compte que j'ai encore deux Recovery sur ce volume (certainement une pour Clône Mac OS et l'autre pour Clône High Sierra qui a été supprimé).

Mon côté bourrin, me dirait, ne te prend pas la tête formate le disque et refais deux partitions :p vu que ce ne sont que des sauvegardes...

Mais mon côté curieux me dit que c'est le genre de chose qui se fait en deux deux via le terminal et que je suis persuadé que quelqu'un va m'expliquer la démarche (pour @macomaniac c'est certainement une formalité :p).

Bloc de code:
Last login: Fri Dec  6 08:52:12 on console
pro-de-olivier-1:~ maolea$ diskutil list
/dev/disk0 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         255.7 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +255.7 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Mac OS                  139.9 GB   disk1s1
   2:                APFS Volume Preboot                 23.6 MB    disk1s2
   3:                APFS Volume Recovery                507.4 MB   disk1s3
   4:                APFS Volume VM                      20.5 KB    disk1s4

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *525.1 GB   disk2
   1:                        EFI                         209.7 MB   disk2s1
   2:                  Apple_HFS High Sierra             150.0 GB   disk2s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk2s3
   4:                  Apple_HFS Stockage                374.1 GB   disk2s4

/dev/disk3 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *525.1 GB   disk3
   1:                        EFI EFI                     209.7 MB   disk3s1
   2:                  Apple_HFS Stockage 2              524.8 GB   disk3s2

/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *240.1 GB   disk4
   1:               Windows_NTFS BOOTCAMP                239.2 GB   disk4s1
   2:                       0x27                         883.9 MB   disk4s2

/dev/disk5 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk5
   1:                        EFI EFI                     209.7 MB   disk5s1
   2:                  Apple_HFS Clône Mac OS            550.0 GB   disk5s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk5s3
   4:                 Apple_Boot Recovery HD             650.0 MB   disk5s4
   5:                  Apple_HFS Clône Stockage          448.6 GB   disk5s5
 
Bonjour mariol

Tu parles donc de ce disque -->
Bloc de code:
/dev/disk5 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk5
   1:                        EFI EFI                     209.7 MB   disk5s1
   2:                  Apple_HFS Clône Mac OS            550.0 GB   disk5s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk5s3
   4:                 Apple_Boot Recovery HD             650.0 MB   disk5s4
   5:                  Apple_HFS Clône Stockage          448.6 GB   disk5s5

  • qui montre "apparemment" 2 partitions de secours de 650 Mo chacune (disk5s3 & disk5s4)

Peux-tu redémarrer une fois > puis repasser la commande :
Bloc de code:
diskutil list

  • et reposter le tableau des disques ? => c'est afin de vérifier si la redondance de partitions de secours a résisté à un redémarrage. En effet : il arrive suite à des mouvements sur les partitions (impliquant des déplacements sur les blocs de partitions de secours) => que le kernel (le noyau de l'OS démarré) conserve en mémoire l'image d'une partition de secours qui n'a plus d'actualité. Ce type de résilience dans le kernel ne résiste pas à un redémarrage.

En résumé : on va bien voir ce qu'il en est après redémarrage.
 
Bonjour @macomaniac :coucou:

Elles sont toujours là, d'ailleurs c'est peu-être pour cela que j'ai eu une erreur lorsque j'ai voulu fusionner "Sans Titre" (ex Clône High Sierra") avec "Clône MacOS" le seul avec qui je pouvait fusionner.

Bloc de code:
Last login: Fri Dec  6 10:27:50 on console
pro-de-olivier-1:~ maolea$ diskutil list
/dev/disk0 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         255.7 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +255.7 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Mac OS                  140.0 GB   disk1s1
   2:                APFS Volume Preboot                 23.6 MB    disk1s2
   3:                APFS Volume Recovery                507.4 MB   disk1s3
   4:                APFS Volume VM                      20.5 KB    disk1s4

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *525.1 GB   disk2
   1:                        EFI                         209.7 MB   disk2s1
   2:                  Apple_HFS High Sierra             150.0 GB   disk2s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk2s3
   4:                  Apple_HFS Stockage                374.1 GB   disk2s4

/dev/disk3 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *525.1 GB   disk3
   1:                        EFI EFI                     209.7 MB   disk3s1
   2:                  Apple_HFS Stockage 2              524.8 GB   disk3s2

/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk4
   1:                        EFI EFI                     209.7 MB   disk4s1
   2:                  Apple_HFS Clône Mac OS            550.0 GB   disk4s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk4s3
   4:                 Apple_Boot Recovery HD             650.0 MB   disk4s4
   5:                  Apple_HFS Clône Stockage          448.6 GB   disk4s5

/dev/disk5 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *240.1 GB   disk5
   1:               Windows_NTFS BOOTCAMP                239.2 GB   disk5s1
   2:                       0x27                         883.9 MB   disk5s2
 
Alors passe la commande (copier-coller) :
Bloc de code:
diskutil eraseVolume free null disk4s4 ; diskutil resizeVolume disk4s2 0b ; diskutil list disk4

  • cette commande concaténée : supprime la partition de secours du bas > récupère son espace à la partition Clône Mac OS > réaffiche la configuration du disque4 seul

Poste le retour intégral.
 
Et voici :)

C'est normale qu'il indique Apple_Boot et non plus Apple_Boot Recovery HD ?

Bloc de code:
pro-de-olivier-1:~ maolea$ diskutil eraseVolume free null disk4s4 ; diskutil resizeVolume disk4s2 0b ; diskutil list disk4
Started erase on disk4s4 Recovery HD
Unmounting disk
Finished erase on disk4
Resizing to full size (fit to fill)
Started partitioning on disk4s2 Clône Mac OS
Verifying the disk
Verifying file system
Volume was successfully unmounted
Performing fsck_hfs -fn -x /dev/rdisk4s2
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking volume bitmap
Checking volume information
The volume Clône Mac OS appears to be OK
File system check exit code is 0
Restoring the original state found as mounted
Resizing
Modifying partition map
Copying booter
Growing file system
Finished partitioning on disk4s2 Clône Mac OS
/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk4
   1:                        EFI EFI                     209.7 MB   disk4s1
   2:                  Apple_HFS Clône Mac OS            550.7 GB   disk4s2
   3:                 Apple_Boot                         650.0 MB   disk4s6
   4:                  Apple_HFS Clône Stockage          448.6 GB   disk4s5
/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk4
   1:                        EFI EFI                     209.7 MB   disk4s1
   2:                  Apple_HFS Clône Mac OS            550.7 GB   disk4s2
   3:                 Apple_Boot                         650.0 MB   disk4s6
   4:                  Apple_HFS Clône Stockage          448.6 GB   disk4s5
pro-de-olivier-1:~ maolea$
 
Tu n'as plus qu'une partition de secours. Qui n'affiche pas son volume.

- passe la commande :​
Bloc de code:
diskutil mount disk4s6 ; diskutil list disk4

  • qui monte le volume Recovery HD > puis réaffiche la configuration du disk4

Poste le retour.
 
Ca va mieux :)

Bloc de code:
pro-de-olivier-1:~ maolea$ diskutil mount disk4s6 ; diskutil list disk4
Volume Recovery HD on disk4s6 mounted
/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk4
   1:                        EFI EFI                     209.7 MB   disk4s1
   2:                  Apple_HFS Clône Mac OS            550.7 GB   disk4s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk4s6
   4:                  Apple_HFS Clône Stockage          448.6 GB   disk4s5
pro-de-olivier-1:~ maolea$
 
Volume remonté.

- comme il t'encombre d'être affiché sur le Bureau (alors qu'il n'a pas à être monté pour la session d'utilisateur) => passe la commande :​
Bloc de code:
diskutil umount force disk4s6

  • qui le démonte

Poste le retour.

----------

Et petite question pour se poiler : pourquoi la partition de secours attenante à la partition de Clône Mac OS > dont l'index d'appareil était disk4s3 au départ => a-t-elle actuellement un index d'appareil disk4s6 ?
 
On vois que c'est bientôt le week-end, j'avais même pas vu qu'il était sur le bureau :p

Bloc de code:
pro-de-olivier-1:~ maolea$ diskutil umount force disk4s6
Volume Recovery HD on disk4s6 force-unmounted
pro-de-olivier-1:~ maolea$
 
Volume démonté (comme il se doit - le type de partition : "Apple_Boot" ayant pour effet son non montage automatique dans le temps de la session d'utilisateur).

- donc : pourquoi disk4s6 au lieu de disk4s3 ? - question corollaire : pourquoi la disparition d'affichage du volume Recovery HD (lequel > quoique non monté au départ => était quand même affiché sur la partition par la commande diskutil) ?​
 
Essaie d'imaginer ce qui peut (et doit se passer) pour que -->

- une fois supprimés les 650 Mo de blocs de la partition de secours du bas (disk4s5)​

- l'espace libéré de ces blocs puisse se trouver accollé à la partition bénéficiaire du volume Clône Mac OS (disk4s2) pour l'agrandir par étirement de son système de fichiers​

- alors même que la présence intercalaire de la partition de secours du haut (disk4s3) => bloque toute récupération des blocs du bas.​
 
Exact, je comprend mieux.

C'est aussi pour cela qu'il me bloque la possibilité via Utilitaire disque de redimenssionner "Clône Mac OS" à 400 go et "Clône Stockage" à 600 go ? il me recréé systématiquement une troisième partition de 150 go comme avant.
 
Je me réponds à moi-même -->

- une fois supprimée la partition de secours du bas > son index d'appareil disk4s5 demeure "pris en charge" par le kernel (= résilience) et n'est pas "libéré".​

- la partition de secours du haut (disk4s3) se trouve clonée à l'identique sur les 650 Mo de blocs libérés > ce qui donne une partition de secours clone obtenant le 1er index d'appareil disponible = disk0s6.​

- la partition de secours originale disk0s3 se trouve alors supprimée > ce qui libère 650 Mo de blocs attenant à la partition bénéficiaire disk0s2.​

- le système de fichiers jhfs+ de la partition disk0s2 => se trouve étiré pour prendre en charge les 650 Mo de blocs libres attenants > ce qui amène la limite de la partition disk0s2 à coller la partition de secours clone indexée disk4s6.​

=> on obtient le tableau affiché par diskutil. La partition de secours disk4s6 n'est pas la partition de secours originale disk4s3 > mais son clone. Le volume Recovery HD de ce clone n'est pas affiché > car le kernel n' a pas pris en charge le système de fichiers jhfs+ cloné de cette partition. Le remontage forcé du volume => a forcé le kernel a prendre en charge le système de fichiers clone de cette partition.

Note : c'est sur des questions logiques minuscules comme celle-ci => qu'on peut mesurer les trésors d'ingéniosité de l'ingénierie informatique.
 
Merci pour l'explication c'est beaucoup plus clair :)
 
Et je n'avais pas répondu à ton autre question sur le blocage du redimensionnement :

- une seule partition de secours => se trouve "déplaçable sur les blocs" pour accompagner un redimensionnement > par le mécanisme de création d'un clone / suppression de l'original que j'ai décrit. Ce qui désigne une partition de secours comme susceptible de ce "déplacement sur les blocs" => est son type de partition : "Apple_Boot" --> qui la fait rentrer dans la catégorie des "partitions déplaçables" libellée : "partition booter".​

- deux partitions de secours à la file => verrouillent la possibilité d'un déplacement sur les blocs. Car seule une partition de type "booter" (type "Apple_Boot") attenante (au bloc près) à une partition-Système principale => se trouve déplaçable sur les blocs. Jamais une partition de type booter => non attenante à une partition-Système principale. Ce qui était le cas de la partition de secours2 - attenante à la partition de secours1 mais in-déplaçable sur les blocs de ce fait (pas d'accollement à une partition-Système principale).​
 
Donc logiquement, si je test à nouveau le redimensionnement cela devrait fonctionner ? C'est donc cette deuxième partition de secours qui était taquine ? :D
 
Je viens de tester, ça n'a rien changer avec l'utilitaire disque.

Il me représente la partition "Clône Mac OS" de la même façon: hachuré pour les 400 go d'avant, sans hachure pour les 150 go de l'ancienne partition.
Encore maintenant, si je sélectionne "Clône Stockage" pour lui attribuer 600 go il ne me le valide pas. Si je sélectionne "Clône Mac OS" pour lui attribuer 400 go il me refais encore une troisième partition. Décidement ça l'embète que j'ai supprimé cette partition :banghead:

Capture d’écran 2019-12-06 à 11.14.03.png
 
Passe la commande :
Bloc de code:
df -H

  • qui mesure l'occupation des tous les volumes montés

Poste le retour.