disparition de refind au demarrage

simsimhof

Membre enregistré
7 Décembre 2017
1
0
26
Bonjour,
j'ai 2 os (macOS et linux) sur mon mac et jusque là je pouvais choisir au demarrage avec refind, mais depuis quelques temps il n'apparait pas au demarrage et le mac boot directement sur MacOS. J'ai essayé d'appuyer sur alt pour choisir la partition avec linux mais seule la partition mac apparait. Si quelqu'un peut m'aider...
Merci d'avance!
 
Salut simsimhof

Le gestionnaire de démarrage «rEFInd» installe ses exécutables > dont son boot_loader refind_x64.efi destiné à intercepter le boot de l'EFI > dans le volume de l'ESP (EFI_System_Partition) : la partition disk0s1 de 209,7 Mo de type EFI > dont le volume (monté dans le temps du boot) s'intitule aussi EFI. Cette partition n'est jamais montée dans le temps de la session d'utilisateur.

Pour que l'EFI (ici = le programme de boot du Mac résidant dans une puce de la Carte-Mère et lancé par le bouton "Power") aille automatiquement exécuter le boot_loader refind_x64.efi dans le volume de l'ESP --> il faut que soit inscrit en NVRAM > à la variable : efi-boot-device > un chemin exécutif qui pointe sur ce boot_loader de «rEFInd».

Or il suffit de faire une MÀJ interne à l'OS installé > ou une mise-à-niveau d'une version de macOS à une autre > pour que le chemin exécutif à la variable efi-boot-device soit modifié pour pointer sur le boot_loader boot.efi soit de l'OS d'installation > soit ensuite de l'OS installé. Et hop ! «rEFInd» devient introuvable > parce que son boot_loader n'est plus la cible exécutive forcée de l'EFI.

Il faut savoir en outre que > si on change d'un OS pré-"SIPien" (si je puis m'exprimer ainsi) = un OS antérieur à «El Capitan 10.11» > à un OS "SIPien" (à partir d'«El Capitan» compris) --> le protocole de sécurisation de la configuration SIP (qui s'exécute au démarrage) ne se contente pas de verrouiller le Logiciel-Système de l'OS une fois démarré > il verrouille aussi la variable efi-boot-device en NVRAM contre toute manipulation tierce, même en droits root (dont celle de «rEFInd»).

----------

Pour savoir où tu en es actuellement dans ce contexte plutôt complexe > je t'invite à aller à : Applications > Utilitaires > pour lancer le «Terminal» (ton goût pour Linux en faisant a priori un de tes amis - je n'en doute pas-
361608_original.png
).

Dans fenêtre ouverte > saisis (l'une après l'autre) les 2 commandes simplement informatives :
Bloc de code:
nvram -p
csrutil status
et ↩︎ (presse la touche "Entrée" du clavier après chaque commande pour l'exécuter)

  • la 1ère retourne le tableau des variables de la NVRAM avec les arguments actuellement associés
  • la 2è > le statut actuel du SIP

=> tu n'as qu'à poster ici ces 2 informations en copier-coller > mais attention ! > pour bien faire ton coller -->

  • dans la page de ce fil de MacGé > presse le bouton (carré avec une croix inscrite - juste au milieu de la largeur de la fenêtre totale) dans la barre de menus au-dessus du champ de saisie d'un message > 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 2 informations répondront pratiquement à l'essentiel du problème (et si tu as suivi mon petit laïus initial > tu devrais avoir déjà à l'esprit la solution théorique).
 
Bonjour,
Je me permets de rebondire sur ce vieux thread car j'ai exactement le même problème que simsimhof, qui semble t'il n'a pas été résolu :

J'ai récupéré un macbook pro 2008 avec refit/refind installé + windows 10, l'écran de démarrage était bien visible au démarrage, mais depuis que j'ai fait la mise à jour vers la nouvelle version de l'Os El Capitan, je ne peux plus accéder à l'écran de démarrage dual boot.

Je poste directement les infos demandées par macomaniac pour que celui ci ou un autre utilisateur au fait de mon problème puisse me venir en aide rapidement :

Bloc de code:
MacBook-Pro-de-moise:~ moise$ nvram -p
SystemAudioVolume 4
boot-gamma %10%06%00%00%84%9c%00%00%00%00%00%00%fe%00%00%00%00%00%00%00%13%00%01%05z%00B%0a5%02%03%0eX%04%04%13%c7%08%05%17%aa%0d%07%1c%1d%15%8a)%7f,%0d6%15@%[email protected]%feZ%15V?hYf[y]u%9a%86%a3%8c%c4%9d%a7%9d%fd%ae%ad%b6%c1%c9%f3%cf%ec%de%fc%f2%d4%f5%ff%fc%1e%fa%11%00%01%05%85%00%02%0a#%02C%0e%87%04D%13%ed%08%05%17Q%0d%07%1cj%14J*%d7+%8e;gCRJ%89UYg%c3t%9exA%84'%9d%d6%a7%ad%b7%10%c6%f3%cf%e0%dc%b8%e1%b7%ea%fd%f6=%f9%fe%fb%bb%fe%15%00%01%06v%00%03%0c%fe%01D%11_%04%c5%16H%08G%1c%81%0dJ*%0d%1d%cf<40Yf%e4U%a0%82#m%25%96%d8z%a8%a2%9f%84%ad%b6G%95%b1%c4p%a27%dc%c2%bb%f9%e7x%c9%fd%f4Y%da%fe%f8%f2%e1%fe%fbw%ea%ff%fcu%ee%ff%fd%80%f3%ff%fe]%fa
backlight-level u%03
bluetoothInternalControllerInfo %13%82%ac%05%00%00%11%06%00#l%a5M%03
prev-lang:kbd fr:1
EFICapsule_Result STAR
SystemAudioVolumeDB %00
efi-boot-device <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>00001791-51D9-0000-CE19-0000F51F0000</string></dict></dict><key>BLLastBSDName</key><string>disk0s2</string></dict></array>%00
fmm-computer-name MacBook Pro de moise
bluetoothActiveControllerInfo %13%82%ac%05%00%00%00%00%11%06%00#l%a5M%03
efi-boot-device-data %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%00%0b%03%12%0a%00%00%00%00%00%00%00%04%01*%00%02%00%00%00(@%06%00%00%00%00%00%98*O%09%00%00%00%00%91%17%00%00%d9Q%00%00%ce%19%00%00%f5%1f%00%00%02%02%7f%ff%04%00
csr-active-config w%00%00%00
LocationServicesEnabled %01
MacBook-Pro-de-moise:~ moise$ csrutil status
System Integrity Protection status: disabled.
MacBook-Pro-de-moise:~ moise$
MacBook-Pro-de-moise:~ moise$

Merci d'avance
 
Bonsoir Ledouarec

Passe la commande :
Bloc de code:
diskutil list

  • et poste le tableau des disques --> que j'avise d'abord la configuration du disque interne.
 
Bonjour macomaniac,

Ok voici le résultat de la commande diskutil :

Bloc de code:
Last login: Tue Jul 23 15:49:09 on ttys000
MacBook-Pro-de-moise:~ moise$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *320.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Mac                     319.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
 
Tu n'as plus de partition BOOTCAMP - à ce que je vois.

Passe les commande (copier-coller - une à la fois) :
Bloc de code:
diskutil mount disk0s1 ; ls /Volumes/EFI/EFI
nvram efi-boot-device

  • la 1ère monte le volume EFI de l'ESP (EFI_System_Partition) > puis liste les objets de 1er rang contenus dans le répertoire parent EFI de ce volume EFI
  • la 2è affiche le chemin de démarrage automatique pour l'EFI (programme interne de boot du Mac, ici) > assigné à la variable : efi-boot-device (appareil de boot de l'EFI) de la NVRAM

Poste les 2 retours.
 
Bonjour macomaniac,

Merci pour tes précisions, je n'avais pas de notifs de réponse, bizarre...

Voici le résultat :
Bloc de code:
Last login: Mon Jul 29 08:54:34 on ttys000
MacBook-Pro-de-moise:~ moise$ diskutil mount disk0s1 ; ls /Volumes/EFI/EFI
Volume EFI on disk0s1 mounted
APPLE    refind    tools
MacBook-Pro-de-moise:~ moise$ nvram efi-boot-device
efi-boot-device    <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>00001791-51D9-0000-CE19-0000F51F0000</string></dict></dict><key>BLLastBSDName</key><string>disk0s2</string></dict></array>%00
MacBook-Pro-de-moise:~ moise$
 
Les 2 dossiers refind & tools contiennent les ressources de rEFInd. Opérationnelles normalement au démarrage > car alors le volume EFI se trouve automatiquement monté.

Quant au chemin de boot automatique de l'EFI en NVRAM > rédigé dans un sabir informatique décourageant --> il peut se résumer à cette mention :
Bloc de code:
<string>disk0s2</string>

  • où tu notes qu'il s'agit de la partition qui porte le volume Mac

Or pour que rEFInd se trouve activé au démarrage du Mac > il faut qu'une adresse d'exécution automatique soit inscrite en NVRAM (à la variable : efi-boot-device) > pointant au boot_loader : refind_x64.efi localisé at: /Volumes/EFI/EFI/refind/refind_x64.efi.

J'espère que le SIP (protocole de sécurité) est désactivé pour ton Mac > car sinon il interdit une action manuelle (via un terminal) --> sur la valeur de la variable efi-boot-device en NVRAM.

(on ne relèvera jamais assez combien toute progression de la sécurité informatique se fait de manière inversement proportionnelle au détriment de la liberté de l'utilisateur. Donc plus il y a de sécurité et moins il y a de liberté ou encore : plus il y a de SIP > moins il y a de liberté. Le prochain OS Catalina étant destiné à ravir le ruban bleu - ou le pompon - de ce point de vue.)

----------

Je te propose de rectifer le chemin de démarrage en NVRAM par la commande suivante (copier-coller - copie-la bien jusqu'au --shortform final) :
Bloc de code:
sudo diskutil mount disk0s1 ; sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/refind/refind_x64.efi --shortform

  • la commande remonte le volume EFI de l'ESP (au cas où il aurait été démonté) > puis re-rédige le chemin de démarrage automatique de l'EFI en NVRAM => pour qu'il pointe à nouveau sur le démarreur refind_x64.efi de rEFInd. Elle passe sans retour déclaratif, si elle passe.

Si tel a été le cas > repasse la commande :
Bloc de code:
nvram efi-boot-device

  • et poste le tableau de la variable efi-boot-device de la NVRAM. Si le SIP est activé --> rien ne se sera passé...
 
on ne relèvera jamais assez combien toute progression de la sécurité informatique se fait de manière inversement proportionnelle au détriment de la liberté de l'utilisateur

Tout à fait d'accord avec toi :facepalm: On peut d'ailleurs dire ça pour la sécurité de manière générale... enfin bon c'est un autre sujet.

J'ai copié-collé la commande en question, il me demande un password avec une icone de clef

Bloc de code:
Last login: Tue Jul 30 09:12:45 on ttys000
MacBook-Pro-de-moise:~ moise$ sudo diskutil mount disk0s1 ; sudo bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/EFI/refind/refind_x64.efi --shortform
Password:
Sorry, try again.
Password:
 
Lorsque tu passes une commande préfacée de sudo (qui équivaut ici à faire exécuter la commande qui suit avec l'identité substituée de root - le System Adminstrator)=> une demande de password s'affiche -->

- tape ton mot-de-passe de session admin en aveugle - aucun caractère ne se montrant à la frappe - et revalide.​
 
Ok c'est passé, après la 2ème commande j'ai cette variable :
Bloc de code:
Volume EFI on disk0s1 mounted
MacBook-Pro-de-moise:~ moise$ nvram efi-boot-device
efi-boot-device    <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>00006DE1-286D-0000-403E-0000D71B0000</string></dict></dict><key>IOEFIShortForm</key><true/><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\refind\refind_x64.efi</string></dict></array>
MacBook-Pro-de-moise:~ moise$
 
Ok c'est passé, après la 2ème commande j'ai cette variable :

Bloc de code:
Volume EFI on disk0s1 mounted
MacBook-Pro-de-moise:~ moise$ nvram efi-boot-device
efi-boot-device    <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>00006DE1-286D-0000-403E-0000D71B0000</string></dict></dict><key>IOEFIShortForm</key><true/><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\refind\refind_x64.efi</string></dict></array>
MacBook-Pro-de-moise:~ moise$
 
Cette mention locale dans le chemin de démarrage automatique de la NVRAM -->
Bloc de code:
<string>\EFI\refind\refind_x64.efi</string>

  • montre qu'il pointe bien désormais au démarreur refind_x64.efi du volume EFI => rEFInd doit donc être opérationnel au prochain redémarrage

Donc redémarre (sans option au clavier) --> est-ce que tu obtiens l'écran de rEFInd ?
 
Ok merci macomaniac pour la marche à suivre pas à pas, il y a bien l'écran de REfind maintenant au démarrage :up:

En revanche quand je clique sur le bouton Boot EFI, il m'ouvre un écran avec ReFit, et les 2 écrans sont en boucle. (voir images en bas)

La prochaine étape pour moi est donc d'installer Windows sur la partition libre si ce n'est pas le cas (cela était censé être fait par l'ancien propriétaire). Comment m'y prendre ?
En sachant que j'ai un windows1064bits.iso sur le bureau de l'Os X

Merci pour ta patience.

pmvx.jpg


94ix.jpg
 
Tu dois avoir effectué une installation additionnelle de rEFIt > et rEFInd effectue une bascule sur rEFIt quand tu actives l'option des 2 flèches en orange -->

- rEFIt doit être installé quelque part dans ton volume de démarrage Mac. Il serait bon que tu le supprimes > car ce logiciel n'est plus développé : c'est rEFInd qui a pris le relais avec Rod Smith.​

----------

Pour une installation de Windows > je ne suis pas compétent dans le détail technique (car je n'utilise pas cet OS) -->

- je te conseille de créer un nouveau sujet sur le forum : Windows sur Mac.​
 
- rEFIt doit être installé quelque part dans ton volume de démarrage Mac. Il serait bon que tu le supprimes > car ce logiciel n'est plus développé : c'est rEFInd qui a pris le relais avec Rod Smith.

Ah oui je vois... Comment le supprimer proprement ? je le mets juste dans la corbeille ?

Pour une installation de Windows > je ne suis pas compétent dans le détail technique (car je n'utilise pas cet OS) -->

Ok merci pour le conseil, je vais voir de ce coté là du forum.
 
Bonjour,
J'avais (ah) un double boot avec refind Debian / MAc mais comme le sujet de ce post l'indique je n'arrive plus à booter sur la mac
je joins une copie d'écran de mes partitions...
lorsque que j'allume l'ordi j'ai le choix entre les deux versions mac 32 ou 64 bit MAC OS mais aucune ne fonctionne... (je précise que c sont des lignes et non pas l'interface de efi)
Voilà donc je me demande pourquoi REFind a disparu...
et comment puis-je le réparer
Cordialement
 

Fichiers joints

  • Partitions.png
    Partitions.png
    175 KB · Affichages: 249
Je dois souvent faire sudo refind-mkdefault pour réinstaller refind. Les mises à jour Pop! OS me le font sauter puisqu'il n'est pas installé par défaut avec cette distrib !
Dès fois il me faut aussi faire sudo refind-install

Quand le boot a sauté, je dois appuyer sur F12 pour choisir le bon menu.
 
Bonjour et bonne année,
J'ai eu le même problème que Ledouarec. En fait je l'ai à chaque mise à jour de l'OS : je perds mon rEFInd au démarrage. J'ai appliqué la méthode décrite ci-dessus par macomaniac avant-hier encore. mon rEFInd était réapparu avec succès. J'avais pu travailler sur ma partition Ubuntu sans problème. Malheureusement lorsque j'ai redémarré mon ordi, là le rEFInd avait de nouveau disparu et chose plus étrange le système se connecter automatiquement sur la partition Ubuntu. Après avoir fait un redémarrage en mode recovery j'ai réussi à revenir sur ma session MacOS mais là je n'ai de nouveau plus de rEFInd, pourtant en lançant les lignes de commande macomaniac j'ai, il me semble, les bons résultats. Auriez-vous des idées pour résoudre le pb?

A titre info, je vous livre les résultats de me lignes de commande sur le terminal :
Bloc de code:
iMac-de-Lino:~ lino$ 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            414.7 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:                  Apple_HFS Recovery HD             650.0 MB   disk0s4
   5:                 Linux Swap                         13.8 GB    disk0s5
   6:       Microsoft Basic Data                         69.8 GB    disk0s6

iMac-de-Lino:~ lino$ nvram efi-boot-device
efi-boot-device    <array><dict><key>IOMatch</key><dict><key>IOProviderClass</key><string>IOMedia</string><key>IOPropertyMatch</key><dict><key>UUID</key><string>7195FBBC-595B-484E-88A1-59BEA649B652</string></dict></dict><key>IOEFIShortForm</key><true/><key>BLLastBSDName</key><string>disk0s1</string></dict><dict><key>IOEFIDevicePathType</key><string>MediaFilePath</string><key>Path</key><string>\EFI\refind\refind_x64.efi</string></dict></array>%00
iMac-de-Lino:~ lino$ diskutil mount disk0s1 ; ls /Volumes/EFI/EFI
Volume on disk0s1 failed to mount
If the volume is damaged, try the "readOnly" option
ls: /Volumes/EFI/EFI: No such file or directory
iMac-de-Lino:~ lino$ sudo diskutil mount disk0s1 ; ls /Volumes/EFI/EFI
Password:
Volume EFI on disk0s1 mounted
APPLE    BOOT    refind    tools    ubuntu
iMac-de-Lino:~ lino$ 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            414.7 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:                  Apple_HFS Recovery HD             650.0 MB   disk0s4
   5:                 Linux Swap                         13.8 GB    disk0s5
   6:       Microsoft Basic Data                         69.8 GB    disk0s6
 
Bonsoir Lino

Une fois les dossier de rEFInd (refind & tools) présents dans le volume EFI de la partition-système de l'EFI (disk1s1) - ce qui est le cas chez toi ;

- tout se joue dans l'instruction portée en NVRAM à la variable : efi-boot-device (appareil de démarrage automatique de l'EFI) => qui oriente le boot automatique du programme interne du Mac. Le chemin actuellement porté que j'abrège :​
Bloc de code:
<string>disk0s1</string>    <string>\EFI\refind\refind_x64.efi</string>
  • montre bien que l'EFI doit aller dans le temps du boot à l'appareil disk0s1 (monté alors par défaut comme volume EFI) > dossier EFI > sous-dossier refind > boot_loader : refind_x64.efi

Ça devrait fonctionner actuellement - non ?

Note : à chaque installation d'OS ou de mise-à-jour > le programme d'installation change l'instruction de l'efi-boot-device en NVRAM pour que le Mac redémarre automatiquement sur l'OS d'installation présent dans un dossier macOS Install Data du volume cible. Il faut donc chaque fois après restaurer l'instruction de l'efi-boot-device => pour lui refaire pointer sur le démarreur de rEFInd. La désactivation du SIP est bien entendue requise pour pouvoir manipuler manuellement l'efi-boot-device.