GRUB 2 - Um help na apresentação e configuração

Iniciado por jomafras, 12 de Novembro de 2009, 01:23

tópico anterior - próximo tópico

jomafras

Esse tópico começou com uma tradução livre e resumida de : Documentação da Comunidade Ubuntu, GRUB 2.
Em 30/05/10 teve uma primeira modificação e sempre que houver necessidade será atualizado.



                                                     Apresentação

O GRUB 2 foi introduzido no Ubuntu a partir da versão 9.10 (Karmic Koala).
É um software Open Source. Ele é descendente do GRUB (GRand Unified Bootloader)
Foi completamente reescrito para dar ao usuário flexibilidade e performance significativamente aumentadas.
O GRUB anterior passa a ser referido como GRUB legacy.



Melhorias

As melhorias em relação ao GRUB incluem :

- apoio de scripts
- módulo de carregamento dinâmico
- modo de recuperação
- menus personalizados
- temas
- suporte ao menu gráfico
- imagens iso de Live CD de boot diretamente do disco rígido
- nova estrutura de arquivos de configuração
- suporte universal a UUIDs (não apenas o Ubuntu)



Diferenças entre GRUB 2 e GRUB legacy

- numa instalação limpa do Ubuntu 9.10 sem nenhum outro sistema operacional instalado o Grub 2 inicializará diretamente na tela de login ou Desktop.
- pressione a tecla SHIFT para mostrar o menu durante o boot (no GRUB legacy a tecla é ESC).
- /boot/grub/menu.lst do GRUB legacy foi substituido por /boot/grub/grub.cfg no GRUB 2.
- não há "/find boot/grub/stage1" no prompt do grub. Stage 1.5 foi eliminado.
- o principal arquivo de menu /boot/grub/grub.cfg do GRUB 2 não é para ser editado mesmo pelo "root".
- grub.cfg é sobrescrito sempre que houver uma atualização, um kernel for adicionado/removido ou o usuário executar update-grub.
- o usuário pode criar um arquivo personalizado em /etc/grub.d/40_custom com suas próprias entradas. Esse arquivo não será sobrescrito.
- o arquivo de configuração principal para alterar as configraçoes do menu é o /etc/default/grub.
- existem vários arquivos para configurar o menu - /etc/default/grub mencionado acima e todos os arquivos da pasta /etc/grub.d.
- mudou a numeração das partições. A primeira partição agora é 1 em vez de 0. O primeiro dispositivo no entanto continua 0 (zero).
- buscas automáticas para outros sistema operacionais como Windows sempre que update-grub é executado.
- nenhuma mudança na configuração dos arquivos acontecerá até que o comando sudo update-grub seja executado.


Instalação

Para saber a versão instalada no seu sistema, digite no terminal :
grub-install -v

O GRUB 2 vem instalado por padrão no Ubuntu a partir da versão 9.10 (Karmic Koala).
O pacote do GRUB 2 é o grub-pc. O pacote grub-common também será instalado.
grub2 é um pacote simulado de transição, pode ser seguramente removido e é mostrado no Synaptic como não instalado.

Upgrade para GRUB 2

A atualização para GRUB 2 a partir do GRUB comum é relativamente fácil.
Os desenvolvedores decidiram não usar uma atualização automática para o GRUB 2 como padrão em instalações de atualização.
Quem fizer upgrade para o Ubuntu 9.10 pode continuar usando o GRUB legacy se desejar,
Para fazer a atualização para GRUB 2 : Upgrade para GRUB 2



Estrutura de arquivos

GRUB 2 incorpora um diretório totalmente revisado e uma hierarquia de arquivos.


Hierarquia de arquivos e diretórios


1-Arquivo /boot/grub/grub.cfg

É o que mais se assemelha ao /boot/grub/menu.lst do GRUB mas diferentemente desse o grub.cfg não se destina a ser editado.
Cada seção é claramente delimitada com "(### BEGIN)" e a referência do arquivo na pasta /etc/grub.d a partir da qual a informação foi gerada.
grub.cfg é atualizado executando o comando sudo update-grub e é automaticamente modificado quando há uma atualização ou instalação/remoção de kernel.
Por padrão, e sempre que o comando update-grub é executado, este arquivo é feito "somente leitura". Isto porque a intenção é que o arquivo não seja editado manualmente.
O usuário também verá uma infinidade de arquivos *. mod na pasta /boot/grub . Esses arquivos são da natureza modular do GRUB 2 e são carregados necessariamente pelo GRUB 2.


