GRUB 2 - Monte você mesmo o menu

Venho mostrar como é de grande valia, você mesmo ter o poder sobre o GRUB 2, podendo fazer a edição que quiser, sem deixar com linhas duplicadas e sem grande escrita. Tendo, assim, um menu limpo e elegante.

[ Hits: 26.310 ]

Por: Glauber GF em 26/02/2014 | Blog: http://www.vivaolinux.com.br/~mcnd2


Finalizando / Observação



Finalizando

Agora, para finalizarmos (salvar e carregar o menu no boot), temos que dar poder de execução a esse arquivo e atualizar o GRUB 2 para a mudança ser gravada no grub.cfg.

Execute os comandos:

# chmod +x 40_custom
# update-grub


Para ter uma prévia de como estará o menu do GRUB, rode o comando a seguir e verás como aparecerá o menu acrescentado:

cat /boot/grub/grub.cfg | grep "menuentry" | cut -d '"' -f 2

Observação

Nas atualizações de kernel do Debian, voltar ao modo executável do arquivo 10_linux (sudo chmod +x /etc/grub.d/10_linux) para que a alteração seja incluída no grub.cfg.

O mesmo se aplica para o arquivo 30_os-prober na troca de Windows ou outro GNU/Linux. Lembrar de retirar novamente o modo executável (sudo chmod -x...) após as alterações feitas; 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: update-grub


É isso. Dependo do que quer, pode deixar ele do seu jeito.

Artigo também publicado no Mundo GNU.

Até a próxima...

Página anterior    

Páginas do artigo
   1. Obtendo informações
   2. Criando o menu com as informações obtidas
   3. Finalizando / Observação
Outros artigos deste autor

Instalando o driver da NVIDIA atualizado para o kernel atual no Metamorphose 2.0

Erro no KDM (temas) depois de update no Sabayon

Operadoras de Banda Larga com Medição de Velocidade

Convertendo vídeos (VLC) e editando (Audacity) músicas

Transações Financeiras (Warsaw vs User Agent Overrider) - Itaú Bankline 30 horas

Leitura recomendada

Kernel otimizado? Porque não?

Instalando o APT-GET no Fedora Core

Compilando e instalando o recordMyDesktop no Linux Slackware

Firefox, Thunderbird, pastas e integração Windows e Linux

Ansible AWX

  
Comentários
[1] Comentário enviado por removido em 26/02/2014 - 09:24h

Boa dica!
Será que teria como criar um script que automatize esse procedimento?

[2] Comentário enviado por removido em 26/02/2014 - 09:56h

Bom dia..

A VOL agradece a contribuição. apenas deixando uma contribuição... na linha da página número 2 onde diz:

set root='(/dev/sda,msdos6)' :: Device/partição - onde se encontra o sistema instalado.

Na verdade essa opção da configuração do grub.cfg refere-se a partição onde encontra-se os arquivos que iniciam (kernel e initrd) o sistema.

[3] Comentário enviado por mcnd2 em 26/02/2014 - 18:52h

@costapha, só quem entende de scripts poderá opinar sobre, mais uma coisa é certa, se tem como, deve dar um trabalhinho, rS!

@eabreu, quase a mesma referência, e como tentei ser breve saiu essas palavras. No caso quando disse que "onde se encontra o sistema instalado", foi a mesma intenção de chamar os arquivos que na partição estão, sendo eles lidos para subir o sistema.

Obrigado pelos feedback.

[4] Comentário enviado por removido em 26/02/2014 - 20:09h

Glauber, no arquivo "40_custom" completo, vi que colocou as entradas dos sistemas fora da ordem das partições.

Exemplo: a ordem é "sda6", "sda5", "sda7" e "sda2".

Pergunto se essa ordenação altera o tempo de boot ou é indiferente.

[5] Comentário enviado por mcnd2 em 26/02/2014 - 20:31h

Izaias, na minha concepção é indiferente a ordem.

Deixei desse jeito para ficar os sistemas em ordem alfabética: Debian > Mageia > Sabayon > Windows. Detalhe, rS!...

Nunca percebi demora no boot ao escolher o sistema, sobe o padrão de cada SO instalado sem demora.

Só estou com um probleminha no Mageia no boot mais nada haver com o Grub 2. O problema é com IPv6 ou algo relacionado com a ethernet.

...

[6] Comentário enviado por removido em 26/02/2014 - 20:54h

