10.13 High Sierra Dual Boot El Capitan / High SIerra

Bon bon bon bon bon...

Maintenant que tu m'as aidé à créer cette partition faisant tourner High Sierra sur ce MBP mid-2012, j'ai besoin de savoir comment je la supprime (tout allait très bien, mais c'était juste pour tester).

Depuis la partition El Capitan, j'ai voulu passer par l'Utilitaire de Disque > partitionner > supprimer la partition contenant High Sierra.
Je te le donne en mille : j'obtiens une erreur.

j'ai essayé la même opération depuis l'Utilitaire de Disque de la partition Recovery (alt au démarrage)
Selon lui je devrais activer la journalisation, mais rien n'y fait, je ne peux pas supprimer cette partition.

J'obtiens ceci dans le terminal :

Bloc de code:
MBP-de-Anne:~ ***$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *480.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            399.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4: 7C3457EF-0000-11AA-AA11-00306543ECAC               80.0 GB    disk0s4

Autrement dit, la partition High Sierra est... HS :)

J'ai trouvé un souci similaire dans ce fil

Mais lorsque je veux entrer la commande "diskutil partitionDisk disk0 gpt jhfs+ "Macbook HD" 100%" depuis le terminal du clône, j'ai une erreur, il n'est pas capable de démonter le disque.

Il devrait bien être possible d'effacer complètement ce disque et de rétro-cloner ?
Ou de juste supprimer cette partition (ce qui m'arrangerait)...

Dans l'attente, je vais aller flâner du côté des sujets sur APFS

Merci d'avance !
 
Voici les commandes :
Bloc de code:
diskutil eraseVolume free null disk0s4
diskutil resizeVolume disk0s2 0b

  • la 1ère supprime la partition disk0s4 (ci-devant High Sierra) et la vire à de l'espace libre
  • la 2è récupère cet espace libre à la partition principale disk0s2

=> ça été rapide comme test de High Sierra...
361608_original.png
 
Bloc de code:
MBP-de-Anne:~ ***$ diskutil eraseVolume free null disk0s4
Started erase on disk0s4
Unmounting disk
Finished erase on disk0
MBP-de-Anne:~ ***$ diskutil resizeVolume disk0s2 0b
Resizing to full size (fit to fill)
Started partitioning on disk0s2 Macintosh HD
Verifying the disk
Verifying file system
Using live mode
Performing live verification
Checking Journaled HFS Plus volume
Checking extents overflow file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Volume bitmap needs minor repair for orphaned blocks
Invalid volume free block count
File system check exit code is 8
Error: -69803: Couldn't modify partition map because file system verification failed; please verify and repair each volume individually and then try again
MBP-de-Anne:~ ***$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *480.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            399.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

o_O
J'ai donc lancé le "S.O.S." depuis Utilitaire de disques, mais j'arrive au même résultat (soit dit en passant, mais tu le savais sans doute déjà, la partition de 80Go n'apparaît pas dans utilitaire de disques,)

=> ça été rapide comme test de High Sierra...
361608_original.png

Je dois rendre l'ordi à son propriétaire demain et les instructions étaient claires : remplacer le SSD et c'est tout.
Par contre ça m'a permis de constater que Photos, Mail, Word et Safari fonctionnent très bien (je pense que ce sont les 4 seules applications utilisées au quotidien par cet ordi ;) ) -> prochaine étape, convaincre la propriétaire de mettre l'OS à jour
 
Pour réparer le système de fichiers (qui est corrompu) -> tu dois re-démarrer en mode Recovery (via ⌘R) > lancer l'«Utilitaire de Disque» > et faire un S.O.S. sur Macintosh HD. Si tu obtiens le message : "Le Volume Macintosh HD paraît en bon état" --> la réparation est faite.

Re-démarre normalement > ta session ré-ouverte > passe uniquement la commande :
Bloc de code:
diskutil resizeVolume disk0s2 0b

et ça devrait être bon.

Note : on ne peut réparer un système de fichiers qu'en démontant le volume qu'il commande. D'où le démarrage alternatif ici afin de le permettre.

Et on ne peut re-dimensionner un volume > que si son système de fichiers JHFS+ est sans erreurs.
 
La mère d'Alex rentre demain : j'en connais un qui n'a pas envie qu'elle s'avise que de chantiers dantesques sont intervenus sur son Mac-
361608_original.png
 
@macomaniac les réflexes arrivent, je te jure, ils arrive(ro)nt

Bloc de code:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *480.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            479.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s4

Hah !! c'était un test ... :dead:

Moi qui ai suivie tout le film, la fin est tirée par les cheveux :banghead:

"Tout ça pour ça?"

Eh bien oui, mais j'ai beaucoup appris, et ça, ça n'a pas de prix :)

En espérant que ça puisse (peut-être) en aider d'autres à l'avenir !


La mère d'Alex rentre demain : j'en connais un qui n'a pas envie qu'elle s'avise que de chantiers dantesques sont intervenus sur son Mac-
361608_original.png

Je pense surtout qu'elle me sera éternellement reconnaissante d'avoir remplacé son HDD, la différence est... fulgurante !

Encore un grand merci macomaniac !
 
Je profite de la résolution « pratique » des problèmes (restituer à la mère d'Alex un Mac restauré à l'identique dans sa table de partition pour qu'elle n'y voie que du feu) > pour revenir sur une question « théorique » soulevée par le message #21.

Voici la table de partition du disque du Mac "vue" depuis l'OS El Capitan démarré du volume Macintosh HD :
Bloc de code:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *480.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            399.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4: 7C3457EF-0000-11AA-AA11-00306543ECAC               80.0 GB    disk0s4

On note évidemment que la partition n°4 se trouve bien identifiée en taille (80 Go) et en appareil (disk0s4) --> mais ni en type de partition ni en nom de volume : à la place on a un UUID 7C3457EF-0000-11AA-AA11-00306543ECAC.

Faut-il en tirer l'interprétation :
Autrement dit, la partition High Sierra est... HS :)

Non. C'est simplement que l'utilitaire diskutil d'El Capitan ne sait pas lire le type : Apple_APFS qui caractérise la partition n°4. Car c'est une version de cet utilitaire solidaire du format JHFS+ qui ignore encore tout de l'APFS. Il se débrouille donc comme il peut pour rendre compte de la partition n°4 > en remplaçant les paramètres qu'il ne sait pas lire par l'UUID de la partition. Rien ne permet donc de conclure qe la partition n°4 est HS : elle est simplement au-delà de la "compréhension logique" du diskutil d'El Capitan.

----------

lorsque je veux entrer la commande "diskutil partitionDisk disk0 gpt jhfs+ "Macbook HD" 100%" depuis le terminal du clône, j'ai une erreur, il n'est pas capable de démonter le disque.

Je suppose ici qu'Alex a un clone du volume Macintosh HD dans celui d'un DDE USB > et qu'il soit démarré sur ce clone au moment de cette tentative de commande.

Une commande :
Bloc de code:
diskutil partitionDisk disk0 gpt jhfs+ "Macbook HD" 100%

adressée au disque n°0 (premier disque) qui est le disque interne du Mac dont la table de partition correspond au tableau cité en premier ici --> est syntaxiquement (formellement) parlant correcte.

Régulièrement, l'utilitaire diskutil démonte tous les volumes montés sur les partitions d'un disque-cible > afin de désactiver les systèmes de fichiers correspondants, pour pouvoir effacer / recréer une table de partition. Car si un seul des systèmes de fichiers de partition est activé --> alors la table de partition GPT est considérée comme « busy » (occupée) et ne peut pas être effacée. La table GPT est « busy », parce que le kernel de l'OS démarré a monté les volumes sur les partitions correspondantes --> il charge donc pour ce faire la personnalité des systèmes de fichiers qui fondent ces volumes et pour charger cette personnalité > il emprunte l'entrée correspondante de la table de partition GPT. Donc le kernel refuse de lâcher prise, en somme.

