10.11 El Capitan Impossible de démarrer sur la partition de récupération

zeltron54

Membre expert
Club iGen
29 Mars 2008
3 494
585
Lorraine
Bonjour,
Un ami m'a confié son Imac 24 " début 2008 pour dépannage.
Le HDD interne fait un bruit d'enfer et n'est plus vu même dans le terminal. (HDD HS)

J'installe El Capitan sur un HDD externe pas de problème cela fonctionne y compris le démarrage sur la partition de récupération.

J'achète un SSD que je formate et sur lequel je clone avec CCC le HDD y compris, en fin de clonage, la partition de récupération.
La partition principale fonctionne.
Je décide d'activer le trim, pour cela il faut désactiver le SIP, mais pas moyen de démarrer sur la partition de récupération, elle apparait bien, je la sélectionne, la pomme apparait mais pas de barre de progression, après environ 3 mn le mac redémarre normalement.

J'ai réinstaller El Capitan par dessus, mais idem.

J'aimerai avoir une solution avant de l'ouvrir pour mettre le SSD à l'intérieur.

Merci d'avance.
 
Je transmet le tableau disques
Bloc de code:
Last login: Sat Sep 22 16:26:54 on console
iMac-de-Jean-Claude-2:~ jean-claude$ diskutil list
/dev/disk0 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS SSD 120                 119.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *0 B        disk1
iMac-de-Jean-Claude-2:~ jean-claude$
 
:coucou: zeltron

