Récupérer une partition de dual boot Linux

Quad_merad

Membre confirmé
25 Octobre 2016
24
1
24
Bonjour,

Mon MacBook Pro sous High Sierra a une partition de disque dur de 100go réservée pour un dual boot sous Ubuntu.

Je souhaite retrouver macOS sur la totalité de mon disque dur et donc supprime mon dual boot, cependant je ne sais pas vraiment comment m’y prendre pour ne pas perdre ma partition de 100go ou « casser » mon disque dur. Je ne sais pas si il faut réinstaller Mac OS en effaçant la partition Ubuntu ou autre ... [emoji848]

Si vous avez un lien pour m’aider ou si quelqu’un est chaud pour m’expliquer [emoji6]

Merci d’avance !
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 993
3 182
Pour pouvoir répondre, il faudrait connaître la configuration de ton disque : table de partition, partitions ?
 

Quad_merad

Membre confirmé
25 Octobre 2016
24
1
24
Pour pouvoir répondre, il faudrait connaître la configuration de ton disque : table de partition, partitions ?

Voici mes deux partitions, à noter que je n'ai pas utilisé BootCamp pour installer Ubuntu
 

Fichiers joints

  • Capture d’écran 2018-01-09 à 13.31.17.png
    Capture d’écran 2018-01-09 à 13.31.17.png
    310 KB · Affichages: 288
  • Capture d’écran 2018-01-09 à 13.31.20.png
    Capture d’écran 2018-01-09 à 13.31.20.png
    293,4 KB · Affichages: 298

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 993
3 182
Une chance : ta partition à récupérer est en fin de table.
Mais, par ailleurs, c'est ce que je craignais : tu as utilisé ce cher APFS...

Il faut commencer par libérer complètement la partition désormais inutile puis redimensionner le container APFS. N'ayant pas de macOS HS, je vais faire dans le théorique.

=> Il faut quelque chose comme [j'ai mis exprès des lettres V, W, X et Y pour le moment] :
Bloc de code:
diskutil eraseVolume "Free Space" %noformat% /dev/diskXsY
puis
Bloc de code:
diskutil apfs resizeContainer diskVsW 0

=> Pour passer à la pratique, il va te falloir d'abord lancer Terminal puis lancer la commande :
Bloc de code:
sudo diskutil list
pour obtenir les informations exactes concernant les partitions.
Note que sudo va te demander ton mot de passe, à taper "à l'aveuglette".
Puis on passe les commandes précédentes, avec les bons paramètres.
Il est possible qu'il faille passer par la partition de secours pour y parvenir [redémarrer en maintenant CMD et R enfoncées]

As-tu fait une sauvegarde de ton système ? :siffle:

Note que le plus compétent, dans le domaine, est @macomaniac
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
Salut Quad_merad

Puisque bompi me met le pied à l'étrier > j'y vais de mon petit galop -->

- ta session ouverte > 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 exacte de la configuration du disque. Et permettront d'adapter les commandes aux identifants exacts des partitions / Conteneur apfs.
 

Quad_merad

Membre confirmé
25 Octobre 2016
24
1
24
Merci à vous deux pour vos réponses, j'ai une sauvegarde TimeMachine de mon Mac donc même s'il faut passer par une restauration complète de la machine pas de soucis ;)

Voici le résultat de la commande "diskutil list" :
Bloc de code:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         398.9 GB   disk0s2
   3:       Microsoft Basic Data                         101.0 GB   disk0s3

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +398.9 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            210.8 GB   disk1s1
   2:                APFS Volume Preboot                 20.6 MB    disk1s2
   3:                APFS Volume Recovery                506.6 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
même s'il faut passer par une restauration complète de la machine

