10.14 Mojave Probleme de partition apres clonage SSD

Le disque de 500 Go attaché en externe > tu n'as qu'à passer la commande :
Bloc de code:
diskutil list

  • et poster le tableau --> que je sois sûr des index des disques.

Dans le cadre du scénario A) => on peut ensuite vérifier le contenu du volume EFI de chaque disque > puis la structure des tables HMBR du bloc 0 de chacun.
 
Le disque de 500 Go attaché en externe > tu n'as qu'à passer la commande :
Bloc de code:
diskutil list

  • et poster le tableau --> que je sois sûr des index des disques.

Dans le cadre du scénario A) => on peut ensuite vérifier le contenu du volume EFI de chaque disque > puis la structure des tables HMBR du bloc 0 de chacun.
Et voici le tableau :
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 disk1         801.3 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                198.2 GB   disk0s3

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

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                 Apple_APFS Container disk3         300.7 GB   disk2s2
   3:       Microsoft Basic Data BOOTCAMP                199.2 GB   disk2s3

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +300.7 GB   disk3
                                 Physical Store disk2s2
   1:                APFS Volume Macintosh HD            287.2 GB   disk3s1
   2:                APFS Volume Preboot                 29.6 MB    disk3s2
   3:                APFS Volume Recovery                511.8 MB   disk3s3
   4:                APFS Volume VM                      1.1 GB     disk3s4
 
Alors passe les commandes :
Bloc de code:
diskutil mount disk2s1
ls -R /Volumes/EFI
diskutil mount disk0s1
ls -R /Volumes/"EFI 1"

  • la 1ère monte le volume EFI du disque de 500 Go
  • la 2è liste récursivement son contenu
  • la 3è monte le volume EFI du disque de 1 To (monté en avec le même intituté EFI qu'un volume déjà monté > il prend alors un index différenciateur => EFI 1
  • la 4è liste récursivement son contenu

Poste les 2 tableaux affichés.
 
Alors passe les commandes :
Bloc de code:
diskutil mount disk2s1
ls -R /Volumes/EFI
diskutil mount disk0s1
ls -R /Volumes/"EFI 1"

  • la 1ère monte le volume EFI du disque de 500 Go
  • la 2è liste récursivement son contenu
  • la 3è monte le volume EFI du disque de 1 To (monté en avec le même intituté EFI qu'un volume déjà monté > il prend alors un index différenciateur => EFI 1
  • la 4è liste récursivement son contenu
Poste les 2 tableaux affichés.
diskutil mount me retourne :
Bloc de code:
Volume on disk2s1 failed to mount
If the volume is damaged, try the "readOnly" option
Pareil pour l'autre volume
 
Ah ! pardon : j'oublie toujours --> avec les nouveaux OS (depuis 10.13) > il faut sudo pour une commande de montage du volume EFI. Voici les commandes éditées -->
Bloc de code:
sudo diskutil mount disk2s1
ls -R /Volumes/EFI
sudo diskutil mount disk0s1
ls -R /Volumes/"EFI 1"
 
Ah ! pardon : j'oublie toujours --> avec les nouveaux OS (depuis 10.13) > il faut sudo pour une commande de montage du volume EFI. Voici les commandes éditées -->
Bloc de code:
sudo diskutil mount disk2s1
ls -R /Volumes/EFI
sudo diskutil mount disk0s1
ls -R /Volumes/"EFI 1"
Voila pour disk2s1 :
Bloc de code:
EFI

/Volumes/EFI/EFI:
APPLE

/Volumes/EFI/EFI/APPLE:
EXTENSIONS    FIRMWARE

/Volumes/EFI/EFI/APPLE/EXTENSIONS:
Firmware.scap

/Volumes/EFI/EFI/APPLE/FIRMWARE:
MBP91_00D7_B00.scap
macbook-pro:~ Datis$ sudo diskutil mount disk0s1
Et disk0s1 :
Bloc de code:
BOOTLOG    EFI

/Volumes/EFI 1/EFI:
APPLE

/Volumes/EFI 1/EFI/APPLE:
CACHES        EXTENSIONS    FIRMWARE

/Volumes/EFI 1/EFI/APPLE/CACHES:
CAFEBEEF

/Volumes/EFI 1/EFI/APPLE/CACHES/CAFEBEEF:

/Volumes/EFI 1/EFI/APPLE/EXTENSIONS:
Firmware.scap

/Volumes/EFI 1/EFI/APPLE/FIRMWARE:
MBP91_00DA_B00.scap
 
On sait que sur le disque dont le volume BOOTCAMP est démarrable (le 500 Go) --> le volume EFI ne contient absolument aucun exécutable qui puisse servir à un démarrage spécifique de Windows. Certitude négative : ce volume ne joue aucun rôle.


Pour ce qui est des tables de partitions HMBR du bloc 0 de chaque disque -->

a) passe la commande :
Bloc de code:
sudo gdisk /dev/disk2

  • qui fait ouvrir à gdisk les tables de partition du 500 Go
  • puis enchaîne les commandes en validant chaque fois :
Bloc de code:
r
o

  • passage en mode récupération
  • ouverture de la table de partition MBR du bloc 0 --> tu obtiens un tableau.
----------

b) tu quittes gdisk par la commande q et valider. Puis tu passes la commande :

