• Home
  • Fórum
  • A Cidade
    • História
    • Fotos da Cidade
    • Mapa de Marabá
  • Tutoriais
    • PHP
    • Linux
    • Delphi
    • Web Designer
    • UML
    • Redes de Computadores
    • Super Dicas
  • Vídeos
  • Entre em contato
  • Leia um Manga
  • Downloads

MarabáWeb

O portal do Conhecimento

Pesquisa Google

Principal

  • Home
  • Fórum
  • A Cidade
  • Tutoriais
  • Vídeos
  • Marabaweb Messenger
  • Velocímetro
  • Downloads

Assine nosso Feed

feed-image

Artigos recentes

  • Um servidor em LINUX sem complicações!
  • Organizando a lista de boot (GRUB)
  • Easter Egg no Windows 7!!!!!
  • Linux é melhor opção para servidores que Windows
  • O que é FIREWALL ?
Submarino.com.br

Não Perca esta Promoção

Submarino.com.br

O temível GRUB 2 - Tutorial

postdateiconSex, 18 de Junho de 2010 11:03 | postdateiconÚltima atualização em Sex, 18 de Junho de 2010 11:07 | postauthoriconEscrito por Administrator | PDF | Imprimir | E-mail
Share
Tweet

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 :

Código:

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


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:

sudo  chmod -x /etc/grub.d/10_linux /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
"Ubuntu 10.04" --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.

O título do Ubuntu mudou de
Ubuntu, com Linux 2.6.32-22-generic para Ubuntu 10.04.
O título do Windows mudou de
Windows 7 (loader) (on /dev/sda1) para Windows 7.

Outros Linux = mesmo modo.

Lembrando :
Nas atualizações de kernel do Ubuntu 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.  


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.


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



Splash Images

GRUB 2 Splash Images
Instale o pacote padrão GRUB 2 splash images :

Código:

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 :

Código:

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)  



Manipulando Entradas no GRUB 2


I- 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).

II- Retirando Recovery mode

Código:

sudo gedit /etc/default/grub

GRUB_DISABLE_LINUX_RECOVERY="true" (retira)
#GRUB_DISABLE_LINUX_RECOVERY="true" (adiciona)

III- Retirando Memtest86+

Código:

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



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 :

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.


2- 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.

Fonte: http://ubuntuforum-br.org/index.php/topic,58947.0.html



Compartilhe esse conteúdo!!!
 Mais...

Comentários  

 
0 #3 30/03/2011 17:25
Nota 1000....
Citação
 
 
0 #2 30/03/2011 17:25
Nota 10,,,perdi o medo do grub 2, com este artigo....hehehe muito bommmmm....
Citação
 
 
0 #1 cdnsolution 12/12/2010 01:06
desde ja foi um guia excelente pra mim que fiz o download do ubuntu 10 e estou estudando linuxo. realmente ao fazer a instalacao fica varios menus no grub. e consegui remover o recovery mode e memtest. quanto a alteracao de titulo fiz 40_c.ustom a modifacao copiando os codigo. so que ao fazer isso foi adicionado os 2 itens alterado ( ubuntu e windows ). como faco pra remover os menus errados? porque no caso nao foi modificado, foi editado o arquivo [censored]stom e recriado o grub constando a modificacao junto com o que ja havia, grato!
Citação
 
Atualizar lista de comentários
Feed RSS para comentários deste texto

Adicionar comentário

Neste site não serão permitidos comentários que insultem ou denigrem pessoas ou grupos de pessoas.


Código de segurança
Atualizar

Enviar
Cancelar
JComments
Copyright © 2011 www.marabaweb.com. Todos os direitos reservados.

Valid XHTML 1.0 Transitional CSS válido! CSS válido!

Designed by André Moreira de Sousa.