10.13 High Sierra iMac bloqué par MaJ MacOS

Voici comment tu vas pouvoir fournir les informations de base (tuto) -->

- 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 > 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 CoreStorage si présent > Conteneur apfs si présent
  • 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 
  • dans cette page de MacGé > presse le bouton
    524315_original.png
    ici :
    521520_original.png

    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 montreront la configuration logique de ton disque.

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.
 
Et voilà les infos !


Bloc de code:
-bash-3.2# diskutil list

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        +2.1 GB     disk1
   1:                  Apple_HFS OS X Base System        2.0 GB     disk1s1

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *63.3 GB    disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS USB64                   62.4 GB    disk2s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk2s3

/dev/disk3 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +5.2 MB     disk3

/dev/disk4 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk4

/dev/disk5 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk5

/dev/disk6 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk6

/dev/disk7 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk7

/dev/disk8 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk8

/dev/disk9 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk9

/dev/disk10 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +12.6 MB    disk10

/dev/disk11 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk11

/dev/disk12 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +1.0 MB     disk12

/dev/disk13 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk13

/dev/disk14 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk14

/dev/disk15 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk15

/dev/disk16 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +1.0 MB     disk16

/dev/disk17 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +6.3 MB     disk17

/dev/disk18 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +6.3 MB     disk18

/dev/disk19 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +524.3 KB   disk19

/dev/disk20 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               +2.1 MB     disk20

-bash-3.2#
 
Alors passe la commande exacte :
Bloc de code:
rm /Volumes/"Macintosh HD"/var/db/caches/opendirectory/*

  • mets "Macintosh HD" avec les "" ; pas d'espace (!) entre HD" et la / qui suit ; il y a bien un astérisque * à la fin
  • la commande supprime le cache mbr_cache du Service d'Annuaire > dont la corruption ralentit dramatiquement l'initialisation de l'OS > et bloque le LoginWindow en fin de chargement. Elle passe normalement sans commentaire (retour direct de -bash-3.2#) > mais un bogue de la commande rm dans le terminal de la session de secours --> induit parfois un faux message d'erreur.

=> indique si tu as eu un retour ou aucun.
 
Parfait !

Passe encore la commande :
Bloc de code:
kextcache -u /Volumes/"Macintosh HD"

  • la commande met-à-jour le cache prelinkedkernel > chargé par le lanceur boot.efi au démarrage

=> est-ce que tu as obtenu un retour de cette commande ?
 
Bien.

Alors il ne te reste plus qu'à tenter ta chance -->

  • va à : Menu  > Disque de démarrage > sélectionne Macintosh HD > démarre dessus

=> tu n'auras qu'à dire si tu as obtenu l'écran d'ouverture de session en fin de chargement de l'OS et si tu as pu réouvrir ta session.
 
Ça marche ! Tu es mon HÉ-ROS ! :D
Qu'est-ce qu'il s'est passé en fait ? Et est-ce que j'ai quelque chose d'autre à faire ?
 
Content pour toi !

- tu es la énième victime des loupés de programmation de High Sierra - spécifiquement de son Service d'Annuaire. Une corruption de son cache (mbr_cache) induit une pénible intialisation de l'OS par le serveur launchd > avec blocage final à la clé du LoginWindow (qui gère l'écran d'ouverture de session). La suppression de ce cache corrompu a rétabli la finalisation du démarrage de l'OS.​

Tu ferais bien d'avoir un autre DDE dans le volume duquel tu aurais une sauvegarde (tenue à jour) de Macintosh HD (clone ou TM). En cas de coup dur --> tu peux récupérer la sauvegarde.
 
Merci pour tout Macomaniac, je pense que je vais investir dans un second DD en effet ;)
T'es un chef, encore merci pour cette aide très détaillée et ces explications !