Configurando somente o básico do Grub2

Publicado por brunotec em 11/01/2011

[ Hits: 24.372 ]

 


Configurando somente o básico do Grub2



Olá pessoal, essa é minha primeira dica aqui no VOL e espero ajudar.

Como vejo muitos iniciantes no mundo Linux sofrendo um pouco para configurar o grub2, resolvi criar essa dica para resumir o máximo possível o que um iniciante precisa saber para configurar seu grub sem problemas.

Esta dica visa resumir o que é preciso configurar para escolher a ordem de boot, o tempo de espera para iniciar no sistema escolhido como padrão e também visa uma maneira de evitar que a cada atualização ou a cada comando : " #update-grub " , você tenha que configurar todas entradas novamente!

Obs.: Essa dica foi feita com base no Ubuntu, mas caso você use outra distro que não use o "sudo", basta se logar como root e retirar a palavra "sudo" de todos os comandos.

O arquivo no qual ficam armazenadas as entradas de todos sistemas operacionais instalados é o grub.cfg, que fica em /boot/grub/. Para visualizá-lo você precisa rodar o comando:

sudo gedit /boot/grub/grub.cfg

Logo será aberto um editor de texto com o arquivo onde na primeira linha estará escrito:

DO NOT EDIT THIS FILE

Ou seja, esse arquivo "teoricamente" não pode ser editado, pois se você quiser editar a ordem das entradas e suas escritas nada o impede. Porém nesta dica ensinarei a configuração do grub2 do modo correto e não a gambiarra! rsrsrsrs brincadeirinha.

O arquivo o qual você personalizará suas entradas no grub2 é o 40_custom, que fica em /etc/grub.d/.

Primeiro atualize a lista de seus sistemas instalados com o comando:

sudo update-grub

Agora abra o arquivo grub.cfg:

sudo gedit /boot/grub/grub.cfg

Nele você terá todas entradas de seus sistemas instalados, onde abaixo segue um exemplo de entradas de Linux e Windows:

menuentry 'Ubuntu, with Linux 2.6.35-23-generic' --class ubuntu --class gnu-linux --class gnu --class
os {

   recordfail
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos5)'
   search --no-floppy --fs-uuid --set f8f54563-c324-41a5-8412-275cb97418e2
   linux   /boot/vmlinuz-2.6.35-23-generic root=UUID=f8f54563-c324-41a5-8412-275cb97418e2 ro  
quiet splash
   initrd   /boot/initrd.img-2.6.35-23-generic
}
menuentry "Windows 7 (loader) (on /dev/sda1)" {
   insmod part_msdos
   insmod ntfs
   set root='(hd0,msdos1)'
   search --no-floppy --fs-uuid --set 6020fefa20fed64e
   chainloader +1
}

Agora para facilitar a edição abra em outro terminal o arquivo 40_custom:

sudo gedit /etc/grub.d/40_custom

Nele você terá um arquivo assim:

#!/bin/sh
exec tail -n +3 $0

# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

Copie as entradas encontradas no arquivo grub.cfg para o 40_custom, onde as entradas começam em "menuentry {" e terminam em "}".

Após copiar suas entradas do grub.cfg para o arquivo 40_custom, ele deve ficar mais ou menos assim:

#!/bin/sh
echo  "Adding 40_custom menu entries." >&2
exec tail -n +3 $0

# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry 'Ubuntu, with Linux 2.6.35-23-generic' --class ubuntu --class gnu-linux --class gnu --class
os {

   recordfail
   insmod part_msdos
   insmod ext2
   set root='(hd0,msdos5)'
   search --no-floppy --fs-uuid --set f8f54563-c324-41a5-8412-275cb97418e2
   linux   /boot/vmlinuz-2.6.35-23-generic root=UUID=f8f54563-c324-41a5-8412-275cb97418e2 ro  
quiet splash
   initrd   /boot/initrd.img-2.6.35-23-generic
}
menuentry "Windows 7 (loader) (on /dev/sda1)" {
   insmod part_msdos
   insmod ntfs
   set root='(hd0,msdos1)'
   search --no-floppy --fs-uuid --set 6020fefa20fed64e
   chainloader +1
}

Agora você poderá editar o texto que será exibido no boot, como por exemplo trocando de:

menuentry 'Ubuntu, with Linux 2.6.35-23-generic' --class ubuntu --class gnu-linux --class gnu --class os

Para:

menuentry " Ubuntu Maverick 10.10 Kernel 2.6.32 "

Isso é só um exemplo, ficando a seu critério o conteúdo escrito.

