10.14 Mojave Problème Container AFPS suite à un clone

Raoul Simpson

Membre actif
3 Septembre 2007
114
2
Bonjour,

je rencontre un petit soucis sur un mac que j'ai cloné.
J'ai changé le disque dur 1To d'un iMac par un SSD 2To.
Pour cloner le disque, j'ai utilisé une station de clonage.

Je ne me souviens plus de la version de Mac OS qui était présente sur le HDD. Le SSD est sous Mojave.

Mon problème est fort simple. Au lieu d'avoir 2 To de disponible, je n'ai que 1To. Je ne sais pas où est passé le To manquant.
voici ce que j'obtiens avec diskutil. On constate que disk0 fait bien 2 To alors que Apple_APFS Container disk1 ne fait que 1To.

Bloc de code:
iMac:~ *******$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         1000.0 GB  disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1000.0 GB  disk1
                                 Physical Store disk0s2
   1:                APFS Volume MACINTOSH               968.7 GB   disk1s1
   2:                APFS Volume Preboot                 22.5 MB    disk1s2
   3:                APFS Volume Recovery                506.8 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4

En détaillant un peu plus, toujours pas de trace du To manquant

Bloc de code:
iMac:~ ******$ diskutil ap list
APFS Container (1 found)
|
+-- Container disk1 B37AECDB-BDC4-4DB2-B194-664BC5B4B119
    ====================================================
    APFS Container Reference:     disk1
    Size (Capacity Ceiling):      999995129856 B (1000.0 GB)
    Capacity In Use By Volumes:   971723976704 B (971.7 GB) (97.2% used)
    Capacity Not Allocated:       28271153152 B (28.3 GB) (2.8% free)
    |
    +-< Physical Store disk0s2 00000E8D-2805-0000-4778-0000742A0000
    |   -----------------------------------------------------------
    |   APFS Physical Store Disk:   disk0s2
    |   Size:                       999995129856 B (1000.0 GB)
    |
    +-> Volume disk1s1 7C606C84-DC42-39C1-B17B-B5C98AF93148
    |   ---------------------------------------------------
    |   APFS Volume Disk (Role):   disk1s1 (No specific role)
    |   Name:                      MACINTOSH (Case-insensitive)
    |   Mount Point:               /
    |   Capacity Consumed:         968839344128 B (968.8 GB)
    |   FileVault:                 No
    |
    +-> Volume disk1s2 ECFF2D16-B6DB-473E-845F-C5E1CCDD87E2
    |   ---------------------------------------------------
    |   APFS Volume Disk (Role):   disk1s2 (Preboot)
    |   Name:                      Preboot (Case-insensitive)
    |   Mount Point:               Not Mounted
    |   Capacity Consumed:         22519808 B (22.5 MB)
    |   FileVault:                 No
    |
    +-> Volume disk1s3 753AB824-B126-41F7-8808-E49AD1F535FF
    |   ---------------------------------------------------
    |   APFS Volume Disk (Role):   disk1s3 (Recovery)
    |   Name:                      Recovery (Case-insensitive)
    |   Mount Point:               Not Mounted
    |   Capacity Consumed:         506830848 B (506.8 MB)
    |   FileVault:                 No
    |
    +-> Volume disk1s4 E2DC5EF0-8BAD-4BC0-A942-5C1E88245CFB

L'utilitaire de disque ne m'est pas d'un grand secours.

Je ne sais pas quoi faire pour récupérer ce To à part tout réinstaller.:(

edit : on ne peut pas éditer le titre ?
Il faut bien lire APFS et non AFPS
 
Dernière édition:
Bonjour Raoul

Tente la commande (copier-coller) :
Bloc de code:
diskutil ap resizeContainer disk1 0b ; diskutil list

  • la commande récupère l'espace libre disponible (s'il en existe en-dessous de la partition principale du disque) > puis réaffiche le tableau des disques

Poste l'ensemble de l'affichage obtenu --> on verra à quoi s'en tenir.
 
voilà le résultat.

Bloc de code:
iMac:~ *****$ diskutil ap resizeContainer disk1 0b ; diskutil list
Started APFS operation
Error: -69524: Unable to get APFS Container resize limit information
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *2.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         1000.0 GB  disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1000.0 GB  disk1
                                 Physical Store disk0s2
   1:                APFS Volume MACINTOSH               968.9 GB   disk1s1
   2:                APFS Volume Preboot                 22.5 MB    disk1s2
   3:                APFS Volume Recovery                506.8 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4
 