2-Arquivo /etc/default/grub

Esse arquivo pode ser editado e configurado. Detalhes da configuração estão mais adiante em Configurando GRUB 2.


3-Diretório /etc/grub.d/

Os arquivos nessa pasta são lidos durante a execução do comando sudo update-grub e suas instruções são incorporadas ao /boot/grub/grub.cfg.

Os arquivos default nesta pasta são :

- 00_header : suas configurações normalmente são importadas de informações do /etc/default/grub e os usuários não precisam mudar esse arquivo.

- 05_debian_theme : configura splash image, cor do texto, cor de realce e tema. Na ausência de splash image esse arquivo configura um tema monocromático.

- 10_hurd : não usada.  

- 10_linux : localiza os kernels para o sistema operacional em uso. Leva essa informação e estabelece os nomes apresentados no menu para estes kernels.

- 20_memtest86+ : procura por /boot/memtest86+.bin e o inclue como opção no menu do GRUB 2.

- 30_os-prober : procura por Linux e outros sistemas operacionais. Resultados são colocados no grub.cfg baseando-se nos scripts desse arquivo.  

- 40_custom : para adicionar entradas de menu personalizado que serão inseridas no grub.cfg depois de update-grub.




                                                                  Configuração
                   
Alterações na configuração são normalmente feitas em /etc/defaul/grub e nos arquivos da pasta /etc/grub.d.
O arquivo /boot/grub/grub.cfg não deve ser editado pelo usuário; mudanças nesse arquivo são feitas pelos scripts de configuração.


Arquivo /etc/default/grub

É o principal arquivo de configuração para alterar as configurações padrão.

 - GRUB_DEFAULT=0
   Configura a entrada default pela posição. Como no GRUB a primeira entrada é zero, a segunda 1, etc,

 - GRUB_DEFAULT=saved
   Define a entrada de menu padrão com o que foi selecionado anteriormente (a última seleção).
   
 - GRUB_DEFAULT="xxxx"
   Neste caso, a localização no menu não importa.
   Exemplo: GRUB_DEFAULT="Ubuntu, Linux 2.6.31-9-generic"
   
 - GRUB_TIMEOUT=
   Configura o tempo.

 - GRUB_HIDDEN_TIMEOUT=0    
   O menu ficará oculto.
   
   # GRUB_HIDDEN_TIMEOUT=0
   O menu não será oculto

 - GRUB_HIDDEN_TIMEOUT_QUIET=true
   true = nenhuma contagem regressiva é exibida. A tela ficará em branco.
   false = Um contador será exibido numa tela em branco durante o tempo do GRUB_HIDDEN_TIMEOUT.

 - #GRUB_GFXMODE=640x480
 Descomente essa linha para mudar a resolução. Ela fornece resoluções suportadas pela placa de vídeo do usuário (640x480,  
 800x600, 1280x1024, etc). Aplica-se apenas a resolução do menu de boot.
 Dica: Definindo a mesma resolução do sistema operacional o tempo de inicialização diminuirá ligeiramente.

- #GRUB_DISABLE_LINUX_RECOVERY=true
  Descomente essa linha se não desejar o "Recovery" mode no menu.
 "Recovery mode" para apenas um kernel, fazer uma entrada especial em /etc/grub/40_custom.


Diretório /etc/grub.d/

Entradas personalizadas

O GRUB 2 permite criar menus personalizados que serão automaticamente adicionados ao menu principal quando o comando sudo update-grub é executado. Um arquivo 40_custom vazio está disponível para uso ou para servir de exemplo para criar menus personalizados. Aqui estão algumas considerações para menus personalizados:

- o nome do arquivo determina a ordem das seleções no menu. Nomes numérico são executados primeiro, seguido por nomes alfabéticos - entrada 10_linux aparecerá antes de 30_os prober, que será colocado antes de 40_custom, que irá preceder entrada-personalizada.
 
- todos os arquivos desse diretório são feitos executáveis para gerar entradas para o grub.cfg e os arquivos recém criados devem também ser feitos
 executáveis : sudo chmod +x /etc/grub.d/nome do arquivo.

- o conteúdo desse arquivo é adiconado ao grub.cfg sem alterações quando o comando sudo update-grub é executado.

- ao contrário do grub.cfg, arquivos personalizados podem ser editados a qualquer momento, não são só leitura, e podem ser propriedade do usuário, se ele desejar.