Bloc de code:
sudo gdisk /dev/disk0

  • qui fait ouvrir à gdisk les tables de partition du 1 To
  • puis enchaîne les commandes en validant chaque fois :
Bloc de code:
r
o

  • passage en mode récupération
  • ouverture de la table de partition MBR du bloc 0 --> tu obtiens un tableau.
----------

Poste les 2 tableaux des tables de partition HMBR.
 
On sait que sur le disque dont le volume BOOTCAMP est démarrable (le 500 Go) --> le volume EFI ne contient absolument aucun exécutable qui puisse servir à un démarrage spécifique de Windows. Certitude négative : ce volume ne joue aucun rôle.


Pour ce qui est des tables de partitions HMBR du bloc 0 de chaque disque -->

a) passe la commande :
Bloc de code:
sudo gdisk /dev/disk2

  • qui fait ouvrir à gdisk les tables de partition du 500 Go
  • puis enchaîne les commandes en validant chaque fois :
Bloc de code:
r
o

  • passage en mode récupération
  • ouverture de la table de partition MBR du bloc 0 --> tu obtiens un tableau.
----------

b) tu quittes gdisk par la commande q et valider. Puis tu passes la commande :

Bloc de code:
sudo gdisk /dev/disk0

  • qui fait ouvrir à gdisk les tables de partition du 1 To
  • puis enchaîne les commandes en validant chaque fois :
Bloc de code:
r
o

  • passage en mode récupération
  • ouverture de la table de partition MBR du bloc 0 --> tu obtiens un tableau.
----------

Poste les 2 tableaux des tables de partition HMBR.
disk2 :
Bloc de code:
Number  Boot  Start Sector   End Sector   Status      Code
   1                     1       409639   primary     0xEE
   2                409640    587714559   primary     0xFF
   3      *      587714560    976773119   primary     0x0C
disk0 :
Bloc de code:
Number  Boot  Start Sector   End Sector   Status      Code
   1                     1   1565388799   primary     0xEE
   2      *     1565388800   1952516609   primary     0x07
 
Il y a 3 partitions décrites dans la HMBR du 500 Go -->

  • la 1 est la partition de type EFI avec un hex code 0xEE valide et un comput de blocs de 512 octets de 409640 = 209,7 Mo valide
  • la 2 est la partition de type Apple_APFS avec un hex code 0xFF valide et un comput de blocs de 512 octets de 587304920 = 300,7 Go valide
  • la 3 est la partition de type Microsotf Basic Data avec un hex code 0x0C inédit à ma connaissance et un comput de blocs de 512 octets de 389058559 = 199,18 Go valide
----------

Il y a 2 partitions décrites dans la HMBR du 1 To -->

  • la 1 est la partition de type EFI avec un hex code 0xEE valide et un comput de blocs de 512 octets de 1565388800 = 801,5 Go invalide
  • la 2 est la partition de type Microsoft Basic Data avec un hex code 0x07 qui est le standard pour ce type et un comput de blocs de 512 octets de 387127809 = 198,2 Go valide
----------

Voici ce qui ressort --> il faudrait supprimer / recréer la table HMBR du 1 To en veillant cette fois-ci à -->

  • décrire 3 partitions : EFI > APFS > BOOTCAMP => afin d'éviter qu'une bande de blocs de 801,5 Go soit décrite comme relevant d'un type EFI 0xEE
  • affecter à la partition BOOTCAMP > pour le type Microsoft Basic Data --> le hex code spécifique 0x0C. Je me demande en effet > si ce n'est pas une variante d'hex code dédiée à un boot en mode Legacy (et pas UEFI).
 
Il y a 3 partitions décrites dans la HMBR du 500 Go -->

  • la 1 est la partition de type EFI avec un hex code 0xEE valide et un comput de blocs de 512 octets de 409640 = 209,7 Mo valide
  • la 2 est la partition de type Apple_APFS avec un hex code 0xFF valide et un comput de blocs de 512 octets de 587304920 = 300,7 Go valide
  • la 3 est la partition de type Microsotf Basic Data avec un hex code 0x0C inédit à ma connaissance et un comput de blocs de 512 octets de 389058559 = 199,18 Go valide
----------

Il y a 2 partitions décrites dans la HMBR du 1 To -->

  • la 1 est la partition de type EFI avec un hex code 0xEE valide et un comput de blocs de 512 octets de 1565388800 = 801,5 Go invalide
  • la 2 est la partition de type Microsoft Basic Data avec un hex code 0x07 qui est le standard pour ce type et un comput de blocs de 512 octets de 387127809 = 198,2 Go valide
----------

Voici ce qui ressort --> il faudrait supprimer / recréer la table HMBR du 1 To en veillant cette fois-ci à -->

  • décrire 3 partitions : EFI > APFS > BOOTCAMP => afin d'éviter qu'une bande de blocs de 801,5 Go soit décrite comme relevant d'un type EFI 0xEE
  • affecter à la partition BOOTCAMP > pour le type Microsoft Basic Data --> le hex code spécifique 0x0C. Je me demande en effet > si ce n'est pas une variante d'hex code dédiée à un boot en mode Legacy (et pas UEFI).
D'accord, je comprends mieux. Je suis donc prêt pour la manip!
 
Alors passe une commande :
Bloc de code:
sudo gdisk /dev/disk0

  • qui ouvre les tables de partitions du disque de 1 To

Poste le tableau retourné.
 
Alors passe une commande :
Bloc de code:
sudo gdisk /dev/disk0

  • qui ouvre les tables de partitions du disque de 1 To

Poste le tableau retourné.
Et voici:
Bloc de code:
Partition table scan:
  MBR: hybrid
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with hybrid MBR; using GPT.
 
On voit qu'il y a toujours la HMBR sur le bloc 0.

Inspire-toi du descriptif suivant indiquant après les laïus successifs de gdisk --> la commande (une seule lettre le + souvent ) que tu dois saisir puis valider chaque fois -->
Bloc de code:
Command (? for help): r
Recovery/transformation command (? for help): h
WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.
Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y
Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default FF): FF
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default 07): 0C
Set the bootable flag? (Y/N): y
Unused partition space(s) found. Use one to protect more partitions? (Y/N): n
Recovery/transformation command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/disk0.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.

Soit la suite de commandes :
Bloc de code:
r
h
2
y
FF
n
0C
y
n
w
y

  • comme je rédige tout ça de tête > je peux m'être planté pour le hex code qui te sera proposé pour la partition n°2 (= type APFS) --> j'ai mis FF : si ce n'est pas le code proposé --> mets celui de gdisk.
  • par contre > le hex code proposé pour la partition n°3 (BOOTCAMP) sera 07 --> inscrit à la place 0C (0 = zéro) conformément à ce qu'on a vu pour la table HMBR du disque de 500 Go.