Após editar o arquivo 40_custom e deixá-lo como queria basta salvar e fechar ele.

Para definir a ordem de boot, ou seja, para definir qual sistemas iniciará após a contagem no boot esgotar, é preciso editar o arquivo grub que fica em /etc/default e para isso faça:

sudo gedit /etc/default/grub
  • GRUB_DEFAULT=0 <<< configura a entrada padrão sendo "0" para 1°entrada, "1" para 2° entrada e assim por diante.
  • GRUB_TIMEOUT=3 <<< aqui você irá escolher o tempo em segundos para contagem no boot

Depois de editar esse arquivo basta salvar e fechá-lo.

Agora rode esse comando:

sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/30_os-prober

Esses dois arquivos por padrão vem em modo executáveis, ou seja, a cada update-grub que você der ele irá inserir as entradas no seu grub mas como você já editou elas no arquivo 40_custom elas ficariam duplicada e rodando esse comando você retira essas duplicações.

Obs.: A cada nova instalação de um Linux ou Windows ou a cada atualização ou instalação de um novo kernel você precisará voltar esses arquivos "10_Linux e 30_os-prober" para o estado de executáveis para que eles possam inserir as novas entradas no grub.cfg e assim você as copia para o arquivo 40_custom. Para retornar o modo executável desses arquivos faça:

sudo chmod +x /etc/grub.d/10_linux /etc/grub.d/30_os-prober << trocando -x por +x

Feito isso rode um:

sudo update-grub

Vá até o arquivo grub.cfg e copie as novas entradas para o 40_custom e depois retire o modo executável dos arquivos:

sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/30_os-prober

E novamente rode:

sudo update-grub

Caso queira retirar o memtest também rode esse comando:

sudo chmod -x /etc/grub.d/20_memtest86+

E rode um:

sudo update-grub

E pronto! Pode reiniciar seu PC para ver o resultado.

Também sou iniciante em Linux e com o conhecimento que já venho adquirindo com o pessoal do VOL , espero ter ajudado!

Obrigado.

Outras dicas deste autor

MintMenu no Fedora 14

Duas maneiras de instalar Nvidia FX5500 no Squeeze

Leitura recomendada

MP3 no K3b

Reconfigurando o CUPS-PDF

Hora sempre certa no Void Linux

Flash com som no Ubuntu, Kubuntu e etc-buntu

Restaurando o Grub no Ubuntu (Marverik) pelo Live CD

  

Comentários
[1] Comentário enviado por Ignorante em 12/01/2011 - 12:29h

Muito bom brunotec, esta é uma ótima dica amigo.

Parabéns Amigão!!!


[2] Comentário enviado por brunotec em 12/01/2011 - 16:13h

Valew Adriano!!

eu só esqueci de explicar que para ter a entrada personalizada através do 40_custom é necessário inserir essa linha nele:

echo "Adding 40_custom menu entries." >&2

ficando assim:

#!/bin/sh
echo "Adding 40_custom menu entries." >&2
exec tail -n +3 $0

pois na dica apenas mostrei ele!


[3] Comentário enviado por removido em 29/01/2011 - 13:02h

Configurar o Grub é para quem tem conhecimento do mesmo.
Comparando com outras configurações disponíveis em outros Fóruns e no VOL também, percebi muita maturidade em seu trabalho.
Não vi nenhum erro de sintaxe, o que permite a um iniciante simplesmente copiar e colar. O passo-a-passo está claro e seguro.

Parabéns Bruno!


[4] Comentário enviado por brunotec em 29/01/2011 - 15:25h

Valeu brother Izaias!

essa dica foi um resuminho disso:

http://www.ubuntudicas.com.br/blog/2009/12/tudo-sobre-o-grub-2/

esse artigo é muito bom, e aqueles que querem nunca mais enfrentar problemas com o grub ele é ótimo!

Um abraço.

[5] Comentário enviado por mcnd2 em 29/06/2011 - 23:08h

Boa Bruno.

Eu sempre me perco na configuraão do Grub2.
Essa ai vai para os favoritos.
Naqueles apertos, help à dica, rsrsrsr...

Quando dominei o legacy, veio o upgrade do grub.
F*lh*s d* p*t*!
Tenho que aprender a configrar tudo de novo nessa nova versão, kkkk!!!...

Parabéns pela Dica.

[6] Comentário enviado por brunotec em 29/06/2011 - 23:51h

Opa, Obrigado M¢Nd² fico feliz em saber que minha dica lhe ajudou, precisar tamos ai!

um abraço.



Contribuir com comentário