- o conteúdo não será alterado, depois de atualização ou quando novos kernels são adicionados ou removidos.


Criando menus personalizados

Pode ser editado o arquivo /etc/grub.d/40_custom ou criado um novo. A maneira mais fácil de criar o conteúdo de um menu personalizado é copiar uma entrada do /boot/grub/grub.cfg. Depois de copiado, o conteúdo do 40_custom ou do novo arquivo criado pode ser adaptado a vontade.
De acordo com o arquivo personalizado padrão da amostra (etc/grub.d/40_custom/) as duas primeiras linhas de um arquivo personalizado em /etc/grub.d devem ser:

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

Dicas : 1- Para visualizar que as alterações estão sendo feitas incluir essa linha ( echo "Adding 40_custom menu entries." >&2 ) entre as duas primeiras.
         2- Execute esse comando sudo cat /boot/grub/grub.cfg | grep "menuentry" | cut -d '"' -f 2 para ver no Terminal as entradas do menu.

Em todos os exemplos a seguir será usado o arquivo /etc/grub.d/40_custom.
Na prática podemos usar menus personalizados para, por exemplo :

1- Mudança nos títulos dos sistemas instalados.  
As entradas de menu dos títulos derivam dos arquivos /etc/grub.d/10_linux para o Ubuntu e /etc/grub.d/30_os-prober para Windows e outros  
Linux.  Menus personalizados funcionam como se fossem o menu.lst do GRUB legacy mas é preciso retirar o modo executável dos dois arquivos acima
descritos depois de feita a alteração :
sudo  chmod -x /etc/grub.d/10_linux /etc/grub.d/30_os-prober

Sempre que houver atualização do kernel  é preciso voltar o modo executável do arquivo 10_linux (sudo chmod +x /etc/grub.d/10_linux) para que a alteração seja incluida no arquivo /boot/grub/grub.cfg e depois retirar novamente (sudo  chmod -x /etc/grub.d/10_linux). Depois de cada alteração : sudo update-grub .

   
A-Alteração nos títulos do Ubuntu, Windows e outros.
 
I- Determinar os locais onde se encontram instalados os sistemas :
  Exemplos : Ubuntu 10.04 = (hd0,3) - /dev/sda3
                  Windows 7 = (hd0,1) - /dev/sda1
                  Ubuntu 9.10 = (hd0,6) - /dev/sda6
  Para encontrar esses locais usar o Terminal (sudo fdisk -l) ou abrir o arquivo /boot/grub/grub.cfg (Locais > Computador > Sistema de arquivos).

II- Editar o arquivo /etc/grub.d/40_custom  sudo gedit /etc/grub.d/40_custom

#!/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.


Depois de menuentry o que vier entre aspas será o título ( nos exemplos abaixo : "Ubuntu 10.04", "Windows 7" e "Ubuntu 9.10").
Se quiser manter o Recovery mode para o Linux instalado adicionar outra entrada igual a primeira com ro single em vez de ro quiet splash.

#Entrada para o Ubuntu 10.04 em /dev/sda3

menuentry "Ubuntu 10.04" {
   set root=(hd0,3)
       linux /vmlinuz root=/dev/sda3 ro quiet splash
       initrd /initrd.img
}

#Entrada para Windows 7 em /dev/sda1

menuentry "Windows 7" {
   insmod ntfs
   set root='(hd0,1)'
   chainloader +1
}

#Entrada para Ubuntu 9.10 em /dev/sda6

menuentry "Ubuntu 9.10" {
   set root=(hd0,6)
       linux /vmlinuz root=/dev/sda6 ro quiet splash
       initrd /initrd.img
}


Salvar as alterações.

Lembrando :
Nas atualizações de kernel do Ubuntu voltar o modo executável (sudo chmod +x /etc/grub.d/10_linux) para que a alteração seja incluida no grub.cfg (o
mesmo se aplica para o arquivo /etc/grub.d/30_os-prober na troca de Windows ou outro Linux); depois retirar novamente ( sudo chmod -x...); o arquivo 40_custom
pode permanecer o mesmo se não houver mudança nas partições.
Depois de toda e qualquer alteração é preciso executar sudo update-grub.  



2- Entradas para boot de imagem ISO do Ubuntu.

A- Imagem ISO do Live CD