Apparemment > des informations sur les limites de redimensionnement du Conteneur --> ne sont pas disponibles.

Passe la commande (simplement informative) :
Bloc de code:
diskutil ap resizeContainer disk0s2 limits

  • la commande affiche un tableau des limites inférieure & supérieure d'extension du Conteneur

Poste le retour.
 
Apparemment > des informations sur les limites de redimensionnement du Conteneur --> ne sont pas disponibles.

Passe la commande (simplement informative) :
Bloc de code:
diskutil ap resizeContainer disk0s2 limits

  • la commande affiche un tableau des limites inférieure & supérieure d'extension du Conteneur

Poste le retour.


la commande me retourne une erreur




Bloc de code:
iMac:~ ********$ diskutil ap resizeContainer disk0s2 limits
Error obtaining resize limits information: Unable to get APFS Container resize limit information (-69524)
 
Bon : il semble qu'il y ait une erreur interne à l'apfs --> ce qui doit verrouiller le Conteneur apfs en taille.

Laissons ce point de côté pour l'instant : il serait intéressant de vérifier par ailleurs s'il y a bien 1 To de blocs libres quelque part sur le disque -->

- pour cela il faut passer une commande qui requiert que le SIP (protocole de sécurisation) ne soit pas activé (sinon il dénie l'accès en lecture des blocs du disques).
Donc passe la commande préalable :
Bloc de code:
csrutil status

  • qui affiche l'état du SIP

Poste le retour.
 
Enabled = activé.

----------

Pour désactiver le SIP > redémarre > les 2 touches ⌘R (cmd R) tenues pressées de l'écran noir => à la  = démarrage sur l'OS de secours. Tu obtiens un écran affichant une fenêtre de 4 Utilitaires macOS. Va à la barre de menus supérieure de l'écran > Menu Utilitaires > sous-menu : Terminal.

Lance-le et passe la commande :
Bloc de code:
csrutil disable

  • qui désactive le SIP

Cela fait > quitte le Terminal > va à : Menu  > Disque de démarrage > sélectionne MACINTOSH > redémarre dessus.

----------

De retour dans ta session > 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

Poste le tableau.
 
Bloc de code:
 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  1953115488      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
  1953525128  1953504007        
  3907029135          32         Sec GPT table
  3907029167           1         Sec GPT header
 
Hé ! hé ! cette ligne -->
Bloc de code:
  1953525128  1953504007

  • déclare qu'à partir du bloc n°1953525128 (= 1er bloc vacant après la partition de type apfs) > existe une bande de 1953504007 blocs (de 512 octets = 1000.19 Go). La 1ère commande de récupération d'espace que je t'ai passée aurait récupéré cet espace libre > si une erreur dans l'apfs ne proscrivait tout redimensionnement du Conteneur (faute d'informations disponibles sur ses limites d'extension)

Passe la commande :
Bloc de code:
diskutil verifyVolume disk1

  • qui vérifie le Conteneur apfs > puis ses 4 volumes dans l'ordre de leurs index

Poste l'affichage retourné.
 
même message que précédemment :(
Je te remercie de ton aide en tout cas. Je dois partir sinon je vais rater mon train. On remet ça demain hein ?;)

Bloc de code:
iMac:~ *****$ diskutil verifyVolume disk1
Started file system verification on disk1
Verifying storage system
Using live mode
Performing fsck_apfs -n -x -l /dev/disk0s2
Checking the container superblock
Checking the EFI jumpstart record
Checking the space manager
Checking the space manager free queue trees
Checking the object map
Checking volume
Checking the APFS volume superblock
The volume MACINTOSH was formatted by hfs_convert (945.200.129) and last modified by apfs_kext (945.260.7)
Checking the object map
Checking the snapshot metadata tree
Checking the snapshot metadata
Checking snapshot 1 of 4
error: apfs_root: btn: invalid o_oid (0x20f24)
Snapshot is invalid
The volume /dev/disk0s2 could not be verified completely
Storage system check exit code is 0
Finished file system verification on disk1
 
La seule solution : cloner le volume MACINTOSH => dans un volume indépendant de format apfs > démarrer sur le clone > supprimer / recréer l'apfs de la partition MACINTOSH > cloner à rebours le clone => MACINTOSH > démarrer sur MACINTOSH > supprimer le clone > récupérer son espace. Gain : un volume de 2 To + un format apfs sans erreur.

Comme tu as une énorme quantité de données dans MACINTOSH : 969 Go --> la faisabilité de mon scénario suppose -->

- a) soit que tu disposes d'un DDE USB avec au moins 1 To d'espace disponible

- b) alternative : qu'on recrée une partition à partir des actuels 1 To de blocs libres > avec un volume indépendant dédié au clone

=> à toi de voir ce qui te convient le mieux.
 
J'en suis arrivé à la même conclusion en parcourant le net et en bidouillant ce matin.

Je pensais refaire une clean install et récupérer les données via time machine. Ce qui me chagrine, c'est que je ne sais pas si la sauvegarde Time Machine est correct. L'utilisateur de la machine m'a dit qu'il avait une sauvegarde mais j'ai un doute.
Du coup, ta solution B m'interesse, mais pas pour faire un clone, juste pour récupérer l'espace disque. L'utilisateur pourrait stocker une partie de ses données sur cette partition. Ceci dit, ça ne corrige pas le problème d'apfs.

Du coup, il me reste la solution A.
J'ai un disque externe de 2To mais, loi de Murphy oblige, j'ai récupéré ce matin, un portable qui doit partir en garantie. Mon disque est donc utiliser actuellement pour faire une sauvegarde Time Machine de cette machine.:(

Je veux bien que tu me dises comment recréer une partition à partir des actuels 1 To de blocs libres. Une fois que j'aurai l'assurance que la sauvegarde Time Machine est correct, j'essayerai bien ta solution b.
 
Il faut que tu démarres en mode secours local - une implémentation de Mojave faisant que l'OS de secours du volume apfs Recovery se trouve cloné à la volée en RAM et le Mac démarré sur la RAM en indépendance du disque. À partir de là > on peut éditer la table de partition GPT du disque interne - édition qui suppose qu'aucun volume dépendant de ce disque ne soit monté => afin que la GPT soit désactivée.

- question : peux-tu redémarrer actuellement ? où bien as-tu une sauvegarde en cours ?​
 
Je te passe le tuto qui va te permettre de poster les informations de base depuis la session de secours -->

- démarre les 2 touches ⌘R (cmd R) tenues pressées jusqu'à l'affichage d'une  = démarrage sur l'OS de secours. Tu obtiens un écran affichant une fenêtre de 4 Utilitaires macOS. Va à la barre de menus supérieure de l'écran > menu : Utilitaires > sous-menu : Terminal.

Dans la fenêtre ouverte > passe la commande  :
Bloc de code:
diskutil list

  • tu vas voir s'afficher le tableau des disques attachés au Mac (en interne / externe) > avec leurs configurations
  • une série de micro-disques correspond à des images-disques créées en RAM à l'occasion du démarrage en mode Recovery > dont les volumes sont montés en lecture & écriture à l'espace de dossiers de l'OS de secours qui leur servent de points de montage. Ce qui permet pendant le fonctionnement de cet OS monté en lecture seule > à des écritures de s'effectuer à l'espace des dossiers où se trouvent montés les volumes des images-disques de la RAM. Ces images-disques s'effacent à l'extinction ou au re-démarrage.

Voici comment tu vas pouvoir poster ici ce tableau sans avoir besoin de prendre de photo -->
  • tu sélectionnes le tableau > ⌘C pour le copier dans le presse-papier > ⌘Q pour quitter le «Terminal» > option  : "Obtenir de l'aide en ligne" (dans la fenêtre des 4 Utilitaires) > ce qui lance un navigateur «Safari» 
  • page Apple par défaut > un clic sur l'adresse de haut de page pour l'éditer > saisis  : macgénération (tout court  : c'est une barre de recherche Google) et valide > tu atteins le site MacGé > Forums > te connectes > ce fil  > tu colles dans une fenêtre de code

=> ces informations me montreront si tu es démarré sur un OS de secours cloné en RAM.

Note 1 : si tu ne peux pas poster via le Safari de la session de secours (ça arrive) --> poste une photo du tableau (à partir du commencement = le disque /dev/disk0 ou disque physique interne) - tu as un bouton : "Transférer un fichier" en bas de cette page.

Note 2 : dans la session de secours > les applications se lancent en mode "alternatif" et pas parallèle. Il faut quitter le Terminal pour lancer Safari. Vice-versa > quitter Safari pour récupérer l'écran général de la session de secours et pouvoir relancer le Terminal. Aucun redémarrage n'est requis.
 
désolé de ne pas avoir répondu plus tôt mais j'ai été pas mal dérangé cet aprem.

J'ai lancé une sauvegarde Time Machine en début d'apres midi donc pour le moment, je ne peux rien faire.
Je ferai ça lundi car demain, je suis sur un autre site.