iMac Problème espace irrécupérable sur SSD

FalloutXtreme

Membre actif
Club iGen
15 Septembre 2014
355
68
33
Bonjour à tous,

J'ai un iMac de début 2009 que j'avais fait passé précédemment sous Mojave via le patch "Mojave Patcher" de dosdude pour les Mac qui ne le supportaient pas officiellement.

Globalement il fonctionnait bien mais la caméra n'était plus fonctionnelle (pilote pas dispo), j'étais obligé de supprimer la transparence en mode sombre (car la carte graphique ne le supportait pas totalement) pour éviter d'avoir certains glitchs graphiques à l'écran et quelques autres petites choses qui m'embêtaient un peu (surtout sur une machine qui est ma machine de travail ...).

J'ai donc décidé ce week-end de repasser sous El Capitan en créant une partition de 100 Go à côté de mon installation de Mojave (SSD de 500 Go).
L'installation s'est très bien passée et j'ai mis l'OS à jour (10.11.6).

Après avoir récupéré tous mes fichiers et dossiers personnels + mes projets pro sur la partition de Mojave (qui faisait un peu moins de 400 Go depuis l'ajout de celle pour El Capitan) et avoir réinstallé mes logiciels, j'ai donc voulu supprimer la partition de Mojave pour récupérer tout cet espace disque pour El Capitan.

L'utilitaire de disque refusait de la redimensionner en allant dans le menu "Partitionner". Je ne pouvais que l'effacer mais même une fois effacée, impossible de réallouer cet espace disque pour El Capitan.

Je me suis donc balladé sur ce forum pour trouver comment faire via le terminal et diskutil et j'ai trouvé la commande "diskutil eraseVolume" que j'ai appliqué en étant sur la partition de récupération d'El Capitan et ça a complètement "supprimé" cet espace disque.

Et maintenant impossible de le récupérer ...

Ci-joint une capture d'écran de ce qu'affiche maintenant l'utilitaire de disque ainsi que la commande "diskutil list".

Merci d'avance pour vos réponses.
Bonne journée à tous !
 

Fichiers joints

  • diskutil.jpg
    52,8 KB · Affichages: 168
  • utilitaireDisque.jpg
    85,7 KB · Affichages: 160
  • utilitaireDisque2.jpg
    139,9 KB · Affichages: 162
Bonjour FalloutWtreme

Il y a de grandes chances que l'espace libre actuel soit situé en-dessus de la partition du volume El Capitan et pas en-dessous. Ces désignations (en-dessus et en-dessous) se référant la numérotation des blocs du disque > qui va du n°0 au n°1048785715 (environ) pour un espace-disque de 500,1 Go. Or on ne peut récupérer à une partition que des blocs libres situés en-dessous > et pas en-dessus.

- c'est à cause de la position du système de fichiers (formateur du volume) qui a pour super-bloc (bloc d'ancrage) le 1er bloc d'une partition. Ce système de fichiers ne peut être étiré à des blocs supplémentaires qu'en descendant à partir de ce super-bloc > et en aucun cas ne peut se "retourner" (pour prendre une image) vers des blocs situés avant son super-bloc. Ce qui montre qu'un système de fichiers est une structure logicielle "orientée".​

Pour vérifier cela > 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 s'affichant à la frappe - et revalide
  • la commande affiche le tableau de la distribution des blocs du disque. L'activation du SIP (protocole de sécurisation) est susceptible de dénier l'accès en lecture à ce plan des blocs : tu vas bien voir.

Si tu l'obtiens > poste ce tableau ici en copier-coller (pas de capture) > mais attention ! > avant de faire ton coller -->
  • dans cette page de MacGé > presse le bouton
    524315_original.png
    ici :
    521520_original.png

    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é)
 
Bonjour FalloutWtreme

Il y a de grandes chances que l'espace libre actuel soit situé en-dessus de la partition du volume El Capitan et pas en-dessous. Ces désignations (en-dessus et en-dessous) se référant la numérotation des blocs du disque > qui va du n°0 au n°1048785715 (environ) pour un espace-disque de 500,1 Go. Or on ne peut récupérer à une partition que des blocs libres situés en-dessous > et pas en-dessus.

- c'est à cause de la position du système de fichiers (formateur du volume) qui a pour super-bloc (bloc d'ancrage) le 1er bloc d'une partition. Ce système de fichiers ne peut être étiré à des blocs supplémentaires qu'en descendant à partir de ce super-bloc > et en aucun cas ne peut se "retourner" (pour prendre une image) vers des blocs situés avant son super-bloc. Ce qui montre qu'un système de fichiers est une structure logicielle "orientée".​

Pour vérifier cela > 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 s'affichant à la frappe - et revalide
  • la commande affiche le tableau de la distribution des blocs du disque. L'activation du SIP (protocole de sécurisation) est susceptible de dénier l'accès en lecture à ce plan des blocs : tu vas bien voir.
