Estou tendo um pequeno problema com o rEFInd e não consegui encontrar algo específico sobre isso.
Instalei com êxito o Ubuntu 14.04 para inicialização dupla com o OS X Yosemite no meu MacBook Pro 3.1 usando o rEFInd, mas agora após a inicialização no Ubuntu, o menu rEFInd não é exibido após uma reinicialização. Apenas vai direto para o grub. Depois de inicializar novamente no OS X (usando a tecla de opção na inicialização), às vezes o rEFInd aparece, às vezes não, não conseguia descobrir como ele é acionado.
Existe uma maneira de garantir que o rEFInd seja lançado primeiro, independentemente do SO que inicializei anteriormente?
Editar
Usando efibootmgr -v
me 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 eu definir o NextBoot com a -n
opção-0080, após a reinicialização, o rEFInd será exibido. O FFFF me traz diretamente para o OSX. 0081 parece falhar.
Obrigado pela ajuda!
Respostas:
Às vezes, os sistemas operacionais redefinem o programa de inicialização padrão, principalmente se eles atualizarem seus carregadores de inicialização padrão. Realmente não há como impedir que isso aconteça, então você deve simplesmente saber como corrigir o problema quando ele ocorrer. No Linux, isso é feito usando o
efibootmgr
programa. No OS X, é feito viabless
. Veja aqui para mais informaçõesefibootmgr
.Se esse malabarismo estiver acontecendo toda vez que você reiniciar, algo estará seriamente errado. Se o Ubuntu estiver redefinindo o GRUB como padrão em todas as reinicializações, pessoalmente, eu o removerei - mas não sou fã do GRUB (o suficiente para que eu bifurque o rEFIt para torná-lo mais do que lidar com o GRUB). Suponho que você também possa ligar
efibootmgr
em um script de desligamento, mas isso corre o risco de se desconectar da realidade e causar problemas, por isso ficaria relutante em fazer isso.EDITAR:
Sim, alterar a
BootOrder
variável (através da-o
opção paraefibootmgr
) conforme sugerido é apropriado. Você pode excluir a entrada do OpenSUSE com:Pode haver arquivos do OpenSUSE instalados que você pode excluir usando
rm
- provavelmentesudo rm -r /boot/efi/EFI/opensuse
do Ubuntu. (Esses arquivos não devem causar nenhum dano em si, mas podem ser confusos ou ser acidentalmente reativados no futuro.) Você pode remover o Ubuntu GRUB de maneira semelhante, embora possa ser reinstalado se / quando o Ubuntu atualiza-o no futuro. Além disso, mantê-lo como um método de inicialização de backup pode fazer sentido.Se você deixar o GRUB do Ubuntu instalado, mas não quiser vê-lo no menu do rEFInd, poderá usar
dont_scan_dirs
oudont_scan_files
norefind.conf
(provavelmente/boot/efi/EFI/refind/refind.conf
do Ubuntu) para ocultar a entrada do GRUB.fonte
ro quiet splash nomodeset vt.handoff=7
iguais às do GRUB.root={something}
especificação emrefind_linux.conf
? Caso contrário, ele precisa ser adicionado. Você deve conseguir fazer isso executando omkrlconf
script que acompanha o rEFInd, mas provavelmente precisará adicionar a--force
opção, como emsudo mkrlconf --force
(mas talvez com o caminho completo paramkrlconf
). Se isso ainda omitir aroot=
opção, mostre-me o que acontece quando você digitacat /proc/cmdline
.refind-linux.conf
que eu fiz usando seumkrlconf
-script possui três entradas com umaroot=
especificação (veja aqui ). No GRUB2, eu tive que adicionar a opçãonomodeset
para colocar minha nVidia-GPU em execução.cat /proc/comdline
dá-me:BOOT_IMAGE=/boot/vmlinuz-3.19.0-32-generic root=UUID=1b9ece72-754f-4f4b-85c0-5b5ed6fc89e1 ro quiet splash nomodeset vt.handoff=7
. Além disso, apesar do processo de inicialização travar visualmente na tela rEFInd-boot, o sistema parece iniciar, por exemplo, meu daemon de controle de fãs está sendo iniciado e os fãs ficam lentos.Isso aconteceu comigo e eu o consertei com o seguinte no Ubuntu (isso é específico para o seu caso como na inicialização do Ubuntu
Boot0001*
):Se você digitar novamente
sudo efibootmgr
, sua ordem de inicialização deve ser agoraBootOrder: 0080,0001
. Isso garante que o Mac seja inicializado primeiro e, desde que o rEFInd foi instalado no Mac, ele deverá aparecer primeiro.fonte