10.13 High Sierra Problème volume anormale recovery hd

m4xim36

Membre confirmé
9 Avril 2018
16
0
32
Bonjour à tous!!
Gros problème depuis la mise à jour de high Sierra la partition de recovery hd viens de ce prendre 100go !! Comment faire pour récupérer ce volume inutilisé ?
Tout ceci ce passe sur un MacBook Pro 13 mi-2010
 
Salut m4xim

Le problème que tu évoques fait partie des plus récréatifs que je connaisse à résoudre.

En préalable de cet aimable exercice -->

- va à : Applications > Utilitaires > lance le «Terminal». Dans la fenêtre ouverte > saisis la commande (informative) :
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour exécuter la commande)

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs paramètres de tables de partition > partitions > Conteneur apfs si présent

Poste ce tableau ici en copier-coller (pas de capture) > mais attention ! > avant de faire ton coller -->

  • dans la page de ce fil de MacGé > presse le bouton (carré avec un + inscrit - juste au milieu de la largeur de la fenêtre totale) dans la barre de menus au-dessus du champ de saisie d'un message > menu  : </> Code > par ⌘V colle dans la fenêtre Code > presse le bouton Insérer (ce procédé permet un affichage fenêtré qui économise l'espace de page en respectant la mise en forme des tableaux du «Terminal» --> d'où une plus grande lisibilité)

=> ces informations donneront une idée de la configuration du disque. Toute la suite se passera uniquement dans le Terminal > sans lequel il est absolument impossible de régler non destructivement ton problème.
 
bonjour macomaniac, merci d'avoir répondu si rapidement voici le tableau
Bloc de code:
Last login: Mon Apr  9 21:37:30 on console
macbook-pro:~ macbookpromaxime$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *250.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS OS X Base System        149.7 GB   disk0s2
   3:                 Apple_Boot Recovery HD             100.0 GB   disk0s3

macbook-pro:~ macbookpromaxime$
 
Mais c'est très joli ça -->
Bloc de code:
   3:                 Apple_Boot Recovery HD             100.0 GB   disk0s3

  • une partition de secours de 100 Go au lieu de 650 Mo : ce n'est plus un radeau de sauvetage > c'est une porte-conteneurs géant-
    361608_original.png

Actuellement > le type Apple_Boot de cette partition de secours la verrouille en taille > mais il est possible de convertir ce type à un type Apple_HFS (sans impact pour le volume Recovery HD) qui permet un re-dimensionnement. Mais pour manipuler les types de partitions du disque de démarrage > il faut que le SIP (protocole de sécurisation existant depuis El Capitan) ne soit pas activé.

Donc on commence par la commande :
Bloc de code:
csrutil status

  • qui retourne le statut du SIP

Poste ce retour.
 
j'avais pour le coup pris un peu d'avance ... il est déjà désactivé
Bloc de code:
Last login: Mon Apr  9 21:53:00 on ttys000
macbook-pro:~ macbookpromaxime$ csrutil status
System Integrity Protection status: disabled.
macbook-pro:~ macbookpromaxime$
 
j'avais pour le coup pris un peu d'avance ... il est déjà désactivé
Bloc de code:
Last login: Mon Apr  9 21:53:00 on ttys000
macbook-pro:~ macbookpromaxime$ csrutil status
System Integrity Protection status: disabled.
macbook-pro:~ macbookpromaxime$
 
Avant d'aller plus loin --> je note une 2è anomalie : le nom du volume de démarrage est OS X Base System (et pas Macintosh HD ou un nom personnalisé par l'utilisateur). Régulièrement c'est le signe que ce volume a été restauré à l'identique du volume éponyme d'une image-disque qui contient l'OS de secours --> ce qui fait que son contenu n'est plus qu'un clone de 1,3 Go de l'OS de secours. Pourtant > je vois à l'invite de commande de ton Terminal :
Bloc de code:
macbook-pro:~ macbookpromaxime$

  • que tu es bien dans une session régulière d'utilisateur et pas dans une session de secours.

Passe la commande (copier-coller) :
Bloc de code:
df -H /Volumes/"OS X Base System"

  • qui mesure l'occupation du volume OS X Base System

Poste le tableau retourné.
 
oui c'est moi qui n'est pas renommer à la suite d'un formatage.
Bloc de code:
Last login: Mon Apr  9 22:07:50 on ttys000
macbook-pro:~ macbookpromaxime$ df -H /Volumes/"OS X Base System"
Filesystem     Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk0s2   150G    16G   133G    11%  437138 4294530141    0%   /
macbook-pro:~ macbookpromaxime$
 
Il y a 16 Go de données dans le volume OS X Base System --> il ne recèle donc pas un clone d'OS de secours de 1,3 Go > mais un OS High Sierra installé en mode propre > sans données d'utilisateur -->

  • est-ce que c'est exact pour la description du grand volume ?
 
Alors passe la commande cosmétique (copier-coller) :
Bloc de code:
diskutil rename disk0s2 "Macintosh HD"

  • la commande renomme OS X Base System --> Macintosh HD

Disons que ça ne me perturbera pas "symboliquement" à la lecture des prochains tableaux du Terminal. Est-ce que tu vois bien le volume ainsi renommé affiché sur ton Bureau ?
 
haha tout est ok c'est corrigé ;)
Bloc de code:
Last login: Mon Apr  9 22:50:51 on ttys000
macbook-pro:~ macbookpromaxime$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *250.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            149.7 GB   disk0s2
   3:                 Apple_Boot Recovery HD             100.0 GB   disk0s3

macbook-pro:~ macbookpromaxime$
 
Bon --> il est temps de passer aux aimables jongleries.

Passe la commande (copier-coller) :
Bloc de code:
sudo asr adjust --t /dev/disk0s3 --settype "Apple_HFS"

  • après 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 valide de nouveau
  • la commande change le type de la partition de secours > de Apple_Boot à Apple_HFS --> ce qui la rend re-dimensionnable. Le changement de type est sans impact sur le système de fichiers recelé dans la partition > ni sur le volume généré.

Poste l'affichage retourné par la commande + le retour d'un nouveau :
Bloc de code:
diskutil list
 
les 2 tableau
Bloc de code:
Last login: Mon Apr  9 22:51:09 on ttys000
macbook-pro:~ macbookpromaxime$ sudo asr adjust --t /dev/disk0s3 --settype "Apple_HFS"
Password:
Fsck /dev/disk0s3 ....10....20....30....40....50....60....70....80....90....100
Adjust completed successfully
macbook-pro:~ macbookpromaxime$

Bloc de code:
Last login: Mon Apr  9 22:56:05 on ttys000
macbook-pro:~ macbookpromaxime$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *250.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            149.7 GB   disk0s2
   3:                  Apple_HFS Recovery HD             100.0 GB   disk0s3

macbook-pro:~ macbookpromaxime$
 
Cette ligne -->
Bloc de code:
   3:                  Apple_HFS Recovery HD             100.0 GB   disk0s3

  • montre que le changement de type a bien été effectué à Apple_HFS.

Passe les commandes (l'une après l'autre) -->
Bloc de code:
diskutil mount disk0s3
df -H /Volumes/"Recovery HD"

  • la 1ère monte le volume Recovery HD sur la partition disk0s3
  • la 2è mesure l'occupation de ce volume

Poste le tableau retourné par la 2è --> c'est pour vérifier que la taille des fichiers n'excède pas 600 Mo.
 
si je comprend bien, jusqu'ici tout va bien! les 542m représente le volume qu'occupe "recovery HD"?
Bloc de code:
Last login: Mon Apr  9 23:03:32 on ttys000
macbook-pro:~ macbookpromaxime$ df -H /Volumes/"Recovery HD"
Filesystem     Size   Used  Avail Capacity iused      ifree %iused  Mounted on
/dev/disk0s3   100G   542M   100G     1%      19 4294967260    0%   /Volumes/Recovery HD
macbook-pro:~ macbookpromaxime$
 
Oui : tout se déroule sur des roulettes bien huilées sans la moindre difficulté. Les 524 Mo sont la taille du dossier contenant l'OS de secours démarrable.

Passe la commande :
Bloc de code:
diskutil resizeVolume disk0s3 %recovery% free null 0b

  • la commande rétrécit (non-destructivement pour son volume) la partition disk0s3 à la taille réglementaire de 650 Mo > et laisse l'espace excédentaire à l'état d'espace libre

La commande passée > repasse un :
Bloc de code:
diskutil list

  • et poste le tableau.
 
recovery a l'air d'avoir retrouver sa taille normal
Bloc de code:
Last login: Mon Apr  9 23:18:30 on ttys000
macbook-pro:~ macbookpromaxime$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *250.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            149.7 GB   disk0s2
   3:                  Apple_HFS Recovery HD             650.0 MB   disk0s3

macbook-pro:~ macbookpromaxime$
 
Hé oui ! ça roule : cette mention -->
Bloc de code:
   3:                  Apple_HFS Recovery HD             650.0 MB   disk0s3

  • montre que la partition de secours a bien été rétrécie aux 650 Mo réglementaires (sans avoir perdu la définition de son volume Recovery HD).

L'opération est un cycle ou un cercle. On va restituer à présent à cette partition son type originel Apple_Boot --> condition sine qua non pour pouvoir ensuite récupérer l'espace libre.

Passe les 2 commandes :
Bloc de code:
diskutil umount force disk0s3
sudo asr adjust --t /dev/disk0s3 --settype "Apple_Boot"

  • la 1ère démonte de force le volume Recovery HD au cas où il aurait été remonté
  • la 2è restaure le type Apple_Boot sur la partition

Poste le retour de la 2è commande + le tableau retourné par un nouveau :
Bloc de code:
diskutil list
 
j'ai eu un petit souci de connexions en postant le retour de la seconde commande je n'ai pas oser la refaire
Bloc de code:
Last login: Mon Apr  9 23:28:18 on ttys000
macbook-pro:~ macbookpromaxime$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *250.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            149.7 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

macbook-pro:~ macbookpromaxime$
 
Cette ligne -->
Bloc de code:
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

  • montre que tout est en place pour la partition de secours : type Apple_Boot et taille 650 Mo.

Passe la commande :
Bloc de code:
diskutil resizeVolume disk0s2 0b

  • cette commande effectue la récupération des 100 Go d'espace libre à la partition "donneuse" (au départ) = disk0s2 > et à son volume Macintosh HD
  • il y a une vérification d'intégrité préalable du système de fichiers jhfs+ de la partition. La commande avorte en cas d'erreur.

Si tu n'as pas eu de message d'erreur > poste l'affichage retourné par la commande et le tableau d'un nouveau :
Bloc de code:
diskutil list

  • en guise de trace non effacée de la complexité des opérations impliquées par un re-dimensionnement > l'index de la partition de secours devrait être actuellement disk0s4 et plus disk0s3.