Ok, explicado.


Hoje em dia temos aplicativos (como o GRUB-Customizer) para gerenciar o GRUB, mas aprender sobre o arquivo-raiz da função, é outra coisa.

Ótima contribuição!

[7] Comentário enviado por mcnd2 em 26/02/2014 - 21:57h

Valeu Izaias...

[8] Comentário enviado por maran em 28/02/2014 - 21:03h

Belo artigo, é sempre bom saber fazer na raiz, afinal um dia você pode estar trabalhando e não ter estes recursos a seu favor.

Parabéns.
Abraço

[9] Comentário enviado por mcnd2 em 28/02/2014 - 21:19h

Fala @maran, tranquilidade? Tá meio sumido brother!

Com certeza é bom saber fazer na mão grande, pois como é de grande importância o gerenciamento do boot loader assim podendo iniciar o sistema desejado arrumando do seu jeito e não dependendo do sistema para isso.

Thank you.

[10] Comentário enviado por maran em 28/02/2014 - 21:50h

@mcnd2

É igual aquela camiseta brother mv social.life /dev/null

Tava complicado muito trampo, mais estou voltando pra comunidade,
espero que em breve possa já estar contribuindo com algumas coisas novas que aprendi desde o principio : )
Isso ai já faz algum tempo que venho acompanhando os artigos da galera antiga e os seus o nível técnico vem aumentado frequentemente.
Parabéns brother !

Abraço!

[11] Comentário enviado por ruantux em 01/03/2014 - 22:04h

Excelente artigo amigo, parabéns acho que da pra adicionar mais coisas e deixar o script mais automatizado mais mesmo assim excelente artigo abraços !

[12] Comentário enviado por mcnd2 em 02/03/2014 - 00:11h

Valeu @ruantux pelo comentário.

Abraço.

[13] Comentário enviado por pguarnierr em 27/04/2016 - 09:18h

Olá!
Gostei do tutorial!
Com base nele eu tentei resolver meu problema. Tenho dois sistemas instaldos, Ubuntu ( em sda1 )e Windows 7 ( em sda2 ), e ao formatar o Ubuntu por causa de um probelma que deu, não entrava mais o Windows. Apesar de ter só esses dois sistemas, tentei adaptar seu tutorial para o meu caso. Mas não sei se tá certo. Eu elaborei as seguintes entradas no arquivo 40_custom:

## Entrada para Ubuntu
menuentry "Ubuntu 14" --class gnu-linux --class gnu --class os {
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 59e2676f-ccc1-4a1a-9469-1be120bdef8b
linux /boot/vmlinuz-3.16.0-30-generic root=UUID=59e2676f-ccc1-4a1a-9469-1be120bdef8b ro quiet acpi_osi=linux
acpi_backlight=vendor splash
initrd /boot/initrd.img-3.16.0-30-generic
}

## Entrada para Windows em /dev/sda2
menuentry "Windows 7" --class windows --class os {
insmod part_msdos
insmod ntfs
set root
search --no-floppy --fs-uuid --set=root 6543D5821B566ECE
chainloader +1
}

Note que eu modifiquei as UUID das partições e para o meu caso.
O que me deixou em dúvida são os arquivos vmlinux e o initdr.img, pois no meu terminal listou vários arquivos desses, eu não sabia o qual eu ia escolher, não tinha nenhum igual aos descritos pelo seu tutorial. E também fiquei em dúvida com o final "ro quiet acpi_osi=linux", copiei como está ali, mas em todo sistema que eu vejo, essa expressão muda de pc para pc.

Agora eu vi que ficou faltando colocar em "set root" (/dev/sda,msdos2) da entrada para Windows, eu vi agora que tinha que colocar, na parte onde era para copiar os códigos não havia.

Vamos ao resultado:
Apareceu o GRUB na inicialização com os dois sitemas descritos, o que já é bom. Ao selecionar o Windows, não entra, cai em um aviso de erro, mas numa tela roxa, não preta. O Ubuntu entra normalmente. Depois verei se é por causa do complemento que ficou faltando em "set root".


[14] Comentário enviado por pguarnierr em 28/04/2016 - 09:21h

Deu certo agora! Eu não tinha percebido, mas sem querer eu copiei a string UUID da partição spa3, ao invés da partição spa2. Eu corrigi ali e agora ao selecionar a entrada Windows também entra!
Incrível esse tutorial!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts