rEFInd Pergunta: Remover vários itens de inicialização?

8

Apenas instalei o Ubuntu em uma unidade separada (não particionada com outro sistema operacional), assim como o rEFInd, no meu Mac Pro. Eu consegui fazer tudo para iniciar corretamente e posso inicializar a qualquer um dos locais de volta sem problemas. O problema é que eu tenho 3 itens extras carregando no gerenciador de inicialização que eu meio que quero me livrar. Eu tenho procurado por respostas e ainda assim nada parece funcionar. Além do meu OS X, Windows 7 e Ubuntu Grubx64 (seja lá o que isso signifique), eu tenho os seguintes itens:

boot \ vmlinuz-3.11.0-18-generic.efi.signed
boot \ vmlinuz-3.11.0-15-generic.efi.signed
Inicialize o sistema operacional herdado do volume inteiro do disco

Eu continuo vendo as pessoas dizerem "bem, tente isso" e elas apenas dão o método sem dar instruções sobre como realmente fazer isso. Alguém pode me dar um simples conjunto de instruções sobre como esconder isso?

    
por whitecrow1 30.05.2015 / 14:55

1 resposta

5

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 ou EFI/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ção dont_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 que hdbios 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 (ou drivers_x64 ou drivers_ia32 , dependendo da arquitetura) do EFI/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.

    
por Rod Smith 30.05.2015 / 16:46