Editando diretamente o arquivo controlador do GRUB 2

Publicado por Alberto Federman Neto. em 13/03/2013

[ Hits: 58.261 ]

Blog: https://ciencialivre.blog/

 


Editando diretamente o arquivo controlador do GRUB 2



Introdução

No GRUB 1, Grub Legacy, você podia facilmente editar o arquivo /boot/grub/menu.list e fazer as alterações necessárias:
No GRUB 2, porém, é recomendado não editar o arquivo de controle: /boot/grub/grub.cfg, mas você pode fazê-lo, se tiver CUIDADO:
Mas em alguns casos ele estará, inclusive, protegido ou setado com permissões para que não seja editável, mesmo como Root. Se você tentar editá-lo (como dito acima) e salvar as modificações, as mesmas não serão salvas e o arquivo voltará ao original.

O arquivo grub.cfg é complicado na sintaxe e muito delicado, por isso não se recomenda editá-lo diretamente. Para fazer alterações no GRUB 2, o procedimento recomendado é editar os arquivos acessórios de configuração, por exemplo, da pasta /etc/grub.d ou da /etc/default/grub e depois gerar um novo GRUB (update-grub) e/ou apenas um novo arquivo grub.cfg (grub-mkconfig). Alguns exemplos nos Links a seguir:

Editando diretamente

Porém, tomando bastante CUIDADO, é possível desproteger e editar o /boot/grub/grub.cfg diretamente. Bom, como o arquivo é essencial, primeira coisa que devemos fazer é copiá-lo, para protegê-lo. Execute estes comandos:

cd /
$ cd boot/grub
$ sudo cp grub.cfg grub.cfg.original


Caso qualquer coisa indesejável aconteça você terá o arquivo original para restaurar. Assim:

cd /
$ cd boot/grub
$ sudo rm -f grub.cfg
$ sudo mv grub.cfg, original grub.cfg


Copiado, vamos agora desproteger o arquivo e modificar as permissões, tornando-o editável:

sudo chmod -v +w grub.cfg

Agora o arquivo é editável. É com você, por sua conta e risco.

Edite o Arquivo com um editor de textos em modo root e faça as modificações desejadas ou necessárias. Se for fazer vários testes, recomendo que faça uma cópia de segurança do arquivo editado:

sudo kate grub.cfg
sudo cp grub.cfg grub.cfg.modificado

Obs.: ao invés kate, pode usar kwrite, nano, gedit etc... seu editor favorito.

Se for modificar os cheat-codes ou os parâmetros de Kernel, lembro que o Kernel de Boot principal são as linhas que costumam ficar imediatamente abaixo do seguinte trecho:


### BEGIN /etc/grub.d/10_linux ###

Outras dicas deste autor

SwiftEasel - Novo navegador otimizado em função da distro e arquitetura de hardware

Aproveitando melhor o Terminal

Sabayon Linux e Gentoo - Como desfazer atualizações para resolver problemas

Sabayon perdeu o Grub [Resolvido]

Escolhendo drivers para antigas placas de vídeo

Leitura recomendada

Habilitando o HTML5 no Vivaldi-Snapshot

BlueJ 3.0.8 x Ubuntu 12.04: A suitable JDK couldn't be located

Configurando um servidor X

Gerador do arquivo sources.list para Ubuntu

Criando sources.list no Debian GNU/Linux

  

Comentários
[1] Comentário enviado por sergelli em 30/03/2013 - 06:16h

Acho, que em alguns sistemas, o diretótio /boot/grub não existe.
No seu lugar, o que existe é /boot/grub2. Assim, fica fácil identificar que NÃO estamos usando o gub1

[2] Comentário enviado por mrvinicius em 19/12/2013 - 13:20h

ola amigo no meu aqui não funcionou ja tentei e instalei dois editores e nada meu sistema operacional e o backtrack5 r3 tava dando erro na inicialização do modo gráfico consegui resolver e instalei mas agora na inicialização deu o mesmo problema e não consigo editar o grub.cfg por favor me ajude vlws!!!

[3] Comentário enviado por albfneto em 23/10/2014 - 19:50h

ATUALIZAÇÃO E COMPLEMENTOS:

24 de Abril de 2018.

Sim, o arquivo /boot/grub/grub.cfg pode estar em /boot/grub2, em algumas distros, como OpenSUSE, por exermplo.

Esta é outra Dica, onde é usada a edição direta do Grub2:

http://www.vivaolinux.com.br/dica/GRUB-2-Ubuntu-1404-Editando-nome-sistema-default-e-tempo-de-boot

DETALHES PARA EDIÇÃO:

Por exemplo, se você usa distros Rolling Release (que trocam o kernel automático) ou usa muitas distros, seu GRUB pode ficar "bagunçado".... Por exemplo os UUIDs não são mais achados pelo GRUB
Estas edições diretas de grub.cfg, podem ajudar a solucionar, se feitas com cuidado...

Exemplo.... suponha vc tenha um sistema, hipotético onde a swap é sda2, a Raiz, /, é sda3 e a /home é sda4.

Edite o arquivo /boot/grub/grub.cfg remova os UUIDs e coloque isto na linha do kernel:

resume=/dev/sda2 root=/dev/sda3 home=/dev/sda4
OU
real_resume=/dev/sda2 real_root=/dev/sda3 real_home=/dev/sda4

Salve o arquivo... agora, lembre-se também de editar o arquivo /etc/fstab. Nele, comente as linhas com UUIDs e deixe assim.

/dev/sdb2 swap swap sw 0 0
/dev/sdb3 / ext4 defaults 1 1
/dev/sdb4 /home ext4 defaults 1 2

Mais uma Dica: Suponha, você teve os GRUBs bagunçados, eles não funcionam, mas os grub.cfg de cada distro estão intactos.

Edite o /boot/grub/grub.cfg principal (o que funciona) e coloque as linhas de boot, de cada um de seus Linux, entre as linhas que tem a string "40", assim:

### BEGIN /etc/grub.d/40_custom ###
# 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.
COLOQUE AS LINHAS DE CADA BOOT< DE CADA UM DE SEUS LINUX< AQUI.
### END /etc/grub.d/40_custom ###

Essas técnicas que descrevo nesta Dica, insisto, precisam ser feitas com cuidado, porque se errar, você pode perder o boot,ou a montagem de alguma partição.

Elas se baseiam em configurações clássicas, do tempo do "Dinossauro" UNIX.

Espero ter ajudado, até a próxima.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts