tux on orange background

Como configurar o visual do menu de inicialização GRUB.

Gosto muito da imagem de fundo padrão do Debian 8 e do Ubuntu, para o menu de inicialização GRUB. Ainda assim, acho-os sem-graça.
Na verdade, sempre preferi deixar o timeout em 0, para não perder muito tempo por lá.
Como andei instalando alguns kernels para teste e o menu do GRUB é aonde escolhemos qual queremos usar, ele passou a ter mais importância para mim, quando ligo o computador.
Chegou a hora, portanto, de deixar o GRUB bonito — e, como sempre, vou mostrar o caminho das pedras para os leitores deste site.
grub 2 splash images
O papel de parede do menu GRUB pode ser facilmente trocado — de forma que você possa usar uma imagem que reflita melhor sua personalidade, que tenha o logotipo da sua empresa etc.
A escolha é sua.
Este artigo explica alguns métodos para definir a imagem do papel de parede do menu de boot do GRUB 2. Os experimentos em que me baseei foram realizados em uma máquina com Debian 8.3 Jessie. Mesmo que sua distribuição não seja exatamente a mesma que a minha, as instruções devem servir, desde que você esteja usando uma distro atual.

Como escolher imagens para usar no GRUB

As imagens de fundo do menu GRUB 2 precisam seguir alguns padrões, para serem aceitas pelo programa:

  1. estar gravadas nos formatos JPG/JPEG, PNG e TGA
  2. a profundidade de cores (JPG/JPEG) deve ser, no máximo, 8-bit (256 cores)
  3. certifique-se de que estejam em RGB (o GRUB não aceita imagem indexada)

Você certamente encontrará alguns modelos válidos em /usr/share/images/desktop-base/. Veja o que tem no meu sistema:

ls -lah /usr/share/images/desktop-base/ | grep -i grub 

lrwxrwxrwx 1 root root   30 Nov  1 16:11 desktop-grub.png -> /etc/alternatives/desktop-grub
-rw-r--r-- 1 root root  59K Dez 13  2014 joy-grub.png
-rw-r--r-- 1 root root 321K Dez 13  2014 lines-grub-1920x1080.png
-rw-r--r-- 1 root root  73K Dez 13  2014 lines-grub.png
-rw-r--r-- 1 root root  38K Dez 13  2014 moreblue-orbit-grub.png
-rw-r--r-- 1 root root  31K Dez 13  2014 spacefun-grub.png
-rw-r--r-- 1 root root 105K Dez 13  2014 spacefun-grub-widescreen.png

Se quiser entender melhor o comando grep, clique aqui.
As imagens presentes na listagem acima fazem parte do pacote desktop-base.
Você pode abrir uma cópia destas imagens no GIMP e criar uma nova, dentro de um padrão preexistente e que já funciona.
grub menu

O GRUB 2 procura por imagem seguindo uma ordem

Alterar o fundo do menu GRUB não é uma tarefa difícil. Normalmente, tudo o que se precisa fazer é “deixar o papel de parede” no lugar certo pro GRUB encontrar.
O script de configuração procura as imagens em certos locais ou espera encontrar referências a elas dentro do arquivo de configuração.
Veja como funciona, na ordem de preferência:

  1. Se você tiver o parâmetro GRUB_BACKGROUND, dentro de /etc/default/grub, corretamente ajustado, apontando para o caminho e o nome da imagem, isto será suficiente.
    Veja um exemplo:

    GRUB_BACKGROUND="/usr/share/images/desktop-base/moreblue-orbit-splash.png"
  2. Se o GRUB não encontrar o parâmetro GRUB_BACKGROUND em /etc/default/grub ou este for inválido, ele tentará usar uma das imagens presentes no diretório /boot/grub. Havendo mais de uma, a escolha recairá na primeira, em ordem alfanumérica
  3. Se as 2 tentativas anteriores falharem, o GRUB usará a imagem definida no script /usr/share/desktop-base/grub_background.sh
  4. Por fim, o GRUB irá tentar usar o arquivo de imagem definido no parâmetro WALLPAPER, em /etc/grub.d/05_debian_theme

Se nada der certo, o GRUB tem um padrão em modo texto (com fundo azul) para exibir, em vez de uma tela preta.
GRUB tela padrão modo texto.
Após editar os arquivos ou scripts de configuração do GRUB, não esqueça de rodar o comando update-grub, para consolidar as alterações.

sudo update-grub
 
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Imagem Linux encontrada: /boot/vmlinuz-4.3.0-0.bpo.1-amd64
Imagem initrd encontrada: /boot/initrd.img-4.3.0-0.bpo.1-amd64
Imagem Linux encontrada: /boot/vmlinuz-3.16.0-4-amd64
Imagem initrd encontrada: /boot/initrd.img-3.16.0-4-amd64
concluído

Na próxima vez em que você reiniciar sua máquina, verá sua nova imagem de fundo, para o menu GRUB.

Como obter mais imagens splash para usar no GRUB 2

Existe o pacote com outras imagens oficiais, prontas para usar no GRUB.
O nome do pacote é grub2-splashimages.
Se você usa o Ubuntu, pode instalá-lo com um clique, no botão abaixo:
Instalar
Quem usa o Debian, pode instalar com o comando apt:

sudo apt install grub2-splashimages

Após a instalação, você terá novas images para usar no diretório /usr/share/images/grub/. Veja:

ls /usr/share/images/grub/
050817-N-3488C-028.tga                  Hortensia-1.tga
2006-02-15_Piping.tga                   Lake_mapourika_NZ.tga
Apollo_17_The_Last_Moon_Shot_Edit1.tga  Moraine_Lake_17092005.tga
B-1B_over_the_pacific_ocean.tga         Plasma-lamp.tga
BonsaiTridentMaple.tga                  TulipStair_QueensHouse_Greenwich.tga
Glasses_800_edit.tga                    Windbuchencom.tga

Note que o formato das imagens é TGA, elas estão em baixa resolução — aproximadamente, 640 X 480.
Você não precisa de imagens de alta resolução para ter um efeito bonito no menu do GRUB, portanto.
Se você tem a intenção de criar uma imagem própria, recomendo usar uma destas como modelo.
Divirta-se!

Referências

Guia básico do GRUB.
http://members.iinet.net/~herman546/p20/GRUB2%20Splashimages.html#make_your_own_.
https://help.ubuntu.com/community/Grub2/Displays.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

2 thoughts on “Como configurar o visual do menu de inicialização GRUB.”

  1. Muito bom. Eu gosto de usar o Grub-Customizer que, pra quem é iniciante é uma mão na roda! Esse aplicativo deveria vir por padrão nas distros. Que acha?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *