Existem várias maneiras de fazer o que você quer, mas primeiro, entenda que você tem três (ou talvez quatro) entradas que iniciam o Ubuntu de diferentes maneiras:
- A entrada
grubx64.efi
inicia o GRUB, que, por sua vez, inicia o kernel do Linux (e também pode oferecer seu próprio menu para inicializar outras coisas, dependendo de como está configurado). - A entrada
boot\vmlinuz-3.11.0-18-generic.efi.signed
lança o kernel genérico 3.11.0-18 sem usando o GRUB. (Ele é inicializado por meio do stub loader EFI , que está embutido no próprio kernel.) - A entrada
boot\vmlinuz-3.11.0-15-generic.efi.signed
lança o kernel 3.11.0-15 genérico - um kernel um pouco mais antigo que o anterior. - A opção "Boot Legacy OS ..." pode iniciar uma versão em modo BIOS do GRUB - você não descreve o que acontece quando você seleciona essa opção, então não está claro se faz isso ou é útil em tudo.
De qualquer forma, a grande diferença aqui é entre o GRUB e o carregador de stubs EFI. Na maioria dos casos, ambas as abordagens para inicializar o Linux funcionam igualmente bem, mas às vezes uma funciona melhor que a outra. Pessoalmente, eu não gosto do GRUB; IMHO é inchado e desnecessariamente complexo. É também uma etapa extra no seu caminho de inicialização, já que você provavelmente precisará do rEFInd para gerenciar o boot triplo em um Mac. OTOH, GRUB é o modo padrão de inicializar o Ubuntu. Observe que, embora o GRUB tenha apenas uma entrada no rEFInd, seu próprio menu (se você configurá-lo para aparecer) provavelmente permitirá que você inicialize um dos dois kernels do Linux que o rEFInd permite inicializar diretamente.
Pessoalmente, eu manteria todas essas três entradas (GRUB e os dois kernels), pelo menos se todos funcionarem. A razão é que eles oferecem várias opções para inicializar o computador; se um falhar, você terá os outros como substitutos. Note que a sua seleção de kernel provavelmente aumentará conforme você atualiza seu sistema e novos kernels são liberados. Você pode manter a lista em dois ou três usando sudo apt-get autoremove
quando a lista crescer além desse limite.
Se você quiser remover entradas, você tem várias opções, a maioria das quais envolve a edição de refind.conf
(que provavelmente está em /boot/efi/EFI/refind
no Linux):
- Adicione o (s) nome (s) de arquivo (s) que você deseja evitar a varredura para
dont_scan_files
. Note que esconder os kernels individuais desta maneira é ineficiente, já que você precisará atualizar a lista quando novos kernels estiverem instalados. Isso pode ser uma boa maneira de ocultar o GRUB. - Adicione o diretório / s onde os carregadores de inicialização indesejados são descritos como
dont_scan_dirs
. (Por exemplo,boot
para remover os kernels do Linux ouEFI/ubuntu
para remover o GRUB.) - Adicione os nomes dos volumes associados aos carregadores de inicialização indesejados a
dont_scan_volumes
. Observe que essa é a única opçãodont_scan_*
que funciona com as opções de inicialização herdadas do BIOS / CSM; adicione qualquer subconjunto do nome relevante para bloquear essa entrada. - Para desativar todas opções de inicialização herdadas do BIOS / CSM / baseadas em disco, descomente
scanfor
e assegure-se de quehdbios
não seja entre as opções. Isso provavelmente é provavelmente indesejável no seu caso, já que você diz que está inicializando o Windows 7, e que normalmente é inicializado no modo BIOS / CSM / legado. Se você conseguiu instalar o Windows no modo EFI, essa pode ser uma boa opção. - Para remover as opções do kernel e todas as opções futuras do kernel, é possível remover o driver do sistema de arquivos EFI do sistema de arquivos Linux do subdiretório
drivers
(oudrivers_x64
oudrivers_ia32
, dependendo da arquitetura) doEFI/refind
no seu ESP. Isso irá tornar o rEFInd incapaz de localizar os kernels do Linux, então essas opções irão desaparecer. O GRUB não confia nesses drivers, por isso continuará funcionando.
As opções - BIOS / CSM / legacy aparecem apenas quando o rEFInd acha que ele detectou o código de inicialização no MBR de um disco ou em uma partição. Dada a descrição da sua opção "Boot Legacy OS ...", o rEFInd provavelmente encontrou o código de inicialização no MBR. (Bugs em algumas versões recentes do rEFInd causam erro de identificação do local, portanto, se você não estiver usando a versão 0.8.7, essa identificação pode estar incorreta.) Limpar o código de inicialização pode, portanto, remover uma entrada do menu do rEFInd. Essa abordagem é PERIGOSA, . Eu recomendo tentar apenas se você já sabe como fazê-lo, e é por isso que estou deliberadamente não fornecendo instruções explícitas sobre isso - eu poderia escrever uma resposta inteira sobre como fazer essa tarefa e provavelmente ainda estaria incompleta.
As opções refind.conf
são descritas com mais detalhes nos comentários em refind.conf
e na página de documentação de configuração do rEFInd.