"Não encontre um defeito, encontre uma solução."
Henry Ford

GRUB 2

Posted by giltonmal 0 Comment

Para quem está usando a versão do Ubuntu 10.04 ou a 9.10 sabe que o GRUB está com algumas diferenças, pois este é o GRUB 2.
O GRUB 2 é  o gerenciador de boot do Ubuntu 9.10, 10.04 e outros sistemas.
GRUB 2 é um software Open Source descendente do GRUB (GRand Unified Bootloader).
Foi completamente reescrito para dar ao usuário flexibilidade e performance significativamente aumentadas.

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
- sem suporte a plataforma x-86 (tal como PowerPc)
- suporte universal a UUIDs (não apenas o Ubuntu)

GRUB 2

GRUB vs GRUB 2

O menu do GRUB 2 parecerá familiar aos usuários do Grub mas há muitas diferenças internamente.

- 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 formalmente 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 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 (não mudou)
- 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

Código:
sudo update-grub

seja executado

Instalação

Versão instalada no seu sistema :

Código:
grub-install -v

O GRUB 2 vem instalado por padrão no Ubuntu 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.
Para saber onde o GRUB 2 está instalado digite no terminal

Código:
sudo grub-probe -t device /boot/grub

para a partição e

Código:
sudo grub-probe -t fs_uuid /boot/grub

para a UUID.

Hierarquia de arquivos e diretórios

/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

Código:
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.

/etc/default/grub

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

/etc/grub.d/ (diretório)

Os arquivos nessa pasta são lidos durante a execução do comando

Código:
sudo update-grub

e suas instruções são incorporadas ao /boot/grub/grub.cfg.
A colocação dos ítens de menu no grub.cfg é determinada pela ordem em que os arquivos são executados nessa pasta.
Arquivos com  numeral no início são executados primeiro começando pelo menor. 10_linux é executado antes de 20_mentest que é executado antes de 40_custon
Entradas personalizadas podem ser criadas no arquivo 40_custom ou num outro recém criado.
Somente arquivos executáveis geram saída para o grub.cfg durante a execução do update-grub.

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 para o menu inicial.

- 10_hurd : não usada.

- 10_linux : localiza kernels no root device 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. Para inibir remova o executável sudo chmod -x /etc/grub.d/20_memtest86+ e depois sudo update-grub.

- 30_os-prober : procura por Linux e outros sistemas operacionais.Resultados são colocados no grub.cfg baseando-se nos scripts desse arquivo.  Variáveis nesse arquivo determinam o formato dos nomes exibidos no /boot/grub/grub.cfg e no menu do GRUB 2. Usuários familiarizados com scripts básico podem alterar essas variáveis e mudar o formato das entradas de menu exibidas. Alternativamente o usuário pode inserir uma entrada no /etc/default/grub a qual desativa esse script.

- 40_custom : Para adicionar entradas de menu personalizado que serão inseridas no grub.cfg depois de update-grub. Mais informações sobre esse arquivo na parte de configuração.

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=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
Adicione ou 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.

Mais informações em: https://help.ubuntu.com/community/Grub2

See you ^^

Posts relacionados:

  • Sem posts relacionados
Categories: Linux

About giltonmal

Graduando em Ciência da Computação na Universidade Federal de Alagoas (UFAL). Bacharelando em Sistemas de Informação no Instituto Federal de Educação, Ciência e Tecnologia de Alagoas (IFAL, antigo CEFET-AL). Técnico em Informática, com âmbito em administração e Projetos de Reses, pelo Instituto Federal de Educação, Ciência e Tecnologia de Alagoas (IFAL, antigo CEFET-AL)(2009). Fui monitor de laboratório e de disciplinas dos cursos de informática do IFAL por mais de 3 anos (2006-2009). Lattes: http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4463627J0