Instalação do grub2
Em alguns casos a instalação do grub2 se dá pelo processo de instalação normal através do CD de instalação. Sistemas mais atualizados que geralmente utilizam kernel 2.6.31 provavelmente utilizarão o novo GNU Grub, porém pode-se instalá-lo juntamente de outros pacotes adicionais que o compõem. Se estiver usando Ubuntu 9.10
Linux, use um comando para verificar a versão do grub atual. Caso não esteja usando a versão mais recente instale o pacote mais atual utilizando o utilitário aptitude ou gerenciador da distribuição que está usando. O quadro 1, localizado abaixo está apresentando os procedimentos para a instalação.
Processo de instalação do Grub 2:
Checar a versão que está usando:
grub-install -v
Instalar versão atual do grub2 (beta):
sudo aptitude install grub2
Ou atualizar o grub1:
update-grub
Identificar o HD onde se encontra o grub:
sudo grub-prob -t device /boot/grub
Após a instalação você irá notar as seguintes diferenças, uma delas é que ao reiniciar o computador ao pressionar a tecla (ESC) não conseguirá entrar nas opções de escolha de boot, entendendo que a mesma por padrão só aparece se houver dois sistemas instalados, mas se houver a necessidade de escolher alguma versão do kernel ou se for preciso entrar por algum motivo precisará pressionar a tecla (SHIFT).
Outra mudança importante é o arquivo /boot/grub/menu.lst, que passou a ser
/boot/grub/grub.cfg, que utiliza scripts para a elaboração do arquivo. O diretório possui arquivos modulares que compõem o grub, eles são responsáveis pelo funcionamento correto e quais componentes podem ser adicionados ou removidos. Geralmente configurações eram feitas no menu.lst, agora podemos fazer as mesmas configurações no grub.cfg, porém não aconselhadas, pois os arquivos de configuração que têm prioridade estão nos diretórios
/etc/default/grub e
/etc/grub.d. Os arquivos que compõem o /etc/grub.d são lidos na hora em que o computador está sendo iniciado, e por está razão há uma prioridade de execução, a tabela 2 demostra quais arquivos são esses e suas funcionalidades.
Tabela 2:
Arquivo | Descrição da utilidade do arquivo |
00_header | Essas configurações são importadas |
05_debian_theme | Configura o splash de inicialização |
10_hurd | - |
10_linux | Indica o Kernel no dispositivo |
20_memtest86+ | Indica /boot/memtest86+.bin e menu grub2 |
30_os-prober | Indicam os Sistemas Operacionais instalados |
40_custom | Personalizar o menu |
Configuração dos arquivos do Grub
O arquivo
/etc/defaults/grub é responsável pela alteração de configurações padrões do grub, nele podemos configurar o menu de apresentação, qual sistema iniciar por padrão, última sessão usada (último sistema usado), mudar nome do kernel no menu, tempo de espera, resolução no boot, entre outros. Embora seja possível fazer a configuração em três arquivos, bem como diretamente no grub.cfg, /etc/defaults/grub, ou criar um arquivo padronizado que tenha as configurações semelhantes à do grub.cfg. Mas indo por partes a configuração do /etc/defaults/grub está representada na tabela 3.
Tabela 3:
Opção | Configuração | Descrição |
GRUB_DEFAULT | 0, save, "Ubuntu, Linux 2.6.31-9-generic" | Sistema de arranque |
GRUB_HIDDEN_TIMEOUT | 0 | Ocultar menu |
GRUB_HIDDEN_TIMEOUT_QUIET | True ou False | Não use |
GRUB_TIMEOUT | 10 | Configurar o tempo |
GRUB_DISTRIBUTOR | `lsb_release -i -s 2> /dev/null || echo Debian` | Padrão |
GRUB_CMDLINE_LINUX_DEFAULT | "quiet splash" | Apresentar splash |
GRUB_CMDLINE_LINUX | "" | - |
GRUB_TERMINAL | Console | Desabilita terminal gráfico |
GRUB_GFXMODE | 640x480 | Resolução do boot |
GRUB_DISABLE_LINUX_UUID | True | Não use |
GRUB_DISABLE_LINUX_RECOVERY | True | Não use |
No arquivo
/etc/grub.d/40_custom podemos fazer configurações diversas, elas são iguais às configurações do arquivo grub.cfg, embora necessite de duas linhas fundamentais para tornar o arquivo executável. Então poderá copiar algumas funções do arquivo grub.cf, que podem ser as especificações "menuentry" (menu de entrada). Essas opções podem ser customizadas conforme queira o seu menu, portanto, pode seguir o modelo de configuração no exemplo abaixo. Note que no exemplo os textos que estão ilustrados como comentário.
Exemplo 1:
#!/bin/sh
exec tail -n +3 $0
############ Este trecho foi cópia do do fórum do Ubuntu ##################
#Regras para construção de menuentry
# - a primeira linha inicia com menuentry e finda com {
# - o que está entre aspas é o que vai aparecer no menu do GRUB 2. Edite como desejar
# - a última linha do menuentry deve ser }
# - não deixe espaços em branco no fim das linhas
# - a linha set root= deve apontar para a localização de inicialização do GRUB2 (sdXY)
# - referência root da linha Linux deverá apontar para a partição do sistema.
# Se GRUB 2 não encontra o kernel referenciado, tente substituir a UUID pelo nome do #dispositivo (exemplo: / dev/sda6).
#Este é um exemplo copiado do grub.cfg que após alterado pode ter este aspecto:
menuentry "Ubuntu 9.10" {
set root=(hd0,2)
search --no-floppy --fs-uuid --set 22290d2e-82c9-48d5-92c1-ce138634eedc
linux /boot/vmlinuz-2.6.31-15-generic root=UUID=22290d2e-82c9-48d5-92c1-ce138634eedc ro quiet splash
initrd /boot/initrd.img-2.6.31-11-generic
}
# Uma entrada de exemplo para uma versão de disco rígido do SystemRescueCD instalado conforme as instruções no site (em sda8).
menuentry "System Rescue CD" {
set root=(hd0,8)
linux /sysrcd/rescuecd subdir=sysrcd setkmap=us
initrd /sysrcd/initram.igz
}
# Exemplo de entrada para Windows
echo "Adding Windows 43_custom" >&2
menuentry "Windows Vista " {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set CFFCFF9EECFF7F49
chainloader +1
}
Para fazer configurações de imagens para o splash precisa-se de instalar o pacote de imagens, após a instalação imagens serão copiadas para o diretório /usr/share/images/grub, o que não se limitará a usuários fazerem seus próprios splash's. Processo de configuração do pacote de splash baixo.
sudo aptitude install grub2-splashimages
Para fazer a configuração dos bootsplash usaremos o arquivo
/etc/grub.d/05_debian_theme, dentro do arquivo há um loop que por padrão busca em outro diretório, em /boot/grub e /usr/share/images/desktop-base, portanto você pode fazer duas ações: uma seria colocar a imagem no diretório padrão e indicar o nome da mesma e a outra é adicionar ao loop o diretório /usr/share/images/grub e indicar o nome da imagem como mostra o exemplo 2.
Trechos do arquivo 05_debian_theme:
# Para trocar a cor das descrições seque-se o modelo abaixo que pode ser modificado.
set_mono_theme()
{
cat << EOF
set menu_color_normal=white/black
set menu_color_highlight=black/white
EOF
}
# Verifica para usar imagem de backgrounds
use_bg=false
if [ "$GRUB_TERMINAL_OUTPUT" = "gfxterm" ] ; then
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/imagens/grub}/sua-imagem.{png,tga} ; do
if is_path_readable_by_grub $i ; then
bg=$i
case ${bg} in
*.png) reader=png ;;
*.tga) reader=tga ;;
*.jpg|*.jpeg) reader=jpeg ;;
esac
if test -e /boot/grub/${reader}.mod ; then
echo "Found Debian background: `basename ${bg}`" >&2
use_bg=true
break
fi
fi
done
fi
Estas linhas estão contidas em /etc/grub.d/05_debian_theme. A cor é definida pela linha abaixo. A primeira cor é a cor do texto, a segunda é a cor de fundo.
set color_normal=black/black
O código abaixo define a cor de entradas selecionadas. A primeira cor é a cor do texto em destaque, a segunda é a cor de fundo da linha selecionada. Se black é a segunda entrada, a linha de destaque será transparente e apenas o texto mudará de cor.
set color_highlight=magenta/black
O black é a cor de transparência GRUB 2 padrão . Altere apenas a cor do primeiro, se utilizar uma imagem de splash. Se o segundo valor nesta linha é alterada para uma cor diferente de black a imagem splash será escondida atrás de um fundo de cor sólida. Após fazer todas essas configurações ou qualquer configuração que se relacione com o grub2, utilize o comando o seguinte comando para validar as alterações:
# update-grub2