Si tu l'obtiens > poste ce tableau ici en copier-coller (pas de capture) > mais attention ! > avant de faire ton coller -->
  • dans cette page de MacGé > presse le bouton
    524315_original.png
    ici :
    521520_original.png

    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é)

Merci beaucoup pour toutes ces informations !
Je pense effectivement que l'espace libre se trouve "au dessus" de la partition actuelle car quand elle était encore présente, la partition de Mojave "Macintosh HD" se trouvait au dessus de celle d'El Capitan.

Voici le résultat demandé :

Bloc de code:
iMac-de-Virgile:~ virgileferroukh$ sudo gpt show disk0
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  782320520        
  782730160  192773432      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  975503592    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  976773128          7        
  976773135         32         Sec GPT table
  976773167          1         Sec GPT header
 
Voici la bande d'espace libre -->
Bloc de code:
     409640  782320520

  • elle commence au bloc n°409640 (1er bloc libre après la partition EFI1) > et a pour extension 782320520 blocs (de 512 octets) = 400,54 Go.

La solution consiste à refaire une partition formatée d'un volume avec ces blocs libres > puis cloner l'actuel volume El Capitan dans le nouveau volume > démarrer sur ce volume cloné > supprimer la partition El Capitan > récupérer son espace.

La seule difficulté de ce programme est que : pour employer l'exécutable gpt (guid_partition_table_utility) => à la recréation d'une partition > il faut qu'aucun volume ne soit monté sur le disque --> afin que la table GPT soit désactivée (= non prise en charge par le kernel). Il faut donc trouver moyen à démarrer ton Mac sur un OS quelconque dont le volume soit externe au disque interne du Mac.

Or ton Mac de 2009 ne démarre pas par internet. Donc : as-tu un clone démarrable sur un DDE > sinon une bête clé USB vacante (à partir de 2 Go de capacité) ? - ou encore as-tu gardé la clé d'installation démarrable d'El Capitan qui a dû te servir pour réinstaller cet OS ?
 
Voici la bande d'espace libre -->
Bloc de code:
     409640  782320520

  • elle commence au bloc n°409640 (1er bloc libre après la partition EFI1) > et a pour extension 782320520 blocs (de 512 octets) = 400,54 Go.

La solution consiste à refaire une partition formatée d'un volume avec ces blocs libres > puis cloner l'actuel volume El Capitan dans le nouveau volume > démarrer sur ce volume cloné > supprimer la partition El Capitan > récupérer son espace.

La seule difficulté de ce programme est que : pour employer l'exécutable gpt (guid_partition_table_utility) => à la recréation d'une partition > il faut qu'aucun volume ne soit monté sur le disque --> afin que la table GPT soit désactivée (= non prise en charge par le kernel). Il faut donc trouver moyen à démarrer ton Mac sur un OS quelconque dont le volume soit externe au disque interne du Mac.

Or ton Mac de 2009 ne démarre pas par internet. Donc : as-tu un clone démarrable sur un DDE > sinon une bête clé USB vacante (à partir de 2 Go de capacité) ? - ou encore as-tu gardé la clé d'installation démarrable d'El Capitan qui a dû te servir pour réinstaller cet OS ?

Je n'ai plus la clé USB qui m'a servi à l'installation car je l'ai réutilisé pour stocker d'autres données.
Mais ça n'est pas un problème, je peux la refaire sur une autre clé. Je suis en train de télécharger El Capitan depuis le Mac App Store et je créerai en suivant la clé d'installation pour démarrer dessus.
 
Ce n'est pas la peine de retélécharger El Capitan et de refaire une clé d'install.

Il suffit de cloner l'OS de secours du disque => dans le volume de la clé USB --> ce qui prend 2'. Et la clé est démarrable.

Tu n'as qu'à indiquer si tu es prêt pour ce raccourci.
 
Ah d'accord !
Donc je suis prêt et j'ai ma clé USB prête également !
 
Attache-la au Mac > passe la commande :
Bloc de code:
diskutil list

  • et poste le tableau des disques --> que je voie ta clé.
 
Bloc de code:
iMac-de-Virgile:~ virgileferroukh$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS El Capitan              98.7 GB    disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS TIMEMACHINE             499.7 GB   disk1s2
/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *8.0 GB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS CLE                     7.7 GB     disk2s2
 
Alors passe encore la commande (copier-coller) :
Bloc de code:
diskutil mount disk0s3

  • qui monte le volume Recovery HD de la partition de secours

Poste le retour.
 
Bloc de code:
iMac-de-Virgile:~ virgileferroukh$ diskutil mount disk0s3
Volume Recovery HD on disk0s3 mounted
 
Bien. Passe à présent la commande (copier-coller) :
Bloc de code:
hdiutil attach /Volumes/Reco*/com*/BaseSystem.dmg

  • la commande (qui utilise des abréviations) --> monte le volume Mac OS X Base System de l'image-disque BaseSystem.dmg recelée dans le volume monté Recovery HD. Tu dois voir affiché ce volume sur ton Bureau.

