Configurando somente o básico do Grub2

Publicado por brunotec em 11/01/2011

[ Hits: 28.057 ]

 


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

GRUB 2 Ubuntu 14.04 - Editando nome, sistema default e tempo de boot

Função Snap no LXDE pela gambiarra do Xfwm4 (Debian)

Deixando as fontes do Debian superb

Controle de volume sumiu no KDE?

Fazendo o Slackware desligar seu gabinete ATX

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts