J'ai un petit problème avec rEFInd et je n'ai rien trouvé de spécifique à ce sujet.
J'ai réussi à installer 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 grub. Après avoir redémarré sous OS X (en utilisant la touche option au démarrage), parfois rEFInd apparaît, parfois non, ne pouvait pas comprendre comment il était déclenché.
Existe-t-il un moyen de s'assurer que rEFInd arrive en premier, quel que soit le système d'exploitation que j'ai démarré précédemment?
Éditer
L'utilisation 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 règle le NextBoot avec l' -n
option-0080, après le redémarrage, rEFInd apparaît. FFFF m'amène directement dans OSX. 0081 semble échouer.
Merci pour l'aide!
Réponses:
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 cela de se produire, vous devez donc simplement savoir comment corriger le problème lorsqu'il se produit. Sous Linux, cela se fait en utilisant le
efibootmgr
programme. Sous OS X, cela se fait viabless
. Voir ici pour en savoir plusefibootmgr
.Si ce jonglage se produit à chaque redémarrage, alors quelque chose ne va vraiment pas. Si Ubuntu réinitialise GRUB par défaut à chaque redémarrage, alors personnellement, je le supprimerais - mais je ne suis pas un fan de GRUB (assez pour que je bifurque rEFIt pour faire rEFInd plutôt que de traiter avec GRUB). Je suppose que vous pouvez aussi mettre un appel à
efibootmgr
dans un script d'arrêt, mais qui court le risque d'être déconnecté de la réalité et de causer des problèmes, donc je serais réticent à le faire.ÉDITER:
Oui, changer la
BootOrder
variable (via l'-o
optionefibootmgr
) comme vous le suggérez est approprié. Vous pouvez supprimer l'entrée OpenSUSE avec:Il peut y avoir des fichiers OpenSUSE installés que vous pouvez supprimer à l'aide
rm
- probablementsudo rm -r /boot/efi/EFI/opensuse
d'Ubuntu. (Ces fichiers ne devraient pas faire de mal en soi, mais ils pourraient prêter à confusion ou être réactivés accidentellement à l'avenir.) Vous pouvez supprimer Ubuntu GRUB de la même manière, bien qu'il puisse être réinstallé si / quand Ubuntu le met à jour à l'avenir. En outre, le conserver comme méthode de démarrage de sauvegarde 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
oudont_scan_files
dansrefind.conf
(probablement/boot/efi/EFI/refind/refind.conf
depuis Ubuntu) pour masquer l'entrée GRUB.la source
ro quiet splash nomodeset vt.handoff=7
qui sont les mêmes que dans GRUB.root={something}
spécificationrefind_linux.conf
? Sinon, il doit être ajouté. Vous devriez être en mesure de faire fonctionner cela en exécutant lemkrlconf
script fourni avec rEFInd, mais vous devrez probablement ajouter l'--force
option, comme danssudo mkrlconf --force
(mais peut-être avec le chemin complet versmkrlconf
). Si cela omet toujours l'root=
option, veuillez me montrer ce qui se passe lorsque vous tapezcat /proc/cmdline
.refind-linux.conf
que j'ai fait en utilisant votremkrlconf
-script a trois entrées avec uneroot=
-spécification (voir ici ). Dans GRUB2, j'ai dû ajouter l'optionnomodeset
pour faire fonctionner mon nVidia-GPU.cat /proc/comdline
me donne:BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=1b9ece72-754f-4f4b-85c0-5b5ed6fc89e1 ro quiet splash nomodeset vt.handoff=7
. Même si le processus de démarrage se bloque visuellement dans l'écran de démarrage rEFInd, le système semble démarrer, par exemple mon démon de contrôle des ventilateurs est en cours de démarrage et les ventilateurs ralentissent.Cela m'est arrivé et je l'ai corrigé avec ce qui suit dans Ubuntu (cela est spécifique à votre cas comme votre démarrage Ubuntu
Boot0001*
):Si vous tapez à nouveau
sudo efibootmgr
, votre ordre de démarrage devrait être maintenantBootOrder: 0080,0001
. Cela garantit que Mac est démarré en premier, et puisque rEFInd a été installé sur Mac, il devrait apparaître en premier.la source