Poste le retour.
 
Bloc de code:
iMac-de-Virgile:~ virgileferroukh$ hdiutil attach /Volumes/Reco*/com*/BaseSystem.dmg
Calcul de la somme de contrôle de Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR : : vérifiée   CRC32 $7AEF3DEC
Calcul de la somme de contrôle de GPT Header (Primary GPT Header : 1)…
GPT Header (Primary GPT Header : 1) : vérifiée   CRC32 $62D04A7C
Calcul de la somme de contrôle de GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl : vérifiée   CRC32 $8ECD5972
Calcul de la somme de contrôle de  (Apple_Free : 3)…
                    (Apple_Free : 3) : vérifiée   CRC32 $00000000
Calcul de la somme de contrôle de disk image (Apple_HFS : 4)…
..........................................................................
          disk image (Apple_HFS : 4) : vérifiée   CRC32 $0CAD92AE
Calcul de la somme de contrôle de  (Apple_Free : 5)…
..............................................................................
                    (Apple_Free : 5) : vérifiée   CRC32 $00000000
Calcul de la somme de contrôle de GPT Partition Data (Backup GPT Table : 6)…
GPT Partition Data (Backup GPT Table : vérifiée   CRC32 $8ECD5972
Calcul de la somme de contrôle de GPT Header (Backup GPT Header : 7)…
  GPT Header (Backup GPT Header : 7) : vérifiée   CRC32 $3A347A20
vérifiée   CRC32 $E903D156
/dev/disk3              GUID_partition_scheme             
/dev/disk3s1            Apple_HFS                          /Volumes/OS X Base System

Je vois bien apparaître sur le bureau, le volume OS X Base System et à la fin de cette opération, une fenêtre avec le contenu du volume est apparue (donc bien monté).
 
Le volume est OS X Base System.

Passe la commande :
Bloc de code:
sudo asr restore --s /Volumes/"OS X Base System" --t /Volumes/CLE --erase --noprompt

  • la commande clone en mode "copie-de-blocs" OS X Base System => CLE. CLE va être reformaté > renommé OS X Base System comme la source > cloné d'un OS de secours de 1,3 Go > rendu démarrable à la fin par l'inscription d'un chemin de démarrage sur son en-tête
  • il y a 2 passes : Restoring > Validating > la progression dans chacune marquée par des tranches de 10%

Poste l'affichage retourné quand tout sera fini.
 
Bloc de code:
iMac-de-Virgile:~ virgileferroukh$ sudo asr restore --s /Volumes/"OS X Base System" --t /Volumes/CLE --erase --noprompt
Password:
    Validating target...done
    Validating source...done
    Validating sizes...done
    Restoring  ....10....20....30....40....50....60....70....80....90....100
    Verifying  ....10....20....30....40....50....60....70....80....90....100
    Remounting target volume...done
 
Parfait. La clé est démarrable.

Redémarre > la touche "alt" pressée pour obtenir l'écran de choix du volume de démarrage -->

- choisis OS X Base System > démarre dessus. Tu obtiens (après un temps de chargement assez longuet) --> un écran affichant une fenêtre de 4 Utilitaires OS X (= écran de la session de secours)​

Préviens quand tu y es.
 
Ca y est, je suis dessus.
D'ailleurs je pensais être obligé de devoir répondre via mon téléphone mais je viens de découvrir qu'on pouvait même accéder à Safari en étant là (un des 4 choix propose d'accéder à l'aide d'Apple et ouvre Safari) !
C'est beaucoup plus pratique pour répondre !
 
En effet : il y a bien un Safari. Mais les applications se lancent en principe en mode alternatif dans la session de secours. On va remédier à cet inconvénient.

Tu as le Terminal à la barre de menus supérieure de l'écran > menus Utilitaires. Lance-le > ce qui affiche la fenêtre d'un terminal1. Enchaîne par un ⌘N au clavier > ce qui affiche la fenêtre d'un terminal2.

- dans le terminal2 > passe la commande :
Bloc de code:
/Ap*/Saf*/C*/Mac*/Safari

  • mets bien tous les astérisques * d'abréviation où tu les vois ; pas d'espace entre les * et les / qui suivent
  • cette commande abrégée ouvre l'application Safari en parallèle des 2 terminaux. Planque le terminal2 qui ne doit pas être fermé > car l'ouverture de Safari est conditionnée par son ouverture. UItilise uniquement le terminal1 pour les commandes.

=> par ce contournement > tu peux faire des copier-coller du Terminal => à la page de ce fil de MacGé ouverte dans Safari (et vice-versa) > en échappant au lancement alternatif des applications de la session de secours.

- est-ce que tu as à la fois un terminal et Safari côte-à-côte ?​
 
  • J’aime
Réactions: Locke
Super !
C'est vraiment très pratique !

Je confirme, après avoir caché le terminal n°2, j'ai bien le terminal n°1 et ma page Safari côte à côte.