Bon d'accord sur le principe général --> mais en quoi s'applique-t-il au cas particulier de ce disque-ci : le disk0, au vu de sa table de partition ?

  • le volume de la partition n°1 EFI n'est pas monté à cause du type Apple_Boot --> donc le système de fichiers FAT-32 de cette partition n'est pas actif
  • le volume de la partition n°2 Macintosh HD se laisse démonter sans difficulté --> donc le système de fichiers JHFS+ de cette partition se laisse désactiver
  • le volume de la partition n°3 Recovery HD n'est pas monté encore à cause du type Apple_Boot --> donc le système de fichiers JHFS+ de cette partition n'est pas actif
  • aucun volume High Sierra n'est monté sur la partition n°4 parce que le format du système de fichiers APFS n'est pas identifié. Donc ? --> donc : aucun système de fichiers n'est activé sur cette partition > occupant la table GPT parce que le kernel emprunte une entrée pour charger les données de la partition ? => apparemment oui > mais le service diskarbirationd de l'OS chargé de la probation des systèmes de fichiers des partitions (avant de refiler au kernel la tâche du montage en cas de probation réussie) n'a pas l'air de l'entendre ainsi : il doit se demander en boucle (ce qui est le propre d'un « daemon » : de tourner comme un derviche tourneur) quelle est l'identité du système de fichiers de la partition4 afin de lui faire passer l'examen. Ce qui suffit à occuper la table de partition GPT, puisque une de ses entrées reste empruntée par un processus d'accès à une partition. Donc même si aucun volume n'est monté sur la partition n°4 > un processus reste en accès continu à la partition et la table de partition ne peut pas être désactivée (càd : le disque entier ne peut pas être "démonté").

Pas de veine : ça y était presque. Il aurait suffi de reformater d'abord ou de supprimer la partition n°4 pour libérer la possibilité d'un retablage du disque. Mais une intervention bien lourde (retablage du disque > rétro-clonage du clone) > puisqu'à partir du moment où la partition n°4 est supprimée (= supprimée comme entrée de la table GPT et virée à de l'espace libre) --> la partition n°2 Macintosh HD peut récupérer cet espace.

À condition que le système de fichiers JHFS+ de cette partition soit sans erreur (sans quoi il ne peut pas être étiré pour s'étendre aux blocs libérés et les inclure dans la partition gérée.

----------

Oui, mais (dira l'« entomologiste » informatique) --> il y une partition intercalaire : la Recovery HD disk0s3 ! Comment il fait, le système de fichiers jhfs+ ancré sur l'en-tête de la partition disk0s2 > pour s'étirer aux 80 Go de blocs de l'ex-partition disk0s4 > puisqu'existe sur le chemin une espèce de mur logique : la partition disk0s3 de 650 Mo ?

Les ingénieurs informatiques sont fertiles en ruses apprises dans l'enfance, genre ici le jeu de pousse-pousse permettant de permuter la position de cases en plastique dans un cadre doté d'un espace vide. Application informatique du principe du pousse-pousse -->

  • diskutil crée en queue de disque un clone de la partition Recovery HD (donc un device disk0s4) > puis supprime l'original Recovery HD disk0s3 > de telle manière que les 80 Go de blocs libres constituent une bande continue allant du pied immédiat de la partition disk0s2 au commencement du clone Recovery HD disk0s4 > le système de fichiers jhfs+ de la partition disk0s2 est alors étiré pour couvrir les 80 Go de blocs libres contigus et les annexer à la partition disk0s2 dilatée > suite à quoi le clone Recovery HD disk0s4 se trouve recollé au pied de la partition disk0s2 aggrandie. Un re-démarrage permettant au kernel de renuméroter la partition Recovery HD comme disk0s3.
 
Dernière édition par un modérateur: