10.14 Mojave Probleme de partition apres clonage SSD

Jolie corruption du type de la partition (dans son descripteur GPT).


Alors passe la commande préliminaire -->
Bloc de code:
diskutil umountDisk force disk0

  • qui démonte de force les volumes du disk0 et par là désactive la GPT

Poste le retour.
Bloc de code:
Forced unmount of all volumes on disk0 was successful
 
Alors passe la commande :
Bloc de code:
gpt remove -i 2 /dev/disk0

  • la commande supprime le descripteur de la partition n°2 dans la GPT

Poste le retour.
 
Parfait ! - après la décréation > la recréation (le marrant étant que les fichiers apfs écrits sur les blocs du disque attendent bien sagement - intouchés - qu'un descripteur valide veuille bien les reprendre en charge).

Repasse d'abord la commande :
Bloc de code:
diskutil umountDisk force disk0

  • qui redémonte les volumes montés (tout acte d'écriture à la GPT comme une suppression de descripteur réactivant la table et remontant les volumes montables)

Si tu obtiens bien encore un :
Bloc de code:
Forced unmount of all volumes on disk0 was successful

  • alors enchaîne avec la commande :
Bloc de code:
gpt add -b 409640 -s 587304920 -t 7C3457EF-0000-11AA-AA11-00306543ECAC -i 2 /dev/disk0

  • je te recommande de saisir la commande par un copier-coller à rebours (copier avec Safari > coller dans le terminal) comme tu sais le faire > avant de l'exécuter
  • la commande recrée un descripteur valide de la partition dans la GPT du disk0 : super-bloc = n° 409640 > extension = 587304920 blocs > type = 7C3457EF-0000-11AA-AA11-00306543ECAC (UUID du type Apple_APFS) > rang = n°2

Poste le bref retour.
 
Parfait ! - après la décréation > la recréation (le marrant étant que les fichiers apfs écrits sur les blocs du disque attendent bien sagement - intouchés - qu'un descripteur valide veuille bien les reprendre en charge).

Repasse d'abord la commande :
Bloc de code:
diskutil umountDisk force disk0

  • qui redémonte les volumes montés (tout acte d'écriture à la GPT comme une suppression de descripteur réactivant la table et remontant les volumes montables)

Si tu obtiens bien encore un :
Bloc de code:
Forced unmount of all volumes on disk0 was successful

  • alors enchaîne avec la commande :
Bloc de code:
gpt add -b 409640 -s 587304920 -t 7C3457EF-0000-11AA-AA11-00306543ECAC -i 2 /dev/disk0

  • je te recommande de saisir la commande par un copier-coller à rebours (copier avec Safari > coller dans le terminal) comme tu sais le faire > avant de l'exécuter
  • la commande recrée un descripteur valide de la partition dans la GPT du disk0 : super-bloc = n° 409640 > extension = 587304920 blocs > type = 7C3457EF-0000-11AA-AA11-00306543ECAC (UUID du type Apple_APFS) > rang = n°2
Poste le bref retour.
J'obtiens cette erreur:
Bloc de code:
gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device
 
Il y a une HMBR (Hybrid_MBR) sur le bloc 0 du disque ! - alors qu'on avait remis une PMBR (Protective_MBR). C'est cette table active en parallèle qui de la GPT qui a fait foirer précédemment le type du descripteur apfs > et qui bloque actuellement la recréation d'un descripteur valide dans la GPT.

Il faut reconvertir la HMBR du bloc 0 à une PMBR --> de manière à pouvoir recréer le descripteur apfs. Mais pour cela il faut pouvoir utiliser gdisk de Roderick Smith. Lequel est un exécutable tiers qu'il faut avoir sous la main...

  • as-tu ton ancien HDD démarrable > sur le volume duquel tu pourrais démarrer > ouvrir une session > installer gdisk > opérer la suppression de la HMBR > recréer le descripteur de la partition apfs ?
 
Il y a une HMBR (Hybrid_MBR) sur le bloc 0 du disque ! - alors qu'on avait remis une PMBR (Protective_MBR). C'est cette table active en parallèle qui de la GPT qui a fait foirer précédemment le type du descripteur apfs > et qui bloque actuellement la recréation d'un descripteur valide dans la GPT.

Il faut reconvertir la HMBR du bloc 0 à une PMBR --> de manière à pouvoir recréer le descripteur apfs. Mais pour cela il faut pouvoir utiliser gdisk de Roderick Smith. Lequel est un exécutable tiers qu'il faut avoir sous la main...

  • as-tu ton ancien HDD démarrable > sur le volume duquel tu pourrais démarrer > ouvrir une session > installer gdisk > opérer la suppression de la HMBR > recréer le descripteur de la partition apfs ?
Si tu parles bien de l'ancien disque de 500 GB oui il est bien demarrable, et si tu parles bien de ce gdisk : https://sourceforge.net/projects/gptfdisk/ il est deja installe
 
Alors attache en externe ton ancien HDD > démarre sur son volume --> quand tu auras ouvert ta session dans le volume externe --> passe la commande :
Bloc de code:
diskutil list

  • et poste le tableau des disques.

Note : est-ce que ce ne serait pas toi qui aurais utilisé gdisk pour recréer une HMBR sur le bloc 0 du SSD ?
 
Alors attache en externe ton ancien HDD > démarre sur son volume --> quand tu auras ouvert ta session dans le volume externe --> passe la commande :
Bloc de code:
diskutil list

  • et poste le tableau des disques.

Note : est-ce que ce ne serait pas toi qui aurais utilisé gdisk pour recréer une HMBR sur le bloc 0 du SSD ?
Voila ce qui s'affiche:
Bloc de code:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:       Microsoft Basic Data BOOTCAMP                198.2 GB   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_APFS Container disk2         300.7 GB   disk1s2
   3:       Microsoft Basic Data BOOTCAMP                199.2 GB   disk1s3

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +300.7 GB   disk2
                                 Physical Store disk1s2
   1:                APFS Volume Macintosh HD            282.1 GB   disk2s1
   2:                APFS Volume Preboot                 29.6 MB    disk2s2
   3:                APFS Volume Recovery                511.8 MB   disk2s3
   4:                APFS Volume VM                      1.1 GB     disk2s4
Et oui j'ai effectivement j'ai bien recréer un HMBR en utilisant gdisk (details page 4, message 12 je crois)
 
C'est la HMBR qui a fichu le bazar.

Alors tu appelles gdisk par la commande :
Bloc de code:
sudo gdisk /dev/disk0

  • poste le tableau affiché.
 
Hé ! hé ! --> voici la fautive :
Bloc de code:
  MBR: hybrid

  • alors tu enchaînes les commandes (en validant chaque fois) :
Bloc de code:
x
n
w
y
  • expert mode
  • new Protective_MBR
  • write la nouvelle table
  • yes (confirmation).

Cela fait > redémarre une fois > reviens dans ta session externe > repasse un :
Bloc de code:
sudo gdisk /dev/disk0

  • et poste le retour.
 
Hé ! hé ! --> voici la fautive :
Bloc de code:
  MBR: hybrid

  • alors tu enchaînes les commandes (en validant chaque fois) :
Bloc de code:
x
n
w
y
  • expert mode
  • new Protective_MBR
  • write la nouvelle table
  • yes (confirmation).
Cela fait > redémarre une fois > reviens dans ta session externe > repasse un :
Bloc de code:
sudo gdisk /dev/disk0
  • et poste le retour.
Bloc de code:
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
 
Parfait ! - alors les affaires reprennent.

Passe les 2 commandes (tu peux faire des copier-coller directs) -->
Bloc de code:
diskutil umountDisk force disk0
sudo gpt add -b 409640 -s 587304920 -t 7C3457EF-0000-11AA-AA11-00306543ECAC -i 2 /dev/disk0

  • tu dois t'authentifier pour le sudo de la 2è (sudo de rigueur avec gpt si on n'est pas dans un terminal de la session de secours)

Poste le retour de la 2è.
 
Parfait ! - alors les affaires reprennent.

Passe les 2 commandes (tu peux faire des copier-coller directs) -->
Bloc de code:
diskutil umountDisk force disk0
sudo gpt add -b 409640 -s 587304920 -t 7C3457EF-0000-11AA-AA11-00306543ECAC -i 2 /dev/disk0

  • tu dois t'authentifier pour le sudo de la 2è (sudo de rigueur avec gpt si on n'est pas dans un terminal de la session de secours)

Poste le retour de la 2è.
Voila:
Bloc de code:
/dev/disk0s2 added
Et diskutil list affiche bien le disque externe et le volume APFS maintenant :
Bloc de code:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk3         300.7 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                198.2 GB   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_APFS Container disk2         300.7 GB   disk1s2
   3:       Microsoft Basic Data BOOTCAMP                199.2 GB   disk1s3

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +300.7 GB   disk2
                                 Physical Store disk1s2
   1:                APFS Volume Macintosh HD            282.2 GB   disk2s1
   2:                APFS Volume Preboot                 29.6 MB    disk2s2
   3:                APFS Volume Recovery                511.8 MB   disk2s3
   4:                APFS Volume VM                      1.1 GB     disk2s4

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +300.7 GB   disk3
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            279.4 GB   disk3s1
   2:                APFS Volume Preboot                 33.2 MB    disk3s2
   3:                APFS Volume Recovery                512.2 MB   disk3s3
   4:                APFS Volume VM                      1.1 GB     disk3s4
 
Bien !

Passe la commande :
Bloc de code:
diskutil list

  • et poste le tableau --> que je contemple le nouveau paysage du SSD...
 
Bien !

Passe la commande :
Bloc de code:
diskutil list

  • et poste le tableau --> que je contemple le nouveau paysage du SSD...
diskutil list affiche bien le disque externe et le volume APFS maintenant :
Bloc de code:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk3         300.7 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                198.2 GB   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_APFS Container disk2         300.7 GB   disk1s2
   3:       Microsoft Basic Data BOOTCAMP                199.2 GB   disk1s3

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +300.7 GB   disk2
                                 Physical Store disk1s2
   1:                APFS Volume Macintosh HD            282.2 GB   disk2s1
   2:                APFS Volume Preboot                 29.6 MB    disk2s2
   3:                APFS Volume Recovery                511.8 MB   disk2s3
   4:                APFS Volume VM                      1.1 GB     disk2s4

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +300.7 GB   disk3
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            279.4 GB   disk3s1
   2:                APFS Volume Preboot                 33.2 MB    disk3s2
   3:                APFS Volume Recovery                512.2 MB   disk3s3
   4:                APFS Volume VM                      1.1 GB     disk3s4
 
Le Conteneur apfs a bien été redéployé > dès la recréation d'un descripteur valide de partition à partir du super-bloc 0 de l'apfs (ça me fait toujours poiler ces lapins qui sortent d'un chapeau de prestidigtateur).

Passe la commande :
Bloc de code:
diskutil ap resizeContainer disk3 0b

  • la commande récupère l'espace libre de 500 Go au Conteneur apfs du SSD

Poste l'affichage retourné - avec l'apfs ça peut toujours foirer.
 
Le Conteneur apfs a bien été redéployé > dès la recréation d'un descripteur valide de partition à partir du super-bloc 0 de l'apfs (ça me fait toujours poiler ces lapins qui sortent d'un chapeau de prestidigtateur).

Passe la commande :
Bloc de code:
diskutil ap resizeContainer disk3 0b

  • la commande récupère l'espace libre de 500 Go au Conteneur apfs du SSD

Poste l'affichage retourné - avec l'apfs ça peut toujours foirer.
ça a bien fonctionné mais j'ai eu une série de warning: inode_val je ne sais pas si c'est important je les mets au cas ou :
Bloc de code:
warning: inode_val: object (oid 0x101380f7c): invalid internal_flags (0x44000)
warning: inode_val: object (oid 0x101380f7c): invalid pad2 (0xd7c3a)
warning: inode_val: object (oid 0x101380f82): invalid internal_flags (0x44000)
warning: inode_val: object (oid 0x101380f82): invalid pad2 (0x18b25)
warning: inode_val: object (oid 0x101380f84): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380f84): invalid pad2 (0x614)
warning: inode_val: object (oid 0x101380f87): invalid internal_flags (0x44000)
warning: inode_val: object (oid 0x101380f87): invalid pad2 (0x770d0)
warning: inode_val: object (oid 0x101380f8e): invalid internal_flags (0x44000)
warning: inode_val: object (oid 0x101380f8e): invalid pad2 (0x21ba)
warning: inode_val: object (oid 0x101380f98): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380f98): invalid pad2 (0x15b)
warning: inode_val: object (oid 0x101380f9b): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380f9b): invalid pad2 (0x155)
warning: inode_val: object (oid 0x101380f9e): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380f9e): invalid pad2 (0x147)
warning: inode_val: object (oid 0x101380fa1): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fa1): invalid pad2 (0x163)
warning: inode_val: object (oid 0x101380fac): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fac): invalid pad2 (0x153)
warning: inode_val: object (oid 0x101380fb2): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fb2): invalid pad2 (0x157)
warning: inode_val: object (oid 0x101380fb5): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fb5): invalid pad2 (0x637)
warning: inode_val: object (oid 0x101380fbb): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fbb): invalid pad2 (0x1c04)
warning: inode_val: object (oid 0x101380fbd): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fbd): invalid pad2 (0x1bbe)
warning: inode_val: object (oid 0x101380fc0): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fc0): invalid pad2 (0x27f)
warning: inode_val: object (oid 0x101380fc2): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fc2): invalid pad2 (0x3396)
warning: inode_val: object (oid 0x101380fc4): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fc4): invalid pad2 (0x6dc)
warning: inode_val: object (oid 0x101380fc6): invalid internal_flags (0x44000)
warning: inode_val: object (oid 0x101380fc6): invalid pad2 (0x886a)
warning: inode_val: object (oid 0x101380fc8): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fc8): invalid pad2 (0x877)
warning: inode_val: object (oid 0x101380fca): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fca): invalid pad2 (0x39)
warning: inode_val: object (oid 0x101380fcb): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fcb): invalid pad2 (0x3e)
warning: inode_val: object (oid 0x101380fcc): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fcc): invalid pad2 (0xbf)
warning: inode_val: object (oid 0x101380fce): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fce): invalid pad2 (0x810)
warning: inode_val: object (oid 0x101380fd0): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fd0): invalid pad2 (0xbf4)
warning: inode_val: object (oid 0x101380fd2): invalid internal_flags (0x48000)
warning: inode_val: object (oid 0x101380fd2): invalid pad2 (0x51)
Checking the snapshot metadata tree
error: snap_metadata_val object (oid 0x3ae0f): invalid extentref_tree_oid (0x0)
Snapshot metadata tree is invalid
The volume /dev/disk0s2 could not be verified completely
Storage system check exit code is 0
Growing APFS Physical Store disk0s2 from 300,700,119,040 to 801,269,329,920 bytes
Modifying partition map
Growing APFS data structures
Finished APFS operation