Redémarrer en pressant les touches ⌘R à partir de l'écran noir --> appelle un démarrage sur l'OS de secours de la partition auxiliaire associée au volume de démarrage enregistré -->

  • donc assure-toi que le volume externe SSD 120 ait bien d'abord été sélectionné comme volume de démarrage automatique pour l'EFI dans le panneau Disque de démarrage des Préférences Système (tu déverrouilles le cadenas > sélectionnes le volume > refermes le cadenas --> ce qui écrit à la NVRAM l'instruction correspondante)

=> tu redémarres donc ensuite avec ⌘R depuis l'écran noir > et tu tiens bon jusqu'à l'affichage d'une . Si le démarrage est super-lent --> c'est que tu es sur l'OS de secours.
 
Bonjour Macomaniac:coucou:
C'est bien le ssd qui est choisi comme disque de démarrage.
Le démarrage avec cmd +R ou avec alt puis choix de récupération me donne le même résultat.
le mac se lance , la pomme apparait puis plus rien, ça reste sur la pomme pendant 3mn puis il redémarre.

Par contre en écrivant je viens de penser à faire un reset PRAM.
Je tente !
 
Sinon : inspection du sujet récalcitrant --> passe les commandes :
Bloc de code:
diskutil mount disk0s3
ls -R /Volumes/Rec*
bless --info /Volumes/Rec*

  • la 1ère monte le volume Recovery HD sur la partition disk0s3
  • la 2è liste récursivement son contenu
  • la 3è affiche le chemin de démarrage inscrit sur son en-tête

Poste les 2 affichages retournés.
 
voila le résultat
Bloc de code:
iMac-de-Jean-Claude-2:~ jean-claude$ ls -R /Volumes/Rec*
System            com.apple.boot.S    com.apple.recovery.boot

/Volumes/Recovery HD/System:
Library

/Volumes/Recovery HD/System/Library:
CoreServices

/Volumes/Recovery HD/System/Library/CoreServices:
PlatformSupport.plist    SystemVersion.plist    boot.efi

/Volumes/Recovery HD/com.apple.boot.S:
Library    System    usr

/Volumes/Recovery HD/com.apple.boot.S/Library:
Preferences

/Volumes/Recovery HD/com.apple.boot.S/Library/Preferences:
SystemConfiguration

/Volumes/Recovery HD/com.apple.boot.S/Library/Preferences/SystemConfiguration:
com.apple.Boot.plist

/Volumes/Recovery HD/com.apple.boot.S/System:
Library

/Volumes/Recovery HD/com.apple.boot.S/System/Library:
PrelinkedKernels

/Volumes/Recovery HD/com.apple.boot.S/System/Library/PrelinkedKernels:
prelinkedkernel

/Volumes/Recovery HD/com.apple.boot.S/usr:
standalone

/Volumes/Recovery HD/com.apple.boot.S/usr/standalone:
i386

/Volumes/Recovery HD/com.apple.boot.S/usr/standalone/i386:
EfiLoginUI

/Volumes/Recovery HD/com.apple.boot.S/usr/standalone/i386/EfiLoginUI:
Lucida13.efires        disk_passwordUI.efires    recoveryUI.efires
Lucida13White.efires    flag_picker.efires    recovery_user.efires
appleLogo.efires    guest_userUI.efires    sound.efires
battery.efires        loginui.efires        unknown_userUI.efires

/Volumes/Recovery HD/com.apple.recovery.boot:
BaseSystem.chunklist    SystemVersion.plist    prelinkedkernel
BaseSystem.dmg        boot.efi
PlatformSupport.plist    com.apple.Boot.plist
iMac-de-Jean-Claude-2:~ jean-claude$ bless --info /Volumes/Rec*
finderinfo[0]:     79 => Blessed System Folder is /Volumes/Recovery HD/com.apple.recovery.boot
finderinfo[1]:     80 => Blessed System File is /Volumes/Recovery HD/com.apple.recovery.boot/boot.efi
finderinfo[2]:      0 => Open-folder linked list empty
finderinfo[3]:     79 => Alternate OS blessed file/folder is /Volumes/Recovery HD/com.apple.recovery.boot
finderinfo[4]:      0 => Unused field unset
finderinfo[5]:     79 => OS X blessed folder is /Volumes/Recovery HD/com.apple.recovery.boot
64-bit VSDB volume id:  0x79258AD0EE20DD4C
iMac-de-Jean-Claude-2:~ jean-claude$

Il doit pointer sur le HDD depuis lequel j'ai fait le clone !
 
Dernière édition:
Il y a 2 dossiers dans le volume Recovery HD -->

  • com.apple.boot.S est un dossier dit « booter » > dont la fonction est de prédémarrer le volume de démarrage > dès lors qu'il dépend d'une architecture CoreStorage (chiffrée ou non). Comme le format du volume de démarrage est jhfs+ (sans CoreStorage) --> on a donc affaire ici à un dossier cloné depuis un autre disque > sur lequel le volume de démarrage était l'hôte d'un CoreStorage. Il faut donc supprimer ce dossier.
  • com.apple.recovery.boot est le dossier de l'OS de secours démarrable. Il contient tous les ingrédients d'un démarrage : lanceur boot.efi > fichiers de vérification SystemVersion.plist & PlatformSupport.plist > fichier d'instruction de boot com.apple.Boot.plist > cache de démarrage prelinkedkernel > image-disque contenant l'OS de secours BaseSystem.dmg > fichier listant les ressources de l'image-disque BaseSystem.chunklist

Le chemin de démarrage inscrit sur l'en-tête du volume Recovery HD --> pointe sur le lanceur boot.efi du dossier com.apple.recovery.boot = chemin valide.

Passe les commandes (copier-coller) :
Bloc de code:
sudo rm -rf /Volumes/"Recovery HD"/com.apple.boot.S
defaults read /Volumes/"Recovery HD"/com.apple.recovery.boot/SystemVersion.plist ProductVersion

  • la 1ère supprime le dossier « booter » obsolète
  • la 2è affiche la version de l'OS de secours démarrable

Poste les retours.
 
J'ai loupé pour poster les retours, trop pressé d'essayé, désolé, les commandes étaient passées sans problème.
Donc ne fonctionne toujours pas. je te remets les tableaux des 2 commandes .
Bloc de code:
iMac-de-Jean-Claude-2:~ jean-claude$ ls -R /Volumes/Rec*
System            com.apple.recovery.boot

/Volumes/Recovery HD/System:
Library

/Volumes/Recovery HD/System/Library:
CoreServices

/Volumes/Recovery HD/System/Library/CoreServices:
PlatformSupport.plist    SystemVersion.plist    boot.efi

/Volumes/Recovery HD/com.apple.recovery.boot:
BaseSystem.chunklist    SystemVersion.plist    prelinkedkernel
BaseSystem.dmg        boot.efi
PlatformSupport.plist    com.apple.Boot.plist
iMac-de-Jean-Claude-2:~ jean-claude$ bless --info /Volumes/Rec*
finderinfo[0]:     79 => Blessed System Folder is /Volumes/Recovery HD/com.apple.recovery.boot
finderinfo[1]:     80 => Blessed System File is /Volumes/Recovery HD/com.apple.recovery.boot/boot.efi
finderinfo[2]:      0 => Open-folder linked list empty
finderinfo[3]:     79 => Alternate OS blessed file/folder is /Volumes/Recovery HD/com.apple.recovery.boot
finderinfo[4]:      0 => Unused field unset
finderinfo[5]:     79 => OS X blessed folder is /Volumes/Recovery HD/com.apple.recovery.boot
64-bit VSDB volume id:  0x79258AD0EE20DD4C
iMac-de-Jean-Claude-2:~ jean-claude$
 
Et le retour de :
Bloc de code:
defaults read /Volumes/"Recovery HD"/com.apple.recovery.boot/SystemVersion.plist ProductVersion

  • si le volume Recovery HD est toujours monté ? --> c'est pour savoir la version de l'OS de secours embarqué

Note : est-ce que tu veux qu'on s'amuse à supprimer / recréer à la main la partition de secours (via quelques commandes poilantes et le téléchargement d'un exécutable de 13 Ko) ?
 
La version système est comme dit au début 10.11.6 la dernière supporté par l' Imac.

Donc OK pour supprimer et refaire la partition. J'apprendrai en même temps :) et surtout que je lui rende un mac qui fonctionne bien :D
 
Le volume Recovery HD est supposé monté.

Passe les commandes :
Bloc de code:
mkdir ~/Desktop/RECO
sudo cp /Volumes/"Recovery HD"/com.apple.recovery.boot/BaseSystem.dmg /Volumes/"Recovery HD"/com.apple.recovery.boot/BaseSystem.chunklist ~/Desktop/RECO
sudo chflags -R nohidden ~/Desktop/RECO
ls ~/Desktop/RECO

  • la 1ère crée un dossier RECO sur le Bureau
  • la 2è y copie les items invisibles : BaseSystem.dmg & BaseSystem.chunklist
  • la 3è les rend visibles graphiquement (que tu puisses les contempler)
  • la 4è liste le contenu de RECO

Poste le retour de la 4è.
 
voila tous les retours
Bloc de code:
iMac-de-Jean-Claude-2:~ jean-claude$ mkdir ~/Desktop/RECO
iMac-de-Jean-Claude-2:~ jean-claude$ sudo mv /Volumes/"Recovery HD"/com.apple.recovery.boot/BaseSystem.dmg /Volumes/"Recovery HD"/com.apple.recovery.boot/BaseSystem.chunklist ~/Desktop/RECO
Password:
iMac-de-Jean-Claude-2:~ jean-claude$ sudo chflags -R nohidden ~/Desktop/RECO
iMac-de-Jean-Claude-2:~ jean-claude$ ls ~/Desktop/RECO
BaseSystem.chunklist    BaseSystem.dmg
iMac-de-Jean-Claude-2:~ jean-claude$
 
Bon : les 2 éléments sont présents dans le dossier RECO.

J'espère qu'on peut avec diskutil supprimer l'actuelle partition de secours (genre : pas d'effet de SIP collatéral). Essayons. Passe les commandes :
Bloc de code:
diskutil umount force disk0s3
diskutil eraseVolume free null disk0s3
diskutil resizeVolume disk0s2 0b
diskutil list

  • la 1ère démonte le volume Recovery HD
  • la 2è supprime la partition de secours
  • la 3è récupère son espace à la partition du volume démarré
  • la 4è réaffiche le tableau des disques

Si tu ne vois pas passer d'erreur > poste le nouveau tableau des disques > sinon l'affichage de l'erreur.
 
Ok voila le nouveau paysage
Bloc de code:
iMac-de-Jean-Claude-2:~ jean-claude$ diskutil list
/dev/disk0 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS SSD 120                 119.7 GB   disk0s2
/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *0 B        disk1
iMac-de-Jean-Claude-2:~ jean-claude$
 
Eh hop ! --> du balai (effrayant, non ?)

Voici le lien de téléchargement du fichier magique à présent : ☞dmtest☜ (clique le lien rouge)

  • télécharge l'archive > puis déplace le fichier dmtest dézippé (petit rectangle anthracite d'un fichier exécutable) --> dans le dossier RECO > à côté des 2 items déjà présents
  • ce programme créé à l'époque de Lion 10.7 > permet la création "Apple_conforme" d'une partition de secours (à l'emplacement qu'on veut sur le disque qu'on veut) > si (et seulement si) l'on dispose des 2 items : BaseSystem.dmg & BaseSystem.chunklist

Tout cela fait > passe la commande :
Bloc de code:
ls ~/Desktop/RECO

  • poste la liste que je vérifie si tout est prêt.
 
Bloc de code:
iMac-de-Jean-Claude-2:~ jean-claude$ ls ~/Desktop/RECO
BaseSystem.chunklist    BaseSystem.dmg        dmtest
iMac-de-Jean-Claude-2:~ jean-claude$ v
 
Mais c'est très joli tout ça, non ?

Passe la commande (copier-coller) :
Bloc de code:
sudo /Users/jean-claude/Desktop/RECO/dmtest ensureRecoveryPartition / /Users/jean-claude/Desktop/RECO/BaseSystem.dmg 0 0 /Users/jean-claude/Desktop/RECO/BaseSystem.chunklist

  • déroule bien cette commande à rallonges pour la copier
  • la commande crée une partition de secours 10.6 > de 650 Mo de taille > en disk0s3
  • si la commande passe > tu vas voir mouliner de l'affichage pendant un temps certain

Poste l'affichage retourné.
 
pas de problème c'est passé, je te mets les dernières lignes
Bloc de code:
  RecoveryPartitionBSD = disk0s3;
    RecoveryPartitionDADiskRef = "<DADisk 0x7f9718d23390 [0x7fff7a465440]>{id = /dev/disk0s3}";
}
<--[Local dmAsyncFinishedForDisk:mainError:detailError:dictionary:]
Creating recovery partition: finished
iMac-de-Jean-Claude-2:~ jean-claude$
ainsi que le new tableau

Bloc de code:
iMac-de-Jean-Claude-2:~ jean-claude$ diskutil list
/dev/disk0 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *120.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS SSD 120                 119.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *0 B        disk1
iMac-de-Jean-Claude-2:~ jean-claude$
tout à l'air OK, plus qu'a faire l'essai.
 
Et bien Non, il veut toujours pas.
avec alt il voit bien la partition de récup, je la sélectionne , il affiche la pomme puis rien au bout de 3 à 4 mn il redémarre tout seul sur la partition principale.