O Grub (Grand Unified Bootloader) é um dos gerenciadores de boot do sistema operacional
GNU/Linux que também é capaz de carregar outros sistemas operacionais, livres e/ou proprietários.
Recentemente ao instalar o Kubuntu 9.10 tive uma surpresa ao tentar configurar o Grub, fui a /boot/grub/menu.lst e... Cadê o menu.lst?
Pesquisando um pouco vi algo a respeito e resolvi compartilhar. Vou falar por hora e por ser meu primeiro post aqui no VOL, simplesmente como inserir uma imagem no fundo do Grub 2.
Para quem usa apenas o
Linux e o Grub fica praticamente "invisível", este texto pode não ser útil, mas há quem precise de outros sistemas operacionais e deixar o Grub 2 com um aspecto mais atraente é essencial.
A primeira coisa a fazer é instalar o pacote padrão Grub 2 splash images. Supondo que você use uma distro Debian-like, faça assim:
sudo apt-get install grub2-splashimages
Feito isso vamos editar o arquivo.
O arquivo que vai te interessar neste caso é o
/etc/grub.d/05_debian_theme.
Abra-o com seu editor pessoal. Lembre-se tem que ser root para editá-lo:
sudo vim /etc/grub.d/05_debian_theme
Procure a linha:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do
Dentro do primeiro par de chaves {} temos o endereço onde o Grub vai procurar a imagem para usar. Quando você baixou o pacote grub2-splashimages, algumas imagens foram para
/usr/share/images/grub, todas com extensão .tga. É importante que você coloque este endereço aí dentro desta primeira chave, que ficará assim:
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/moreblue-orbit-grub.{png,tga} ; do
Tive algumas experiências frustrantes ao tentar inserir um novo endereço de uma imagem, por exemplo /home/osiel/imagem, dentro desta chave. Depois de algumas tentativas infrutíferas preferi copiar a imagem para dentro do diretório /usr/share/images/grub.
O parâmetro
moreblue-orbit-grub refere-se ao nome da imagem que você vai usar. Substitua-o pelo nome da imagem desejada.
Em {png,tga} definimos as extensões, também não tive sucesso colocando imagens .jpg dentro da pasta e inserindo a extensão aí, ex. {png,tga,jpg}. Isso não funcionou para mim.
Resolvi então converter a imagem:
convert imagem.jpg imagem.tga
Antigamente no Grub Legacy você deveria converter a imagem, reduzir o tamanho, violentar as cores, já que só tinha direito a usar 14 cores.
Aqui não precisei fazer nada disso, apenas para facilitar procurei uma imagem compatível com a resolução do meu monitor e pronto. Isso mesmo, nada de 640x480, eu estou usando 1920x1080 e a imagem ficou perfeita, sem redução de qualidade.
Depois de feitas as alterações é imprescindível que você execute o comando:
sudo update-grub
Que fará com suas alterações sejam gravadas no arquivo
/boot/grub/grub.cfg.
Não altere o arquivo /boot/grub/grub.cfg, ele será atualizado toda vez que você executar o comando acima descrito.