web-dev-qa-db-fra.com

Le menu de récupération ne s'affiche pas sur une machine double Mac / Ubuntu

J'ai un petit problème avec rEFInd et je ne trouve pas quelque chose de spécifique à ce sujet.

J'ai installé avec succès Ubuntu 14.04 pour un double démarrage avec OS X Yosemite sur mon MacBook Pro 3.1 à l'aide de rEFInd, mais maintenant, après le démarrage dans Ubuntu, le menu rEFInd ne s'affiche pas après un redémarrage. Il va juste directement dans la boue. Après avoir redémarré sous OS X (en utilisant la clé d’option au démarrage) parfois rEFInd s’affiche, parfois non, ne peut pas comprendre comment il est déclenché.

Y a-t-il moyen de s'assurer que rEFInd arrive en premier, quel que soit le système d'exploitation que j'ai démarré auparavant?


Modifier

Utiliser efibootmgr -v me donne:

BootCurrent: 0001
Timeout: 5 seconds
BootOrder: 0001,0080,0000
Boot0000* opensuse-secureboot   HD(4,1962b000,4e800,11f33185-0ff8-493d-86bd-b9fee568adb8)File(\EFI\opensuse\shim.efi)
Boot0001* ubuntu    HD(1,28,64000,7e798e0a-82c3-4719-95ed-d79675efd190)File(\EFI\ubuntu\shimx64.efi)
Boot0080* Mac OS X  HD(1,28,64000,7e798e0a-82c3-4719-95ed-d79675efd190)File(\EFI\refind\refind_x64.efi)
Boot0081* Mac OS X ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000HD(2,64028,1d02ba00,0b1ce04a-50b7-40b5-94f0-1a255d748d15)
Boot0082* ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000HD(2,64028,19490d60,20cc89c9-1320-4d70-b8bb-fffdf9900374)
BootFFFF* ACPI(a0341d0,0)PCI(1f,2)03120a00000000000000HD(2,64028,19490d60,20cc89c9-1320-4d70-b8bb-fffdf9900374)File(\System\Library\CoreServices\boot.efi)

Si je configure le NextBoot avec l'option -n- sur 0080, après le redémarrage, rEFInd apparaît. La FFFF m'amène directement dans OSX. 0081 semble échouer.

Merci pour l'aide!

10
paulkernstock

Les systèmes d'exploitation réinitialisent parfois le programme de démarrage par défaut, en particulier s'ils mettent à niveau leurs chargeurs de démarrage standard. Il n'y a vraiment aucun moyen d'empêcher que cela se produise, vous devez donc simplement savoir comment corriger le problème lorsqu'il se produit. Sous Linux, cela se fait en utilisant le programme efibootmgr . Sous OS X, cela se fait via bless . Voir here pour plus d'informations sur efibootmgr.

Si ce jonglage se produit chaque fois que vous redémarrez, alors quelque chose ne va vraiment pas. Si Ubuntu réinitialise GRUB par défaut à chaque redémarrage, personnellement, je le supprimerais - mais je ne suis pas un fan de GRUB (assez pour que je veuille redéfinir faire de la recherche plutôt que de traiter avec GRUB). Je suppose que vous pouvez également appeler efibootmgr dans un script d'arrêt, mais cela risque de devenir déconnecté de la réalité et de causer des problèmes, je serais donc réticent à le faire .


EDIT:

Oui, changer la variable BootOrder (via l'option -o en efibootmgr) comme vous le suggérez est approprié. Vous pouvez supprimer l'entrée OpenSUSE avec:

Sudo efibootmgr -b 0 -B

Des fichiers OpenSUSE installés peuvent être supprimés à l’aide de rm - probablement Sudo rm -r /boot/efi/EFI/opensuse d’Ubuntu. (Ces fichiers ne devraient pas causer de dommages en soi, mais ils pourraient prêter à confusion ou être réactivés par accident dans le futur.) Vous pouvez supprimer Ubuntu GRUB de la même manière, bien -installed if/when Ubuntu le mettra à jour ultérieurement. Aussi, le garder comme une méthode de sauvegarde de démarrage peut avoir un sens.

Si vous laissez GRUB d'Ubuntu installé mais que vous ne voulez pas le voir dans le menu de rEFInd, vous pouvez utiliser dont_scan_dirs ou dont_scan_files dans refind.conf (probablement /boot/efi/EFI/refind/refind.conf dans Ubuntu) pour masquer l'entrée GRUB.

11
Rod Smith

Cela m'est arrivé et je l'ai corrigé avec ce qui suit pendant que j'étais sous Ubuntu (ceci est spécifique à votre cas car votre démarrage Ubuntu est Boot0001*):

Sudo efibootmgr -o 80,1

Si vous tapez à nouveau Sudo efibootmgr, votre ordre de démarrage devrait maintenant être BootOrder: 0080,0001. Cela garantit que Mac est démarré en premier et que, puisque rEFInd a été installé sur Mac, il devrait d'abord apparaître.

8
iDuran