10.15 Catalina Espace disque impossible à récupérer après suppression d'un conteneur

Geogeo_

Membre confirmé
21 Octobre 2020
10
1
27
Bonjour,

En suivant les indications sur ce forum, j'ai réussi à supprimer un conteneur dans lequel j'avais une ancienne version de MacOS. Malheureusement, je n'arrive pas à récupérer l'espace associé (80 Go). Je précise bien que je souhaite garder Boot Camp.
La commande
Bloc de code:
diskutil apfs resizeContainer disk0s2 0
me renvoie The target disk is too small for this operation, or a gap is required in your partition map which is missing or too small, which is often caused by an attempt to grow a partition beyond the beginning of another partition or beyond the end of partition map usable space.

Un
Bloc de code:
diskutil list
me donne
Bloc de code:
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         319.0 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                101.0 GB   disk0s3

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +319.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD - Données  100.6 GB   disk1s1
   2:                APFS Volume Preboot                 83.2 MB    disk1s2
   3:                APFS Volume Recovery                529.0 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4
   5:                APFS Volume Macintosh HD            11.3 GB    disk1s5

Merci d'avance pour votre aide,

Geoffrey
 
Bonjour Geogeo

À tous les coups > l'espace libéré se situe entre les partitions n°1 (EFI) et n°2 (apfs). Donc au-dessus (en terme de numération des blocs du disque) de la partition apfs à laquelle tu voudrais le récupérer. Ce qui est alors impossible directement > de l'espace libre ne se récupérant à une partition que si cette dernière est située au-dessus de lui > et pas en-dessous de lui sur le disque.

- afin de vérifier cette conjecture > il faut lire la table GPT d'en-tête du disque qui gère la distribution de ses blocs en : secteur des tables de partition > partitions > bandes d'espace libre. Mais cet accès (ne serait-ce qu'en lecture seule) à la GPT du disque de démarrage est interdit par l'activation du SIP (protocole de sécurisation). Il faut donc en préalable s'assurer de l'état actuel du SIP.​

Donc passe la commande :
Bloc de code:
csrutil status
  • qui affiche l'état actuel du SIP

Poste le retour.
 
Bonjour macomaniac,

Merci de votre réponse rapide. Voici ce que la commande me renvoie :

Bloc de code:
System Integrity Protection status: disabled.

Que dois-je faire à présent ?
Merci d'avance,

Geoffrey
 
SIP désactivé : tu peux donc passer directement une commande de lecture de GPT.

- passe la commande (copier-coller) :​
Bloc de code:
sudo gpt show disk0
  • à validation > une demande de password s'affiche (commande sudo) => tape ton mot-de-passe de session admin en aveugle - aucun caractère ne se montrant à la frappe - et revalide
  • la commande affiche la distribution des blocs du disque tels que gérés par la table GPT

Poste le tableau obtenu.
 
Encore merci. Voilà ce que j'obtiens :

Bloc de code:
      start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2          4         Pri GPT table
          6      76800      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
      76806   77881082      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
   77957888   24648960      3  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  102606848   19531280         
  122138128          4         Sec GPT table
  122138132          1         Sec GPT header
 
Voici la bande d'espace libre -->
Bloc de code:
  102606848   19531280
  • elle débute au bloc n°102606848 qui est le 1er bloc libre juste en-dessous de la partition n°3 BOOTCAMP > et a une extension de 19531280 blocs qui sont manifestement des blocs octuples du bloc défaut de 512 octets = 4096 octets. Donc 19531280 x 8 = 156250240 blocs défaut de 512 octets = 80 Go.

Comme cette bande d'espace libre se trouve en queue de disque > séparée de la partition apfs2 par la partition BOOTCAMP3 qui fait tampon => tu ne peux pas récupérer cet espace de blocs à la partition apfs. Question : est-ce que tu te sers du volume BOOTCAMP ?
 
Si c'est bien la question, j'utilise aussi bien MacOS que Boot Camp au quotidien. J'aurais cependant aimé récupérer ce volume sur ma partition MacOS qui correspond à ma principale utilisation.

Merci à vous.
 
L'Utilitaire de disque dans sa nouvelle version (inaugurée avec l'OS El Capitan) => commet la faute radicale de présenter graphiquement l'espace d'un disque sous une forme circulaire de camembert > dont les partitions seraient des quartiers. Car cette présentation induit l'imagination qu'un tel espace circulaire serait susceptible de parcours aussi bien horaire (dextrogyre) qu'antihoraire (sénestrogyre). Et donc que le quartier d'espace libre de 80 Go affiché à "toucher" sur la gauche le quartier de la partition apfs affiché à sa droite => serait récupérable à la partition apfs car représenté à son "contact" sur la gauche.

Cette figuration est une insulte à l'intelligence de l'utilisateur. Car l'espace logique d'un disque est toujours un alignement arithmétique linéaire de blocs numérotés du n°0 => au n° 122138132 dans ton cas. Alignement arithmétique qui n'a rien de circulaire. Une table de partition GPT gère cet espace de blocs en prenant exclusivement en compte leur alignement arithmétique linéaire. Elle ignore entièrement une figuration circulaire qui est une erreur de représentation graphique.

Les partitions projetées sur cette suite de blocs par la table GPT comportent donc un alignement rectiligne. Chaque partition recèle sur ses blocs de tête le système de fichiers spécifique qui est le formateur d'un volume sur la partition. Cette inscription en tête de partition du générateur du volume de la partition => fait qu'on ne peut pas toucher au point d'ancrage initial d'une partition sans supprimer le volume de cette partition. Par suite => de l'espace de blocs libres ne peut s'ajouter à une partition que par en-dessous > aucun espace libre situé avant le commencement d'une partition ne pouvant lui être récupéré > l'en-tête d'une partition étant l'ancrage inamovible du système de fichiers formateur du volume.

Dans ton cas > la partition BOOTCAMP s'intercale en terme de segment de blocs numérotés entre la partition apfs et l'espace libre de fin d'alignement numérique de blocs. En conséquence : tu ne peux absolument pas récupérer les 80 Go de blocs de queue de disque => à la partition apfs => si tu ne supprimes pas la partition BOOTCAMP qui fait tampon.
 
Dernière édition par un modérateur:
  • J’aime
Réactions: peyret
Merci pour votre explication, je pensais en effet -- à cause du diagramme circulaire -- que je pouvais récupérer ce volume où je le souhaitais. Si je comprends bien, j'ai deux possibilités :
  • Supprimer ma partition Boot Camp pour récupérer (80 Go + volume Boot Camp) sur ma partition MacOS ;
  • Récupérer les 80 Go sur ma partition Boot Camp.
Est-ce bien cela ?

Encore merci,
Geoffrey
 
Oui : tu as les choix que tu décris.

- et un encore (si tu n'as pas de documents / logiciels / préférences insuppressibles dans ton volume BOOTCAMP actuel) : supprimer la partition BOOTCAMP > récupérer tout l'espace libre (180 Go) à la partition apfs > recréer une partition BOOTCAMP de la taille que tu veux => laquelle sera localisée strictement en queue d'espace de blocs du disque.​
 
Avec votre option, il faudrait que je sauvegarde les données de ma partition Boot Camp, que je la supprime ensuite pour récupérer l'intégralité de l'espace sur ma partition MacOS, puis que je recrée une partition Boot Camp.
Jusque là ai-je bien compris ?

Autre question : si je souhaite, après avoir fait cette opération, créer une nouvelle partition, pourrais-je "l'intercaler" entre ma partition MacOS et Boot Camp de sorte à ce que si je supprime la nouvelle partition, son espace revienne dans ma partition MacOS ?

J'espère avoir été clair. Encore merci pour votre aide !
 
Oui : c'est exactement comme tu l'envisages -->

- sauvegarde des données > suppression de la partition BOOTCAMP > récupération de tout l'espace libre > recréation de BOOTCAMP (localisé alors en queue d'alignement des blocs du disque).​
- un repartitionnement de la partition apfs ensuite => créerait une partition intercalaire entre la partition apfs et la BOOTCAMP. C'est logique : les blocs ôtés à la partition apfs constituant un alignement arithmétique de blocs numérotés intercalaire entre les 2 partitions. Et la suppression ultérieure de cette partition intercalaire => permettrait la récupération de son espace à la partition apfs (aucune partition tampon ne faisant obstacle).​

Note qu'il est encore possible (si tu le souhaites) => de recréer une partition autonome avec les 80 Go de blocs de queue de disque > avec un volume qui pourrait te servir de stockage.
 
Waouh, c'est parfaitement clair, merci infiniment !

Je vais faire tout cela au plus vite et je reviendrai vers vous si je rencontre des difficultés (notamment dans la récupération du volume).
 
Bonjour macomaniac,

Simple petit message pour dire que j'ai suivi vos conseils et tout est rentré dans l'ordre. En plus, je comprends mieux comment fonctionne le partitionnement à présent !

Encore merci,

Geoffrey
 
@macomaniac Tu sembles être un tout bon. Peux-tu m'aider ?
Je ne parviens pas a redimensionner ma partition de 299 Go à 480 Go.
Voici diskutil list, et Utilitaire de disque :
Merci.

Bloc de code:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *480.1 GB   disk0
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk0s1
                    (free space)                         180.5 GB   -
   2:                 Apple_APFS ⁨Container disk1⁩         299.4 GB   disk0s4

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +299.4 GB   disk1
                                 Physical Store disk0s4
   1:                APFS Volume ⁨MacOs - Données⁩         100.4 GB   disk1s1
   2:                APFS Volume ⁨Preboot⁩                 284.9 MB   disk1s2
   3:                APFS Volume ⁨Recovery⁩                622.9 MB   disk1s3
   4:                APFS Volume ⁨MacOs⁩                   15.3 GB    disk1s4
   5:              APFS Snapshot ⁨com.apple.os.update-...⁩ 15.3 GB    disk1s4s1
   6:                APFS Volume ⁨VM⁩                      1.1 GB     disk1s6

--------------------------------
Note du modérateur de service (ici Aliboron) :

Merci de mettre les copies de compte-rendus de Terminal entre des balises de "Bloc de code". On les trouve dans la barre d'outils, en dessous des trois petits points :
Bloc de code.png
 
Dernière édition par un modérateur:
Bonsoir sam

Regarde le partitionnement primaire de ton disque interne -->
Bloc de code:
   1:                        EFI EFI                     314.6 MB   disk0s1
                    (free space)                         180.5 GB   
   2:                 Apple_APFS Container disk1⁩         299.4 GB   disk0s4
  • tu as une bande d'espace libre (free space) de 180 Go intercalée entre la partition EFI1 et la partition apfs2. Tu avais là une partition que tu as supprimée. Tu ne peux pas récupérer à la partition apfs cet espace libre situé plus haut sur le disque (en terme de numérotation arithmétique des blocs de 0 à n).

Ce qui est possible > c'est de recréer une partition apfs avec ces 180 Go > de cloner la distribution Big Sur de ton Conteneur dans le nouveau Conteneur créé > démarrer sur le clone > supprimer la partition apfs du bas et son Conteneur > récupérer cet espace libéré au Conteneur du haut et à sa partition de base.

- qu'est-ce que tu en penses ?​