Cela fait > redémarre une fois > de retour dans ta session > relance un :
Bloc de code:
sudo gdisk /dev/disk0

  • puis les commandes :
Bloc de code:
r
o

  • pour ouvrir la table de partition HMBR dans le mode Recovery

Poste le tableau alors retourné.
 
Dernière édition par un modérateur:
J'ai fait une erreur ! --> à cette ligne :
Bloc de code:
Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3

  • il faut que tu inscrives :
Bloc de code:
2 3

  • séparés par un espace > au lieu du seul -->
Bloc de code:
2
de départ

  • il s'agit des rangs des 2 partitions APFS & BOOTCAMP à inscrire dans la HMBR > gdisk proposant toujours par défaut de rajouter la n° 1 EFI
  • si tu n'as pas encore écrit la table (via w & y) --> tape
Bloc de code:
q

  • et valide pour quitter gdisk. Puis relance-le et suis le tuto (j'ai édité l'entrée fautive). Si tu as créé la table > relance gdisk et réécris tout.
 
On voit qu'il y a toujours la HMBR sur le bloc 0.

Inspire-toi du descriptif suivant indiquant après les laïus successifs de gdisk --> la commande (une seule lettre le + souvent ) que tu dois saisir puis valider chaque fois -->
Bloc de code:
Command (? for help): r
Recovery/transformation command (? for help): h
WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
just hit the Enter key at the below prompt and your MBR partition table will
be untouched.
Type from one to three GPT partition numbers, separated by spaces, to be
added to the hybrid MBR, in sequence: 2 3
Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y
Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default FF): FF
Set the bootable flag? (Y/N): n
Creating entry for GPT partition #3 (MBR partition #3)
Enter an MBR hex code (default 07): 0C
Set the bootable flag? (Y/N): y
Unused partition space(s) found. Use one to protect more partitions? (Y/N): n
Recovery/transformation command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/disk0.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.

Soit la suite de commandes :
Bloc de code:
r
h
2
y
FF
n
0C
y
n
w
y

  • comme je rédige tout ça de tête > je peux m'être planté pour le hex code qui te sera proposé pour la partition n°2 (= type APFS) --> j'ai mis FF : si ce n'est pas le code proposé --> mets celui de gdisk.
  • par contre > le hex code proposé pour la partition n°3 (BOOTCAMP) sera 07 --> inscrit à la place 0C (0 = zéro) conformément à ce qu'on a vu pour la table HMBR du disque de 500 Go.
Cela fait > redémarre une fois > de retour dans ta session > relance un :
Bloc de code:
sudo gdisk /dev/disk0

  • puis les commandes :
Bloc de code:
r
o

  • pour ouvrir la table de partition HMBR dans le mode Recovery

Poste le tableau alors retourné.
Petit problème: lorsque je suis à l'étape
Bloc de code:
Creating entry for GPT partition #2 (MBR partition #2)
Enter an MBR hex code (default AF): 
Set the bootable flag? (Y/N): n
Il ne m'affiche pas
Bloc de code:
Creating entry for GPT partition #3 (MBR partition #3)
et me demande
Bloc de code:
Unused partition space(s) found. Use one to protect more partitions? (Y/N): n
et lorsque je réponds N, cela me retourne
Bloc de code:
Recovery/transformation command (? for help)
 
Lis mon message #198 --> je m'étais planté > en n'indiquant qu'un seul n° de partition à inscrire au lieu de 2. C'est pourquoi il ne t'est pas proposé de créer un 2è descripteur. J'ai édité depuis mon tuto du message #197.

Donc actuellement tape :
Bloc de code:
q

  • et valide pour quitter gdisk sans écrire de table. Puis repasse la commande :
Bloc de code:
sudo gdisk /dev/disk0

  • pour relancer gdisk > et suis de nouveau mon actuel tuto #197 que j'ai corrigé (recharge la page s'il le fallait).