menuentry "10.04 on /dev/sda5" {
loopback loop (hd0,5)/ubuntu-10.04-desktop-amd64.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-desktop-amd64.iso noprompt
initrd (loop)/casper/initrd.lz
}

Essa entrada  é para o Live CD do Ubuntu 10.04 numa partição NTFS em /dev/sda5.

B- Imagem ISO do Alternate CD

menuentry "Lucid Altenate on /dev/sdb,1" {
loopback loop (hd1,1)/lucid-alternate-amd64.iso
linux (loop)/install/vmlinuz boot=install iso-scan/filename=/lucid-alternate-amd64.iso noprompt
initrd (loop)/install/netboot/ubuntu-installer/amd64/initrd.gz
}

Essa entrada é para o Alternate CD do Ubuntu 10.04 no segundo HD (/dev/sdb,1).

Essas entradas são para instalação do Ubuntu direto da imagem ISO no HD.
Quem quiser experimentar consulte : Instalação do Ubuntu sem CD ou Pen-Drive.


3- Entrada para outro GRUB 2

menuentry "Grub 2 Ubuntu 10.10" {
       set root='(hd0,6)'
       chainloader +1
}

Essa entrada é para o GRUB 2 do 10.10 (alfa2) instalado em sda6.


Considerações sobre arquivos personalizados e edição do arquivo /boot/grub/grub.cfg.

O arquivo grub.cfg pode também ser editado e modificado desde que seja dada permissão para isso.
Para poder modificar : sudo chmod +w /boot/grub/grub.cfg.
Para editar : sudo gedit /boot/grub/grub.cfg.
Seria simples como mudar o menu.lst do GRUB legacy se essa permissão fosse estável e o grub.cfg não fosse sobrescrito mas não é isso que acontece.
Por padrão, e sempre que o comando update-grub é executado, o arquivo grub.cfg é feito "somente leitura" e é sobrescrito sempre que houver uma atualização, um kernel for adicionado/removido ou o usuário executar update-grub.
Dá menos trabalho criar um arquivo personalizado que, a não ser que haja intervenção do usuário, não será sobrescrito e será sempre executável.
O importante é lembrar que o arquivo 10_linux precisa voltar a ser executável nas atualizações do Ubuntu.

Outras alterações do menu

I- Retirando Kernel(s) antigo(s)

No Synaptic em Procurar digite o kernel, ex.: 2.6.31-14-generic.
Marque para remover linux-headers e linux-image desse kernel.

II- Retirando Recovery mode

sudo gedit /etc/default/grub

Descomente a linha abaixo:
GRUB_DISABLE_LINUX_RECOVERY="true"


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


Splash Images

GRUB 2 Splash Images
Instale o pacote padrão GRUB 2 splash images : sudo apt-get install grub2-splashimages.
A localização padrão para essas imagens é /usr/share/images/grub.

Configurando splash images

As splash images do GRUB 2 são controladas pelo arquivo /etc/grub.d/05_debian_theme
Edite esse arquivo como root : sudo gedit /etc/grub.d/05_debian_theme

Para o Ubuntu 9.10, encontre a linha abaixo :

for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do
Usando a imagem Lake_mapourika_NZ.tga de /usr/share/images/grub a configuração ficou assim:
for i in {/boot/grub,/usr/share/images/grub}/Lake_mapourika_NZ.{png,tga} ; do

Para o Ubuntu 10.04 faça a aleração nessa linha :

WALLPAPER="/usr/share/images/grub/Lake_mapourika_NZ.tga"

Obs.: a imagem escolhida pode estar em qualquer diretório; o importante é colocar o caminho certo.
Depois da alteração executar sudo update-grub.


Configurando a cor do texto

Estas linhas estão contidas em /etc/grub.d/05_debian_theme.

Ubuntu 9.10 :

if background_image `make_system_path_relative_to_its_root ${bg}` ; then
 set color_normal=black/black                  (mudando para white/black = cor branca do texto)
 set color_highlight=magenta/black           (blue/black = cor azul da entrada de menu default)
else


Ubuntu 10.04 :

WALLPAPER="/usr/share/images/grub/Lake_mapourika_NZ.tga"
COLOR_NORMAL="black/black"                     (mudando para white/black = cor branca do texto)
COLOR_HIGHLIGHT="magenta/black"             (blue/black = cor azul da entrada de menu default)  

 
Criando CD de boot do GRUB 2

1- CD de Boot simples do GRUB 2

Com o Ubuntu funcionando normal abra um Terminal e digite :

grub-mkrescue grub2.iso
(para o 9.10)

grub-mkrescue --output=grub2.iso
(para o 10.04)

Pode mudar grub2.iso por outro (cdboot.iso, por exemplo).

A imagem ISO gerada vai para a sua pasta pessoal (Locais > Pasta pessoal).
Grave a imagem iso em CD.


2- CD multiboot do GRUB 2

Com o Ubuntu inicializado e funcionando normal entre no Terminal e digite :

sudo apt-get install grub-rescue-pc

A imagem ISO vai para /usr/lib/grub-rescue.
Grave a imagem ISO em CD.

A principal utilidade é dar o boot em caso de perda do GRUB 2 e para sua recuperação.
Detalhes no tópico : Mil e uma maneiras de recuperar GRUB 2 e GRUB.

Fontes consultadas :

https://help.ubuntu.com/community/Grub2

http://ubuntuforums.org/showthread.php?t=1195275

http://ubuntuforums.org/showthread.php?t=1287602  
   
http://ubuntuforums.org/showthread.php?t=1302743    
   
O Ubuntu sem dúvida é a melhor Distro.
Pesquise primeiro... só depois abra um tópico.
Canal do YouTube - Blog

aleksandre

Pintinho,
É uma boa ajuda pra quem é fraco no inglês.
Esse novo grub tem suas vantagens e desvantagens; por exemplo, permitir a inclusão de uma senha criptografada em uma das opções do menu não parece ter. Como tenho um laptop, vir com a opção de recovery é muito perigoso já que dá acesso a qualquer um como usuário root. Acabei descomentando a linha GRUB_DISABLE_LINUX_RECOVERY="true" no /etc/default/grub para eliminá-la. No grub anterior eu colocava uma senha criptografada aqui.
Esconder o menu na incialização também não está fácil quando você tem dual boot. Tive que comentar todo um código condicional pra isso.

Ubiracy_Mafra

Windows 7 Home Premium / Ubuntu 14.04

diggao

#3
Muito bom, vai ajudar bastante mesmo!

Sinceramente, achei o Grub 2 super confuso, em especial na edição de entradas "personalizadas".

Na primeira vez que resolvi fazer alterações no menu, achei (e ainda acho) bem mais fácil mudar as permissões do grub.cfg e mudar tudo manualmente, do que editar dois ou três arquivos para, no fim, ter o mesmo resultado.

Só não entendi uma coisa no post:

Citar- openSUSE & Fedora ainda não adotaram o Grub 2

Isso é melhoria ???
Os computadores não são dignos de confiança... Espero que os humanos sejam...
http://linuxnanet.com  ||  http://planeta.linuxnanet.com
http://ubuntubrasil.com

pigdin

Para mim também ainda é bastante nebuloso, ainda não entendi o funcionamento do mesmo, por isso ainda não me arrisquei a fuçar nele.

Estou com pouco tempo para resolver problemas, caso dê errado e tenha que recuperar.

De qualquer modo tópicos como esse vão ajudando os mais destemidos.
Desk: Phenom X3 2GB DDR II - Win 7 / Ubuntu 10.04 64 Bits
Note MUB: Core2Duo 4GB - Win7 / Ubuntu 10.04 / Bodhi Linux.
@alexpigdin

eltonlima

Elton Lima
Analista de Suporte
Twitter: @eltonlima // Skype: eltlims // Blog: http://blog.eltonlima.com

Versuri

Descrição do procedimento muito boa porém muito confusa para os recém chegados ao mundo Linux.

Ainda não percebi a vantagem "real" do Grub2 em relação ao Grub antigo, mesmo sabendo que não pode eu edito diretamente o grub.cfg e tem funcionado, obviamente se há uma atualização do kernel ou se faço um grub-update eu perco as minhas configurações e tenho que refaze-las, estou pensando em como criar uma ferramenta para fazer estas personalizações mais facilmente.

Abraços
Versuri

jomafras

Citação de: Versuri online 18 de Novembro de 2009, 17:10
Descrição do procedimento muito boa porém muito confusa para os recém chegados ao mundo Linux.

Ainda não percebi a vantagem "real" do Grub2 em relação ao Grub antigo, mesmo sabendo que não pode eu edito diretamente o grub.cfg e tem funcionado, obviamente se há uma atualização do kernel ou se faço um grub-update eu perco as minhas configurações e tenho que refaze-las, estou pensando em como criar uma ferramenta para fazer estas personalizações mais facilmente.

Abraços
Versuri

Na verdade a intenção do tópico é de mostrar como é o GRUB 2.
As alterações na configuração sem dúvida são mais complicadas do que as do Grub legacy.
Na minha opinião, embora seja também um iniciante no GRUB 2, as mudanças foram feitas  para melhorar e com o tempo isso deve ficar mais claro para todos.
Sei que é possível mudar as permissões e editar o /boot/grub/grub.cfg mas ainda não perdi a paciência e estou tentando fazer tudo dentro dos conformes.
O Ubuntu sem dúvida é a melhor Distro.
Pesquise primeiro... só depois abra um tópico.
Canal do YouTube - Blog

Cláudio Novais

Tópico muito bom. Recomendo fixá-lo para posterior ajuda aos utilizadores!

diggao

Citação de: Versuri online 18 de Novembro de 2009, 17:10
...estou pensando em como criar uma ferramenta para fazer estas personalizações mais facilmente.

Sem dúvidas isso seria o ideal Versuri.

Se não me engano até existe uma ferramenta para alterar algumas opções básicas do grub, como cores do menu, sistema preferencial e coisas do tipo. Mas não lembro o nome da ferramenta e nem sei se funciona nessa versão do Grub.

Alguem aí lembra o nome desse programa?

Melhor ainda. Alguém sabe se é possível editar o grub com esse programa?
Os computadores não são dignos de confiança... Espero que os humanos sejam...
http://linuxnanet.com  ||  http://planeta.linuxnanet.com
http://ubuntubrasil.com

aleksandre

O programa gráfico de edição do grub é o startupmanager, mas só funciona com o grub antigo e o Usplash. Espero que possa logo-logo suportar essa nova versão.

Cálcio

Alguém saberia como adicionar uma entrada pro Mandriva 2009.
Instalei o 9.10 com o Mandriva mas na hora de rodar o Mandriva ele da o erro "file not found". Se alguém puder ajduar nisso agradeço!

UA,
Cálcio

teles

Olá Pintinho.
Uso o Kubuntu 9.10 e aproveito para parabenizá-lo pelo excelente trabalho de apresentação e configuração do Grub 2.
Seguindo suas instruções consegui configurar uma splashimage que deixou muito bonita a abertura de minha máquina.
Estou, porém, com um pequeno problema: não consigo de nenhum jeito mudar a cor do texto das entradas. Por mais que eu edite o arquivo /etc/grub.d/05_debian_theme, mudando as cores do texto, ao reiniciar a máquina o texto está sempre na cor preta (black). Apenas a entrada selecionada ficou na cor estabelecida (magenta).
Eis como está o meu arquivo na parte das cores:
set menu_color_normal=white/black
set menu_color_highlight=magenta/black.
A primeira linha já foi editada tendo escolhido várias cores, yellow, green, etc., porém sempre fica na cor preta.
Mais uma coisinha: é possível mudar a cor do texto que aparece logo abaixo das entradas?


jomafras

teles,

Depois de escolher uma imagem tive que mudar a cor do texto para ficar legível e por coincidência usar a cor branca.
Não tive esse problema que vc relata.
A configuração ficou como mostrado abaixo:

# set the background if possible
if ${use_bg} ; then
  prepare_grub_to_access_device `${grub_probe} --target=device ${bg}`
  cat << EOF
insmod ${reader}
if background_image `make_system_path_relative_to_its_root ${bg}` ; then
  set color_normal=white/black
  set color_highlight=magenta/black
else
EOF
fi

Vc não está esquecendo do comando sudo update-grub depois da alteração?
O Ubuntu sem dúvida é a melhor Distro.
Pesquise primeiro... só depois abra um tópico.
Canal do YouTube - Blog

teles

Olá pintinho.
Mais uma vez quero lhe agradecer pela orientação que me fez resolver o problema.
Eu não havia notado que o arquivo '/etc/grub.d/05_debian_theme' tinha duas partes, onde se deveria editar as cores do grub. Pois a segunda parte, após a indicação '# set the background if possible', eu não havia mexido e assim, após suas informações, também a editei e após comandar '# update-grub' e reiniciar a máquina, o grub ficou do jeito que eu queria, qual seja, com a cor do texto em branco e a cor da entrada selecionada na cor magenta.
Obrigado.
Teles