Páginas

domingo, 25 de janeiro de 2009

GRUB - Grand Unified Bootloader

Bom pessoal, quem nunca teve problemas com o GRUB?

O GRUB(Grand Unified Bootloader) é um multi-carregador de sistema operacional, ou seja, é capaz de inicializar diversas imagens de boot e módulos, podendo carregar sistemas operacionais como o Windows, Linux, GNU Hurd, BSD, Minix, etc.

Também permite buscar imagens do kernel pela rede, por cabos seriais, suporta discos rígidos IDE, SATA e SCSI, detecta toda a memória RAM disponível no sistema. Sua interface é voltada para linha de comandos e menus de escolha e também suporta sistemas sem discos e terminais remotos.

Vou citar as principais opções de configuração do /boot/grub/menu.lst, que deverá ser usada caso haja algum problema com o arquivo menu.lst, como remoção indevida ou se o arquivo venha a ser corrompido de alguma forma.

Parâmetros que afetam a imagem:

  • title: define o título que será apresentado no menu de boot para indicar o sistema;

  • root: determina qual é a partição raiz de uma determinada imagem;

  • kernel: informa qual a imagem de kernel que vai ser carregada. Também pode ser passado alguns parâmetros de kernel;

  • ro: monta inicialmente em modo somente leitura

  • initrd: caminho para a imagem initrd.

Abaixo segue a imagem padrão do GRUB no boot do sistema operacional, onde apenas escolhemos qual Kernel iremos iniciar o Linux ou outro SO.

GrubMenu

Caso apareça a tela abaixo e não consigamos através da tecla ESC voltar para o menu do GRUB, isso significa que de alguma forma o nosso arquivo menu.lst foi corrompido.

GrubMenuComando

Então o que devemos fazer é inserir as diretivas de boot na mão, isso pode parecer um pouco complicado, mas se tivermos em mente quais são nossas partições do Linux em nosso sistema, fica bem facil de corrigir o problema.

GrubMenuComandoStart

Vou tentar explicar o que a imagem acima se refere:

  • root (hd0,1), é a minha partição /dev/sda2 que é a partição raiz do sistema, ou seja, minha partição /;

  • kernel /boot/vmlinuz………, é a minha imagem do kernel;

  • initrd /boot/initr……, é a minha imagem initr;

  • boot, irá inicializar o processo de boot do sistema.

Após terminar o processo de boot, você conseguirá usar seu sistema Linux, normalmente, mas vale lembrar que toda vez que for dado boot no seu sistema, ele irá pedir para informar os dados acima novamente. Para que isso não ocorra será preciso criar o arquivo menu.lst na pasta /boot/grub do sistema, assim o GRUB irá funcionar como era anteriormente.

Para instalarmos o GRUB na MBR é necessário executar no terminal o comando /sbin/grub – install /dev/seu hd onde o hd poderia ser /dev/hda ou /dev/sda.

Vale lembrar que as alterações realizadas no arquivo menu.lst, podem ser feitas normalmente sem precisar reinstalar o GRUB como ocorre normalmente no LILO.

Espero ter ajudado e até a próxima.