Existem várias maneiras de fazer o que você deseja, mas primeiro, entenda que você tem três (ou talvez quatro) entradas que inicializam o Ubuntu de maneiras diferentes:
- A
grubx64.efi
entrada 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
boot\vmlinuz-3.11.0-18-generic.efi.signed
entrada inicia o kernel 3.11.0-18 genérico sem usar o GRUB. (Ele é inicializado através do carregador de stub EFI , que é incorporado ao próprio kernel.)
- A
boot\vmlinuz-3.11.0-15-generic.efi.signed
entrada 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 do GRUB no modo BIOS - você não descreve o que acontece quando seleciona essa opção; portanto, não está claro se faz isso ou se é útil.
De qualquer forma, a grande distinção aqui é entre o GRUB e o stub loader EFI. Na maioria dos casos, as duas 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 precisa de refEnd para gerenciar sua inicialização tripla em um Mac. OTOH, GRUB é a maneira padrão de inicializar o Ubuntu. Observe que, embora o GRUB possua apenas uma entrada no rEFInd, seu próprio menu (se você o definir 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 todas funcionassem. O motivo é que eles oferecem várias opções para inicializar seu computador; se um falhar, você terá os outros como substitutos. Observe que é provável que sua seleção de kernel aumente conforme você atualiza seu sistema e novos kernels são lançados. Você pode manter a lista em dois ou três usando sudo apt-get autoremove
uma vez que a lista crescer além desse limite.
Se você deseja remover entradas, você tem várias opções, a maioria das quais envolve edição refind.conf
(que provavelmente está no /boot/efi/EFI/refind
Linux):
- Adicione os nomes de arquivo para os quais você deseja evitar a digitalização
dont_scan_files
. Observe que ocultar kernels individuais dessa maneira é ineficiente, pois você precisará atualizar a lista quando novos kernels forem instalados. Essa poderia ser uma boa maneira de ocultar o GRUB.
- Adicione o (s) diretório (s) onde estão descritos os gerenciadores de inicialização indesejados
dont_scan_dirs
. (Por exemplo, boot
para remover os kernels do Linux ou EFI/ubuntu
para remover o GRUB.)
- Adicione os nomes de volume associados aos carregadores de inicialização indesejados
dont_scan_volumes
. Observe que esta é a única dont_scan_*
opção que funciona com as opções de inicialização do BIOS / CSM / legado; adicione qualquer subconjunto do nome relevante para bloquear essa entrada.
- Para desabilitar todas as opções de inicialização de BIOS / CSM / legado baseadas em disco, remova o comentário
scanfor
e verifique hdbios
se não está entre as opções. Isso provavelmente é indesejável no seu caso, já que você diz que está inicializando o Windows 7 e que normalmente inicializa 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, você pode remover o driver do sistema de arquivos EFI para o seu sistema de arquivos Linux do subdiretório
drivers
( drivers_x64
ou drivers_ia32
, dependendo da sua arquitetura) do EFI/refind
diretório em seu ESP. Isso tornará o rEFInd incapaz de localizar os kernels do Linux; portanto, essas opções desaparecerão. O GRUB não depende desses drivers, portanto continuará funcionando.
- As opções de BIOS / CSM / legado aparecem somente quando o rEFInd pensa que foi detectado 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. No entanto, os erros em algumas versões recentes do rEFInd causam erros de identificação do local; portanto, se você não estiver usando a versão 0.8.7, essa identificação pode estar incorreta.) A limpeza do código de inicialização pode remover uma entrada do menu do rEFInd. Essa abordagem é perigosa, no entanto. Eu recomendo experimentá-lo apenas se você já entender como fazê-lo, e é por isso que deliberadamente não estou fornecendo instruções explícitas para fazê-lo - eu poderia escrever uma resposta completa sobre como executar essa tarefa e provavelmente ainda estaria incompleta.
As refind.conf
opções são descritas em mais detalhes nos comentários dentro refind.conf
e na página de documentação de configuração do rEFInd.