Menu di ricerca non visualizzato su un doppio computer Mac / Ubuntu


10

Sto riscontrando un piccolo problema con rEFInd e non sono riuscito a trovare qualcosa di specifico al riguardo.

Ho installato con successo Ubuntu 14.04 per il doppio avvio con OS X Yosemite sul mio MacBook Pro 3.1 usando rEFInd ma ora dopo l'avvio in Ubuntu il menu rEFInd non viene visualizzato dopo un riavvio. Va direttamente in grub. Dopo aver riavviato nuovamente in OS X (usando il tasto opzione all'avvio) a volte rEFInd, a volte no, non è riuscito a capire come viene attivato.

Esiste un modo per garantire che rEFInd sia il primo a venire, indipendentemente dal sistema operativo che ho avviato in precedenza?


modificare

Usando efibootmgr -vmi dà:

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)

Se imposto NextBoot con l'opzione -op -nsu 0080, dopo il riavvio, viene visualizzato rEFInd. FFFF mi porta direttamente in OSX. 0081 sembra fallire.

Grazie per l'aiuto!


Qui sembra essere l'articolo ufficiale di rEFind: "Recuperare da un colpo di stato usando Linux" o "Usare efibootmgr per regolare la priorità di avvio" sarebbe di aiuto: rodsbooks.com/refind/bootcoup.html
kenju

Risposte:


11

I sistemi operativi a volte ripristinano il programma di avvio predefinito, in particolare se aggiornano i caricatori di avvio standard. Non c'è davvero modo di impedire che ciò accada, quindi devi semplicemente sapere come correggere il problema quando si verifica. In Linux, questo viene fatto usando il efibootmgrprogramma. In OS X, è fatto tramite bless. Vedi qui per maggiori informazioni efibootmgr.

Se questo giocoleria si verifica ogni volta che si riavvia, allora qualcosa è seriamente sbagliato. Se Ubuntu ripristina GRUB come predefinito su ogni riavvio, personalmente lo rimuoverei, ma non sono un fan di GRUB (abbastanza per cui ho biforcato rEFIt per creare rEFInd piuttosto che occuparmi di GRUB). Suppongo che potresti anche fare una chiamata efibootmgrin uno script di spegnimento, ma questo corre il rischio di disconnettersi dalla realtà e causare problemi, quindi sarei riluttante a farlo.


MODIFICARE:

Sì, la modifica della BootOrdervariabile (tramite l' -oopzione su efibootmgr) come suggerito è appropriata. Puoi cancellare la voce di OpenSUSE con:

sudo efibootmgr -b 0 -B

Potrebbero essere installati file OpenSUSE che è possibile eliminare utilizzando rm, probabilmente sudo rm -r /boot/efi/EFI/opensuseda Ubuntu. (Questi file non dovrebbero arrecare alcun danno di per sé, ma potrebbero essere fonte di confusione o riattivarsi accidentalmente in futuro.) È possibile rimuovere Ubuntu GRUB in modo simile, anche se potrebbe essere reinstallato se / quando Ubuntu lo aggiorna in futuro. Inoltre, tenerlo in giro come metodo di backup di avvio può avere senso.

Se si lascia GRUB di Ubuntu installato ma non volete vederlo in menù di ritrovare, è possibile utilizzare dont_scan_dirso dont_scan_filesa refind.conf(probabilmente /boot/efi/EFI/refind/refind.confda Ubuntu) per nascondere la voce di GRUB.


Si prega di vedere la mia modifica sopra. Quindi il prossimo passo, suppongo, sarebbe quello di eliminare la voce opensuse (ho rimosso questa distribuzione qualche tempo fa) e impostare BootOrder su "0080,0001, FFFF" per esempio. È corretto? Inoltre, non mi dispiacerebbe rimuovere completamente GRUB2, ma come posso farlo e ottenere rEFInd per l'avvio direttamente in Ubuntu? Dovrò installare EFI Stub Loader come indicato sul tuo sito Web? Grazie ancora!
paulkernstock,

Si prega di vedere la mia modifica sopra.
Rod Smith,

Ora questo ha sicuramente risolto la mia domanda. Ma prima di rimuovere GRUB2 vorrei che REFInd si facesse strada in Ubuntu, ma non lo fa. Nel menu rEFInd vedo due voci di Ubuntu, una che dice "grub_x64" e una che tenta di avviarsi direttamente in Ubuntu usando il kernel vmlinuz-3.13.0-67-generico che, quando selezionato, si bloccherà in rEFInd-boot-prompt . Colpire F2 nel menu mi permetterà di scegliere la mia versione attuale (3.19.0-32-generico), ma con lo stesso risultato. Quando si preme di nuovo F2 le opzioni appaiono come in /boot/refind_linux.conf ro quiet splash nomodeset vt.handoff=7che sono le stesse di GRUB.
paulkernstock,

C'è una root={something}specifica in refind_linux.conf? In caso contrario, deve essere aggiunto. Dovresti essere in grado di farlo funzionare eseguendo lo mkrlconfscript fornito con rEFInd, ma probabilmente dovrai aggiungere l' --forceopzione, come in sudo mkrlconf --force(ma forse con il percorso completo di mkrlconf). Se ciò omette ancora l' root=opzione, mostrami cosa succede durante la digitazione cat /proc/cmdline.
Rod Smith,

Quello refind-linux.confche ho fatto usando il tuo mkrlconfscript ha tre voci con una root=specifica (vedi qui ). In GRUB2 ho dovuto aggiungere l'opzione nomodesetper far funzionare la mia GPU nVidia. cat /proc/comdlinemi dà: BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=1b9ece72-754f-4f4b-85c0-5b5ed6fc89e1 ro quiet splash nomodeset vt.handoff=7. Inoltre, nonostante il processo di avvio si blocchi visivamente nella schermata di avvio di rEFInd, il sistema sembra avviarsi, ad esempio il mio demone controllo-ventola viene avviato e i fan rallentano.
paulkernstock,

8

Questo è successo a me e l'ho risolto con quanto segue in Ubuntu (questo è specifico per il tuo caso come lo è il tuo avvio Ubuntu Boot0001*):

sudo efibootmgr -o 80,1

Se digiti di nuovo sudo efibootmgr, il tuo ordine di avvio dovrebbe essere ora BootOrder: 0080,0001. Ciò garantisce che il Mac venga avviato per primo e, poiché rEFInd è stato installato sul Mac, dovrebbe venire prima.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.