- inutile d'en passer par là, en principe. La récupération de l'espace est même supportée en mode "live" (l'OS démarré Macintosh HD maintenu monté).

Passe les 2 commandes (en copier-coller - l'une après l'autre) -->
Bloc de code:
diskutil eraseVolume free null disk0s3
diskutil ap resizeContainer disk1 0b

  • la 1ère supprime la partition n°4
  • la 2è récupère son espace au Conteneur disk1 et à sa partition d'inscription disk0s2

=> si tu n'as pas eu de message d'erreur > repasse un :
Bloc de code:
diskutil list

et poste le tableau.
 

Quad_merad

Membre confirmé
25 Octobre 2016
24
1
24
- inutile d'en passer par là, en principe. La récupération de l'espace est même supportée en mode "live" (l'OS démarré Macintosh HD maintenu monté).

Passe les 2 commandes (en copier-coller - l'une après l'autre) -->
Bloc de code:
diskutil eraseVolume free null disk0s3
diskutil ap resizeContainer disk1 0b

  • la 1ère supprime la partition n°4
  • la 2è récupère son espace au Conteneur disk1 et à sa partition d'inscription disk0s2
=> si tu n'as pas eu de message d'erreur > repasse un :
Bloc de code:
diskutil list

et poste le tableau.

Merci pour ta réponse

La première commande s'est déroulée avec succès, cependant j'ai un message d'erreur avec la deuxième, voici un retour sur les deux commandes :

Bloc de code:
MacBook-Pro-dAntonin antonin$ diskutil eraseVolume free null disk0s3
Started erase on disk0s3
Unmounting disk
Finished erase on disk0
MacBook-Pro-dAntonin:bin antonin$ diskutil ap resizeContainer disk1 0b
Error starting APFS Container resize: The given disk is not an APFS Physical Store (-69629)
MacBook-Pro-dAntonin:bin antonin$

Lorsque je fais un diskutil list j'obtiens ceci :

Bloc de code:
/dev/disk0 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *500.3 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF               398.9 GB   disk0s2


/dev/disk1 (synthesized):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      APFS Container Scheme -                      +398.9 GB   disk1

                                Physical Store disk0s2

   1:                APFS Volume Macintosh HD            211.7 GB   disk1s1

   2:                APFS Volume Preboot                 20.6 MB    disk1s2

   3:                APFS Volume Recovery                506.6 MB   disk1s3

   4:                APFS Volume VM                      2.1 GB     disk1s4
[code]
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
Effectivement la 2è commande n'est pas passée.

Je suis surpris par le contenu du message d'erreur -->
Bloc de code:
The given disk is not an APFS Physical Store

Bien sûr que ce n'est pas le Physical Store (magasin de stockage physique des données) --> puisque ce dernier est inscrit directement sur la partition de résidence disk0s2 comme indiqué par la mention :
Bloc de code:
Physical Store disk0s2

et que j'ai ciblé dans ma commande le Conteneur apfs -->
Bloc de code:
0:      APFS Container Scheme -                      +398.9 GB   disk1
en mentionnant disk1.

Normalement prendre pour cible le disque du Conteneur apfs est l'option la plus recommandée et régulièrement honorée.

Mais puisqu'une susceptibilité se fait jour ici (le système de fichiers apfs est chatouilleux) > passe la commande -->
Bloc de code:
diskutil ap resizeContainer disk0s2 0b

  • et poste ce qui est retourné.
 

Quad_merad

Membre confirmé
25 Octobre 2016
24
1
24
Effectivement la 2è commande n'est pas passée.

Je suis surpris par le contenu du message d'erreur -->
Bloc de code:
The given disk is not an APFS Physical Store

Bien sûr que ce n'est pas le Physical Store (magasin de stockage physique des données) --> puisque ce dernier est inscrit directement sur la partition de résidence disk0s2 comme indiqué par la mention :
Bloc de code:
Physical Store disk0s2

et que j'ai ciblé dans ma commande le Conteneur apfs -->
Bloc de code:
0:      APFS Container Scheme -                      +398.9 GB   disk1
en mentionnant disk1.

Normalement prendre pour cible le disque du Conteneur apfs est l'option la plus recommandée et régulièrement honorée.

Mais puisqu'une susceptibilité se fait jour ici (le système de fichiers apfs est chatouilleux) > passe la commande -->
Bloc de code:
diskutil ap resizeContainer disk0s2 0b

  • et poste ce qui est retourné.

Je te cache pas ne pas tout comprendre mais merci pour les explications !

Voici le résultat de la commande "diskutil ap resizeContainer disk0s2 0b"

Bloc de code:
mbp-dantonin:~ antonin$ diskutil ap resizeContainer disk0s2 0b
disk0s2 is neither an APFS Container Reference nor an APFS Physical Store
mbp-dantonin:~ antonin$
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
Quand j'ai rédigé mon message > tu n'avais pas encore édité le tien et posté le nouveau tableau retourné par un diskutil list.

Je n'avais donc pas vu que le type de la partition n°2 du disque s'était trouvé corrompu entre temps -->
Bloc de code:
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF               398.9 GB   disk0s2

  • c'est ça la raison de l'échec des commandes de récupération de l'espace libre. Je n'ai aucune idée de la provenance de cette bizarrerie.

Puisque tu dis que tu as une sauvegarde TM > on peut s'embarquer dans de l'expérimental -->

- redémarre ton Mac une fois et dis si tu arrives à ré-ouvrir ta session ou s'il y a plantage.
 

Quad_merad

Membre confirmé
25 Octobre 2016
24
1
24
Je ne parviens pas à démarrer l’ordinateur. Il reste sur un écran noir.

Si je démarre en appuyant sur alt je peux booter sur EFIBoot.

J’ai essayé de démarrer avec CMD+R et il tente de récupérer par internet
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
L'actuel démarrage par internet télécharge en RAM un dossier de démarrage de type Recovery de 500 Mo > puis démarre le Mac sur l'OS de secours supporté en RAM.

Tu vas obtenir un écran affichant une fenêtre de 4 Utilitaires macOS. Signale-le alors.
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
Si je reviens sur ce curieux enchaînement d'événements (un de plus à porter au "crédit" de l'apfs) -->

Lorsque tu as passé la 1ère commande de suppression de la partition n°3 du disque > tu as obtenu en retour un :
Bloc de code:
Started erase on disk0s3
Unmounting disk
Finished erase on disk0

  • signe que tout s'était bien passé.

En aucune façon > cette action sur la partition n°3 n'affectait la partition n°2 où était inscrit le Physical Store de l'APFS > et à partir duquel s'exportait le Conteneur apfs disk1.

Une bizarrerie s'est alors manifesté en réaction à la deuxième commande (formellement valide) -->
Bloc de code:
diskutil ap resizeContainer disk1 0b
en déclarant :
Bloc de code:
The given disk is not an APFS Physical Store

ton tableau révélant que le type "Apple_APFS" de la partition disk0s2 avait été corrompu -->
Bloc de code:
 2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF               398.9 GB   disk0s2

Bien évidemment dans ces circonstances > la variante de commande :
Bloc de code:
diskutil ap resizeContainer disk0s2 0b
  • ne pouvait qu'échouer à adresser cette partition au type corrompu -->
Bloc de code:
disk0s2 is neither an APFS Container Reference nor an APFS Physical Store

  • puisque l'UUID factice FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF désigne une partition d'un type non-reconnu.

=> moi qui m'attendais à une aimable partie de campagne en 2 commandes (ce qui règle classiquement un problème de re-partitionnement) --> voici qu'une aberration carabinée se fait jour. On va voir ce qu'on peut faire en mode Récupération.
 

Quad_merad

Membre confirmé
25 Octobre 2016
24
1
24
Je suis donc en mode récupération, voici ce que me propose l’utilitaire de disque lorsque je me rends dedans, j’espère ne pas avoir perdu 100go d’espace disque [emoji848]

d979615b69b0ee2f2436b11bfd2220cc.jpg
f5fa2aa2149ac7e771f70d44e1e7eefb.jpg
4297734da18b6077c53e26f00a46f0ec.jpg
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
L'«Utilitaire de Disque» ne te servira pas ici.

Dans la mesure où tu avais installé High Sierra > le programme interne de ton Mac (EFI) a été implémenté de 2 modes possibles de démarrage par internet --> l'un permet la ré-installation de l'OS d'usine du Mac (antérieur à High Sierra) > l'autre permet de ré-installer l'OS public le plus récent (= High Sierra).

Avant toute opération > il convient de savoir quel type de démarrage par internet ton Mac a effectué de manière automatique. Pour cela > quitte l'«Utilitaire de Disque» > et choisis l'option : "Ré-installer macOS" (ou OS X - selon l'OS) --> sans lancer du tout l'installation en question --> juste pour vérifier quel OS t'est proposé actuellement à la ré-installation => est-ce que c'est High Sierra ? - ou est-ce que c'est un autre OS ?

  • Si c'est High Sierra --> tout va bien. Le Terminal de l'OS de secours qui lui correspond est capable d'identifier le format APFS.
  • Si c'est un OS antérieur à High Sierra --> cela ne convient pas. Le Terminal de cet OS de secours ancien est incapable d'identifier le format APFS.
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
Donc ton Mac a démarré selon le mode "récupération par internet" qui permet de ré-installer l'OS d'usine (= «El Capitan» chez toi). Évidemment «El Capitan» ne connaissait rien encore de l'apfs. L'OS de secours qui permet de le ré-installer (qui est un OS analogue mais allégé) ne connaît évidemment rien non plus de l'apfs.

Il convient donc que tu fasses re-démarrer ton Mac selon le mode "récupération par internet" qui permet la ré-installation de High Sierra. Donc sur un OS de secours qui reconnaît l'apfs et permet de le manipuler.

Pour cela quitte l'option : "Réinstaller OS X" > va à la barre de menus supérieure de l'écran > Menu  > Redémarrer --> tiens aussitôt pressées ensemble les 3 touches ⌘⌥R (cmd alt R) --> jusqu'à l'affichage d'une  (tu peux relâcher alors). La même routine que précédemment va s'exécuter > mais l'OS de secours sur lequel ton Mac va démarrer à la fin permettra de tenter une récupération du type "Apple_APFS" de la partition corrompue.

Question : est-ce que le premier démarrage par internet a pris beaucoup de temps ? - tu as un logo de globe terrestre en rotation tout le temps du téléchargement depuis le Mac App Store d'une dossier Recovery de 500 Mo.
 

Quad_merad

Membre confirmé
25 Octobre 2016
24
1
24
Merci beaucoup pour toutes ces informations, je vais procéder au redémarrage avec cmd+alt+r.

Le premier démarrage par internet a du me prendre environ 30mn (ma connexion n’est pas incroyable j’ai une simple connexion ADSL)
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
89 127
27 444
Forêt de Fontainebleau
En effet --> 30' c'est plutôt lent pour télécharger 500 Mo.

L'incident qui est arrivé à ta partition de l'OS était pour moi tout à fait inattendu. Si tu regardes ce fil récent, par exemple : ☞Désinstaller Windows/Bootcamp☜ tu t'aperçois qu'au message #5 j'ai passé à AppleSpirit des commandes tout à fait analogues aux deux que je t'ai passées et qu'il n'y a eu aucun problème chez lui. C'est la méthode canonique pour récupérer de l'espace-disque via le Terminal.

Je ne sais donc pas du tout comment le type de la partition n°2 a pu virer à de l'inconnu. C'est au niveau de la table de partition GUID, qui enregistre les partitions avec leurs types et leurs systèmes de fichiers, que ça s'est produit. Comme si la suppression d'une entrée de partition (la n°3) avait corrompu l'écriture enregistrant la partition n°2 du dessus.

Je compte te proposer une commande qui permet de restaurer le type logique d'une partition - en espérant que ça suffise pour rétablir la reconnaissance du Conteneur apfs inscrit sur la partition. Heureusement sinon que tu as une sauvegarde TM - s'il faut en arriver à reformater > ré-installer High Sierra > récupérer une sauvegarde.