segunda-feira, 14 de dezembro de 2009

Editando o Menu do GRUB 2 no Ubuntu 9.10


No post anterior sobre o GRUB o leitor Arthur Camargo levantou nos comentários a questão de como alterar as entradas do menu. Não é tão difícil quanto parece...
O arquivo base de configuração do GRUB2 é o /boot/grub/grub.cfg que é gerado automaticamente pelo script update-grub. Esse arquivo não pode ser modificado diretamente, ao invés disso, você deve modificar alguns arquivos base que o update-grub usa para criar o grub.cfg.
Os arquivos mais importantes são o /etc/default/grub e os scripts em /etc/grub.d.
No caso citado pelo Arthur, o número de entradas no menu é muito grande, o que poderia confundir um usuário novato. Uma solução inicial seria a retirada das opções de recuperação (recovery), o que já diminui tantas entradas quanto kernels Linux estejam instalados. Para cada imagem de kernel o GRUB2 gera uma entrada de recuperação. Para isso abra o arquivo /etc/default/grub como root e descomente a linha:
#GRUB_DISABLE_LINUX_RECOVERY="true"
retirando o # do início, e execute o comando:
sudo update-grub
para atualizar o arquivo /boot/grub/grub.cfg.
Outra maneira de diminuir o menu, é retirar as entradas referentes ao teste de memória (memtest86+), para isso basta executar:
sudo chmod -x /etc/grub.d/20_memtest86+
para tornar o arquivo não-executável, e não esqueça de atualizar o /boot/grub/grub.cfg.
Um terceiro ponto a ser notado é que uma atualização de kernel não remove automaticamente o anterior, mas isso não é ruim. O novo kernel pode não funcionar corretamente com a sua configuração, e para a segurança do seu sistema, deve ser possível iniciar com o anterior.
Se o seu sistema está funcionando perfeitamente após uma atualização de kernel, você pode remover a versão anterior manualmente através do comando:
sudo apt-get autoremove linux-image-2.6.XX-XX-generic
onde 2.6.XX-XX é a versão do kernel a ser desinstalado.
Bom, acho que com essas poucas alterações já é possível diminuir bastante o menu do GRUB2. Qualquer outra dúvida, é só comentar. Até mais.

7 comentários:

Arthur Camargo disse...

Obrigado pelo pronto esclarecimento. Foi de extrema ajuda. Abraços

Anônimo disse...

O problema é que não exite arquivo Grub em /etc/default alguem sabe onde está?

Leo Suárez disse...

Anônimo, verifica se a versão do seu Ubuntu é a 9.10 e me diz como você instalou, do zero, atualizando por CD ou pela internet, ou outra forma qualquer.

MC.EAGLE disse...

Efetuei a desinstalação da versão do Kernel anterior e em seguida efetuei o comando de actualização do grub, porém isso não foi sifuciente para que na inicialização o grub retirasse da lista de opções a referida versão, tive que editar manualmente o arquivo 40_custom em /etc/grub.d e foi assim que funcionou. Não achei interessante desabilitar o item memtest, pelo menos não ainda.

... disse...

Olá,
Não sou muito intimo do Linux, mas já me utilizei dele (Kurumim, Fedora, Ubuntu...) algumas vezes, porém, por pouco tempo, agora tenho dois HD's e, posso me aventurar mais...
vamos lá, Instalei o Ubuntu 9.04 e atualizei para 9.10 via central de atualizações, também tenho o Windows 7 em minha máquina (HD difente)e gostaria de configurar o Grub para identificar o Windows, porém, seguindos os passos do post, não encontrei o arquivo Grub na pasta defaut, como devo proceder???
Desde já agradeço sua atenção

bla bla blabla bla bla disse...

Valeu pelas dicas, consegui finalmente organizar o meu GRUB.

Leo Suárez disse...

... desculpe, mas não tinha visto seu comentário. Se ainda ajuda, o problema é que o GRUB do 9.04 não é igual ao do 9.10, mesmo com a atualização, os arquivos são diferentes, pelo menos comigo foi assim. Agora eu estou sem uma máquina para testar, mas procura o arquivo /boot/menu.cfg, na versão anterior do GRUB é nele que define as opções do menu.

Postar um comentário

Antes de comentar, pense bem no que vai escrever, seja responsável e educado.