Novidades e mudanças na estrutura e configuração do Grub2, fique por dentro!

Neste documento abordo as mudanças existentes na nova versão do Grub designada grub2, que por sua vez traz novas formas e conceitos para a manipulação do mesmo. Vale a pena conferir.

[ Hits: 38.710 ]

Por: José Cleydson Ferreira da Silva em 04/01/2010


Conceitos de inicialização e conhecendo Grub 2



Introdução

Para aqueles que utilizaram o gerenciador de boot Lilo durante um bom tempo podem falar, ele era bem simples de se configurar, lembro-me que utilizei-o na distro Kurumin 5 e tive opções de usá-lo no Kurumin 7em casos de erros do grub, porém com a sua saída de cena e vigorando o grub, muitas pessoas passaram a buscar informações de como configurar o novo gerenciador de boot. Como as pessoas estavam acostumadas como o diretório /etc/lilo.conf, tiveram que se adaptar as novas formas e convenções de configuração. Durante muito tempo a configuração do grub se dava por intermédio do diretório /boot/grub/menu.lst, porém algumas mudanças vieram na versão 1.97 (beta).

Agora há uma nova forma de se configurar e um novo arquivo para se configurar. E o objetivo desse é esclarecer uma melhor forma de se entender e configurar o seu gerenciador de boot. Com isso iremos falar um pouco dos setores de inicialização e a configuração do grub. Mas além dessas mudanças novas funções estão por vir juntamente da nova versão.

Setor de inicialização

Sempre que ligamos o nosso computador, existem instruções que no indicam inicialização do sistema, ou um boot através da rede o que acontece com terminais LTSP (Linux Terminal Server Project). Mas é importante lembrar alguns conceitos envolvidos na inicialização do sistema. Quando instalamos o sistema operacional Linux em um disco rígido o próprio sistema se encarrega de deixar um um espaço reservado para o primeiro setor, onde conterão informações importantes para a inicialização de um sistema, esse setor é chamado de MBR (Master Boot Record). A MBR é um setor extremamente pequeno que possui informações super importantes para o arranque do sistema operacional, situada no primeiro setor do disco: a trilha zero. Possuindo apenas 512 bytes que são divididos conforme uma estrutura organizacional do disco, como mostra a tabela 1.
Linux: Novidades e mudanças na estrutura e configuração do Grub, fique por dentro!
Tabela 1
Os primeiros 446 bytes possuem informações de onde iniciar o sistema e para onde irá apontar quando iniciar, ou seja códigos de inicialização. Os 16 bytes de cada celula da coluna de partições são responsáveis por informar onde iniciam e terminam cada partição do sistema e o tamanho que cada uma possui. E as assinaturas ocupam 2 bytes.

Em casos de instalação do sistema operacional Windows nas versões existentes, o gerenciador de boot durante a sua instalação não mantém essa tabela, ocasionado uma destruição da mesma quando instalado, o que causa uma perda total da MBR, porém a eficiência do grub é a permanência dessa tabela quando instalado respeitando a sequência já estabelecida por sistemas operacionais instalados, portanto, ele permite que ao boot você tenha opção de escolher qual sistema você quer usar, o que não há similar no Windows. Como já sabemos parcialmente o que acontece com os setores de inicialização, vamos entender o que há de novo ou que mudou na nova versão do grub.

É por essa e outras razões que o diretório /boot não necessita de grande espaço em disco, são suficientes 100 megas para esse diretório, mas lembre-se na dúvida deixe sempre uma quantidade de espaço livre para casos de atualizações do kernel e arquivos de inicialização, quando há uma atualização e o diretório /boot estiver com pouco espaço ocorrerá um erro de instalação culpando no dpkg (ATENÇÃO: esse é o pulo do gato!). Bom, mas por que deixar o /boot em uma partição separada? Em caso de instalação para servidores é mais seguro fazer esse tipo de instalação, para em caso de erro ou perdas será mais fácil recuperar. Abaixo relato todo processo de inicialização.

1) O BIOS busca um dispositivo que faça o carregamento do SO (normalmente um disco rígido) e move o controle para o MBR ou Master Boot Record. O MBR é situado nos 512 primeiros bytes do disco.

2) O MBR contém o estágio 1 do GRUB. Dado o pequeno tamanho deste estágio, ele apenas carrega o próximo estágio do GRUB (que pode residir em qualquer locação do disco). O estágio 1 pode carregar o estágio 1.5 ou o estágio 2 diretamente.

3) O estágio 1.5 é localizado nos 30 primeiros Kb do disco imediatamente após o MBR. O estágio 1.5 carrega o estágio 2.

4) O estágio 2 recebe o controle, e mostra ao usuário o menu com as opções de sistemas operacionais instalados no sistema.

5) O GRUB carrega na memória o núcleo (kernel) do SO escolhido (ou o padrão) e passa o controle a este núcleo. (Para sistemas operacionais não suportados totalmente pelo GRUB, o controle é passado para outro carregador que continua o processo até carregar o núcleo em memória). (www.wikipedia.org)

O que mudou e o que há de novo na versão 1.97 do Grub

O grub originou-se de um pacote cujo o nome era Grand Unified Bootloader, que por sua vez foi implementado por Erik Stefan Boleyn. A nova geração do grub designada GNU Grub 2, substituiu o Grub legacy (legado) versão 0.97, que não está sendo desenvolvido. O desenvolvimento da nova versão do grub está sob a responsabilidade do projeto PUPA que o reescreveu do zero com objetivo de torna torná-lo modular e portável. Com isso alcançar mais robustez e segurança, mas para isso estão propondo as seguintes mudanças.
Linux: Novidades e mudanças na estrutura e configuração do Grub, fique por dentro!
  1. Utilizar interface gráfica.
  2. Carregamento dinâmico de módulos.
  3. Utilização de linguagens de script, para melhor personalização
  4. Adicionar suporte para outras arquiteturas, bem como, UltraSparc e PowerPC.
  5. Criar uma imagem de núcleo mais compacta.
  6. Suporte para demais línguas (internacionalização).
  7. Utilizar drivers do Etherboot para implementar o conceito de netboot.
  8. Estrutura orientada à objeto para sistema de arquivos, discos e entre outros
  9. Superação à falha de RAID.

Essas mudanças requerem um novo conceito e conhecimento para configuração, portanto colocarei aqui algumas formas e configurações que usei, caso tenham dúvida podem entrar em contato.

    Próxima página

Páginas do artigo
   1. Conceitos de inicialização e conhecendo Grub 2
   2. Instalando e configurando grub 2
   3. Considerações
Outros artigos deste autor

Gerência de projetos com Redmine

Bioinformática - PhyML: alinhamento de sequências nucleotídicas em ambiente paralelo

Elaborando vídeo-aula no Linux com Gtk-recordMydesktop

Compiz e as estações do ano

Bioinformática - Instalação do SNAP workbench

Leitura recomendada

Como desenvolver com Docker no Linux dentro do Windows sem dual boot - WSL 2

Instalando o Kink - Monitoração de tinta de impressoras HP e Epson

Estudo sobre os tipos de gerenciamento do SO Linux

Monitorando Host via IPMI no Zabbix

AIXGL + Beryl + Slackware + ATI

  
Comentários
[1] Comentário enviado por HolyMurderer em 04/01/2010 - 14:45h

Trás, de traseira, em vez de traz, do verbo trazer... Bem "escrevido"... (sim, estou a ser sarcástico).

[2] Comentário enviado por cleysinhonv em 04/01/2010 - 16:39h

Olá HolyMurderer,

Obrigado pela observação, já pedi ao moderador para gentilmente fazer essa correção. Obrigado pela contribuição.


[3] Comentário enviado por removido em 05/01/2010 - 17:11h

Artigo sobre grub 2 mais esclarecedor até agora, minha única ressalva é: melhor explicar para que serve determinada linha de arquivo ou um parâmetro do que apenas dizer não use. Quanto ao resto meu camarada, meus parabéns.

[4] Comentário enviado por cleysinhonv em 06/01/2010 - 07:23h

Olá Da Hora,

Obrigado pelo comentário, as vezes tem opções de configuração que nunca funcionam portanto eu coloquei - Não use - Por não ter funcionado em hipótese alguma. O que na verdade poderia ter colocado algo mais criativo realmente.

Um abraço!

[5] Comentário enviado por magnolinux em 06/01/2010 - 09:33h

muito bom.. realmente estava faltando falar da nova versão do grub, esse tema tem gerado muitos
post..

continue contribuindo com otimos artigos.

abraço.;.

[6] Comentário enviado por cleysinhonv em 06/01/2010 - 10:06h

Olá magnolinux (Magno)

É sempre bom escrever artigos dessa natureza, e entender que é um contexto atual, o grub em minha opnião teve mudanças severas, que podem nos ajudar muito ou atrapalhar.
Obrigado por comentar.

um abraço

[7] Comentário enviado por removido em 06/01/2010 - 11:32h

Olá cleysinhov mais um feedback pro seu artigo:

Testei a opção GRUB_HIDDEN_TIMEOUT_QUIET e funcionou, ela habilita um contador onde mostra o tempo que falta para dar boot no sistema selecionado.

GRUB_HIDDEN_TIMEOUT_QUIET=false ****HABILITA CONTADOR

GRUB_HIDDEN_TIMEOUT_QUIET=true ****CONTADOR DESABILITADO

Abraço.

[8] Comentário enviado por cleysinhonv em 06/01/2010 - 12:15h

# Da Hora

Que ótimo, quando usei essa opção ele ficou infinitamente esperando entrar. Mas acredito que algumas coisas que testei e não funcionaram, devido a atualização da distro (9.04 -> 9.10), via linha de comando e não instalação. Então algumas coisas deram errado. Tenho a mania de documentar tudo que acontece de errado e a forma de resolver para não ter que sofrer duas vezes. Então, poderia ter feito uma nova instalação e testar novamente, mas não tive tempo de fazer isso. Mas é bom o seu feedback que nos ajuda a descobrir boas práticas na hora de configurar. Fico imensamente grato de receber a sua sugestão e feedback, muito obrigado!

Um abraço

[9] Comentário enviado por removido em 06/01/2010 - 14:47h

Pois é me veio uma coisa a mente agora que você falou da atualização da distro. Lembro que logo que vi sobre o novo grub não esperei as atualizações automáticas e atualizei via aptitude, porém todo comando dado no novo grub voltava com um erro pedindo para fazer upgrade com o comando upgrade-from-grub-legacy.
Feito esse comando não teve mais erro, não sei se é o caso.

Abraço.

[10] Comentário enviado por cleysinhonv em 06/01/2010 - 15:25h

# Da_Hora

O comando upgrade-from-grub-legacy, refere-se ao grub 0.97 (legado), mas em minha opnião o grub ficou mais complicado de configurar. Mas precisamos usa-lo e reportar os erros para que possam ser corrigidos rapidamente.


[11] Comentário enviado por carlosfarah em 06/01/2010 - 22:23h

Cara, primeiramente parabéns pelo artigo, ficou muito bom, não foi o fato do "tras" estar escrito com s que o artigo deixou de ser útil, ou seja, sem picuinhas, estamos num site de informática, quer dizer, se o título do site fosse "Viva o Português" o comentário do nosso amigo acima seria altamente últil, porém no entanto...

Ahhhh.... obrigado mais uma vez pela considerações viu!!!!


Vlw!!!!


Ironia: não deixe de ser mais formal no próximo artigo viu!!!!

[12] Comentário enviado por cleysinhonv em 07/01/2010 - 07:21h

Olá Carlos,

Realmente passei despercebido na hora de escrever, forças ocultas as vezes nos faz errar e errar é humano, ajudar quem errou é mais humano ainda, né. O nosso amigo (Português - Portugal, Lisboa) Holy Murderer, acabou me dando uma ajuda sarcástica.

Um abraço Carlos, mais uma vez obrigado!

[13] Comentário enviado por ximenesss em 08/01/2010 - 12:31h

Quando liguei meu Ubuntu 9.10 após uma atualização ele apareceu na primeira tela de boot o seguinte:

GNU GRUB VERSION 1.97 BETA 4

MINIMAL BASH-LIKE LINE EDITING IS SUPORTED FOR THE FIRST WORD, TAB LISTS POSSIBLE COMMAND COMPLIETIONS. ANYWHERE ELSE TAB LISTS POSSIBLE DEVICE/ FILE COMPLETIONS.

o que devo fazer?

[14] Comentário enviado por cleysinhonv em 08/01/2010 - 12:43h

Ola ximenesss (Gabriel)

Como foi essa atualização, você atualizou após a instalação através do CD ou da distro 9.04 para 9.10?

[15] Comentário enviado por kinho228 em 08/01/2010 - 13:08h

adorei o artigo...

continue contibuindo mais..
abração meu amigo..

[16] Comentário enviado por cleysinhonv em 08/01/2010 - 13:36h

Olá kinho228 (Erly)

Obrigado pelo apoio e incentivo.

Um abraço amigo!

[17] Comentário enviado por aleksandre em 12/01/2010 - 08:49h

Parabéns pelo artigo!
Muito útil. Sugiro que vá aprimorando esse post, por exemplo, acrescentando explicações para a opção de ocultar o menu e até como colocar uma senha na inicialização de um dos sistemas (na versão anterior isso era possível, não encontrei referências quanto ao novo); como fazer para eliminar do menu referências ao perigosíssimo recovery mode (que dá acesso de root a qualquer indivíduo) e ao inútil Memory test.
Mas são só sugestões, o artigo já está excelente!
Fica na paz!

[18] Comentário enviado por cleysinhonv em 12/01/2010 - 12:59h

Olá aleksandre,

Realmente poderia ter acrescentado mais algumas coisas, e essas observações que fez são extremamente úteis e louváveis. Quando implementei este documento tive algumas dificuldades de encontrar documentos claros nas pesquisas que relatasse isso, acredito que essa nova versão pode trazer melhorias ou complicações, entendendo que se tornou mais complicado para configurar.
Agradeço imensamente a sugestão, obrigado pelo feedback, tenho certeza que as próximas versão deste documento estará mais e rica e agradável por sugerir essas melhorias.

Um forte abraço!
@cleysinhonv

[19] Comentário enviado por hugo luiz em 23/03/2011 - 21:56h

Muito bom o artigo e bem inteligêbte a forma de como foi eleborado. Com isso pude tirar dúvidas que gardava sobre GRUB. Fico grato pela iniciativa.
vlw


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts