(61) 3223-3000

Fale conosco

 

Configuração do GRUB 2

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= 5
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=640×480
Descomente essa linha para mudar a resolução. Ela fornece resoluções suportadas pela placa de vídeo do usuário (640×480,
800×600, 1280×1024, 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 no GRUB 2

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. (40_custom)

- 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.
Caso você tenha atualização de kernel, deve-se voltar o grub2 ao estado original, e somente após a atualização, você voltará a personalização.

Criando menus personalizados no GRUB 2

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 ou as entradas que o grub.cfg colheu de informações dos scripts. 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

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 :

Código:

desabilitando os scripts
$sudo chmod -x /etc/grub.d/10_linux /etc/grub.d20_memtest /etc/grub.d/30_os-prober

Como as alterações de kernel são muito frequentes no Ubuntu, será preciso tornar o arquivo /etc/grub.d/10_linux novamente executável nessas alterações, para que a mudança seja incluida no grub.cfg; o processo de mudança no título deve então ser refeito. O mesmo se aplica para para alterações de Windows e outros Linux.
Depois de toda e qualquer alteração é preciso executar sudo update-grub para surtir efeito.

A-Alteração nos títulos do Ubuntu e Windows.

I- Abrir o arquivo /boot/grub/grub.cfg em Locais > Computador > Sistema de Arquivos > boot > grub > grub.cfg.
Ou editar pelo Terminal : sudo gedit /boot/grub/grub.cfg.

II- Para o Ubuntu copiar a primeira entrada do kernel no início do arquivo /etc/grub.d/10_linux.
Para o Windows copiar a entrada correspondente ao início do arquivo /etc/grub.d/30_os-prober.

Ubuntu (copiar) :
### BEGIN /etc/grub.d/10_linux ###
menuentry ‘Ubuntu, com Linux 2.6.32-22-generic’ –class ubuntu –class gnu-linux –class gnu –class os {
recordfail
insmod ext2
set root=’(hd0,3)’
search –no-floppy –fs-uuid –set e0e87629-8a5a-49a6-b7c6-d90f93fbcf5d
linux /boot/vmlinuz-2.6.32-22-generic root=UUID=e0e87629-8a5a-49a6-b7c6-d90f93fbcf5d ro quiet splash
initrd /boot/initrd.img-2.6.32-22-generic
}

Windows (copiar) :
### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Windows 7 (loader) (on /dev/sda1)” {
insmod ntfs
set root=’(hd0,1)’
search –no-floppy –fs-uuid –set bc1c7d2e1c7ce534
chainloader +1
}

III- Editar o arquivo /etc/grub.d/40_custom
Código:
sudo gedit /etc/grub.d/40_custom
colar as entradas copiadas do grub.cfg e fazer a mudança dos títulos :

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

## BEGIN /etc/grub.d/10_linux ###
menuentry “Debian” –class ubuntu –class gnu-linux –class gnu –class os {
recordfail
insmod ext2
set root=’ (hd0,2) ‘
search –no-floppy –fs-uuid –set a4d801dd-55fd-4971-b64b-c9914d1cb468
echo Carregando Linux false …
linux /boot/vmlinuz-2.6.32-16-generic root=UUID=a4d801dd-55fd-4971-b64b-c9914d1cb468 ro quiet
echo Carregando ramdisk inicial …
initrd /boot/initrd.img-2.6.32-16-generic
}

### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Windows 7″ {
insmod ntfs
set root=’ (hd0,1) ‘
search –no-floppy –fs-uuid –set bc1c7d2e1c7ce534
chainloader +1
}

Salvar as alterações.

Outros Linux = mesmo modo.

Lembrando :
Nas atualizações de kernel do Ubuntu/Debian será preciso tornar o arquivo /etc/grub.d/10_linux novamente executável, 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); o processo de mudança no título deve então ser refeito.
Depois de toda e qualquer alteração é preciso executar
#sudo update-grub.

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 vim /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. As alterações devem ser feitas no arquivo /etc/default/grub e nos arquivos do diretório /etc/grub.d/40_custom

Colocando imagens no grub2

ATENÇÃO: As configurações diferem em relação Ubuntu e Debian.

GRUB 2 Splash Images
Instale o pacote padrão GRUB 2 splash images :
Código:
# apt-get install grub2-splashimages

A localização padrão para essas imagens é /usr/share/images/grub.

Configurando splash images

No Debian 6

#vim /usr/share/desktop-base/grub_background.sh, nele edite o caminho da imagem e as cores. No grub_background.sh verá 3 linhas de comando edite o endereço da imagem desejado, logo abaixo edite as cores do grub….como exemplo segue abaixo:

WALLPAPER =/usr/share/images/grub/imagem_escolhida.extensão
COLOR_NORMAL=light-gray/black
COLOR_HIGHLIGHT=white/black

Nestas linha você poderá alterar endereço de imagem e tipo de cores conforme sua vondade

salve saia
#update-grub

No ubuntu

As splash images do GRUB 2 são controladas pelo arquivo /etc/grub.d/05_debian_theme

# vim /etc/grub.d/05_debian_theme
dentro do aquivo sete o endereço da imagem que deseja, assim ao reiniciar o grub estará com sua imagem.

Não se esqueça de trabalhar as cores do menu.

Lembre-se de que você pode escolher qualquer imagem, basta você colocar o enderço desejado, ou copiar para /usr/share/images/grub, assim sete no arquivo o endereço, salve , saia e atualize o grub: #update-grub

Escalando privilégios pelo Grub2

Aqui nós vamos ver como invadir o sistema, escalando privilégios de root no grub2. Vamos lá:

Ao iniciar o sistema, pare o tempo de contagem regressiva do grub2, leia atentamente o que o menu inferior lhe diz. Tecle ‘e’ para edição de linha do grub. Pronto, assim você estará tendo totais condições de alterar dados de configuração do grub. Mas lembre-se que as alterações estão em memória cache.

Procure a linha de comando da imagem do kernel como exemplo abaixo:

menuentry ‘Ubuntu, com Linux 2.6.32-22-generic’ –class ubuntu –class gnu-linux –class gnu –class os {
recordfail
insmod ext2
set root=’(hd0,3)’
search –no-floppy –fs-uuid –set e0e87629-8a5a-49a6-b7c6-d90f93fbcf5d
linux /boot/vmlinuz-2.6.32-22-generic root=UUID=e0e87629-8a5a-49a6-b7c6-d90f93fbcf5d ro quiet splash
initrd /boot/initrd.img-2.6.32-22-generic
}

Nesta linha você apagará o ‘ ro quiet splash’ e incluirá rw init=/bin/bash. Vamos as explicações:

‘ro’ declara que o usuário acessará o sistema somente com read only, ou seja, teria que logar no sistema com usuário e senha para se tornar root.

Trocamos para ‘rw’ read and writer….ou seja já teriamos condições de ler e executar certos diretórios e, por assim chamaria o comando init=/bin/bash, ou seja, o init, será inicializado chamando o bash, assim já estaria em situação root.

Note que, ao entrar no sistema você está como root@none.

Protegendo o grub com usuário e senha

Rode o comando:
#grub-mkpasswd-pbkdf2 >> /etc/grub.d/00_header
Coloque a senha “ não aparecerá nada”
Repita a senha “ não aparecerá nada”

Vamos às explicações:

O ‘>>’, faz com que todas as informações sejam acrescidas ao final do arquivo setado. No caso o 00_header
após isso, edite o 00_header, verá a senha ao final desse arquivo, apague o que for necessário deixando da forma abaixo, incluindo e apagando o que for preciso.

cat << EOF
set superusers=”testuser”
password_pbkdf2 testuser grub.pbkdf2.sha512.10000.706A070CD168B759801D2790C6D48D5C3842B9165CF08600918CD9A496B6BFF9CD9BB8F7C99DEC431DF3AD0D466709ECE041FC00C5C1B58F00A879E0322959B7.6FC5058001DFFC1CD6B35F9A5DA66ED6C8745E4999E064E712C9BF302E8F2547CD0B591C33A340F229FD79D2252E23CFC41410C9A3300537E54C9CE6F7008100
EOF

Onde testeuser é o usuário que você escolher.
Acima as linha não foram formatadas de forma igual ao do arquivo, mas após testuser grub-mkpasswd-pbkdf2……………..

Lembre-se de rodar
#update-grub

Ao reiniciar o sistema verá que se solicitar a tecla de edição “e” será solicitado usuário e senha.

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.

Retirando Entradas do GRUB 2

Retirando Kernel(s) antigo(s)

No Synaptic em Procurar digite o kernel, ex.: 2.6.31-14-generic.
Marque para remover as citações desse kernel (linux-headers e linux-image).

Retirando Recovery mode

Código:
sudo gedit /etc/default/grub
GRUB_DISABLE_LINUX_RECOVERY=”true” (retira)
#GRUB_DISABLE_LINUX_RECOVERY=”true” (adiciona)

Retirando Memtest86+

Código:
sudo chmod -x /etc/grub.d/20_memtest86+

Criando CD de boot do GRUB 2

CD de Boot simples do GRUB 2

Com o Ubuntu funcionando normal abra um Terminal e digite :

Código:
grub-mkrescue grub2.iso
(para o 9.10)
Código:
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.

CD multiboot do GRUB 2

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

Código:

sudo apt-get install grub-rescue-pc

A imagem ISO vai para /usr/lib/grub-rescue. Grave a imagem ISO em CD.
Por hoje é só pessoal, em breve teremos novos posts. Gostou do artigo? Comente!

Tags:

Facebook

Twitter

Redes Sociais