Ver Feed RSS

root@blog:/# chmod o+r *

Curso: Gerenciadores de Boot - Grub

Avalie este Post de Blog

Veja o restante deste conteúdo aqui



Lembrando que este é um conteúdo livre obtido no CDTC. A abertura dessa série de posts pode ser vista aqui.

Obrigado!

4 - GRUB



Introdução - GRUB

GRUB vem de Grand Unified Boot Loader que em português significa grande carregador unificado de boot. O GRUB vem substituindo o LILO em diversas distribuições devido à várias vantagens em relação a este. Ele é capaz de carregar uma grande quantidade de sistemas operacionais como GNU/Linux, GNU/Hurd, DOS, Windows(9x, ME, NT, 2000, XP), IBM OS/2, FreeBSD, NetBSD, OpenBSD, SCO UnixWare e QNX. Outra grande vantagem é o suporte a vários sistemas de arquivos ext2, ext3, ReiserFS, FAT16, FAT32, NTFS, FFS, JFS, XFS, minix e etc. Por ser capaz de carregar imagens de boot e múltiplos módulos o GRUB é o único boot loader capaz de carregar o conjunto de servidores do GNU/Hurd. Esse gerenciador de boot permite também buscar uma imagem de kernel através da rede, por cabos seriais, suporta também hd's IDE, SCSI, detecta toda a memória RAM disponível no sistema, tem interface gráfica com menu, interface de linha de comando e suporta acesso por terminais remotos.


Funcionamento do GRUB


Como o GRUB é um programa muito grande para caber no MBR (512 bytes), ele é dividido em duas ou três imagens, stage1, stage1.5 e stage2.

O stage1 fica no MBR a sua única função é carregar o stage1.5 ou uma parte do stage2 pois o stage1 não entende nenhum sistema de arquivos. O stage 1.5 é muito pequeno e fica nos primeiros bytes do disco logo após o MBR (esse espaço geralmente não é utilizado), esse é um estágio opcional e tem como função carregar o stage2. Por fim, o stage2, caso tenha sido carregado pelo stage1 carrega o restante de si e faz o resto dos procedimentos, mostra ou não o menu com os sistemas operacionais disponíveis, carrega na memória o núcleo do sistema operacional escolhido e passa o controle para este (ou passa o controle para outro carregador como no caso do Windows).

Para mais informações sobre o procedimento de inicialização consultar o manual do GRUB: GNU GRUB Manual 0.97


Sintaxe do GRUB

A maneira como o GRUB chama os discos e as partições é um pouco diferente do Linux, enquanto este chama a primeira partição do primeiro disco de hda1, o GRUB se refere a ela como (hd0,0), e assim segue:


Para referir a um enderço usamos o mesmo padrão, hda1/dev -> (hd0,0)/dev.

  • Note que os endereços das partições no GRUB vêm sempre entre parênteses;
  • Outra observação é que o GRUB não faz distinção entre discos IDE e SCSI.


Instalação do GRUB

Se a sua distribuição tem o GRUB como boot loader padrão ele será instalado e configurado no momento da instalação do sistema, inclusive reconhecendo outros sistemas pré-instalados. Caso a sua distribuição não instale o GRUB e você deseje por algum motivo instalá-lo, os arquivos podem ser obtidos na ftp disponível.


Onde obter o GRUB?

O GRUB pode ser obtido no endereço: ftp://alpha.gnu.org/gnu/grub/

Quando a página escolhida for carregada vão aparecer vários arquivos referentes ao GRUB, escolha algo como grub-<n>.tar.gz, onde n é a versão (procure escolher sempre a versão mais recente, no momento da construção dessa lição a mais recente era a 0.97).


Procedendo com a instalação do GRUB

Existem algumas maneiras diferentes de instalar o GRUB. Para usuários da distribuições Debian ou derivadas que contenham a ferramenta apt, basta executar os seguintes comandos no terminal:

Logue como superusuário:
#su

Em seguida dê o comando para fazer o download e instalar o grub:
#apt-get install grub

Depois de baixado e instalado devemoscria o diretório onde ficarão os arquivos necessários:
#mkdir /boot/grub

Ainda no terminal como root dê o comando
#update-grub

Para criar o arquivo de configuração menu.lst automaticamente. O último passo é instalar o GRUB no MBR:
#grub-install /dev/hda.

Uma outra forma é obtendo o pacote com os arquivos de instalação e executando os seguintes comandos no terminal:
#tar -xvf grub-<versão>.tar.gz

No novo diretório criado (grub-<versão>):
#./configure
#make
#make install


A partir desses comandos vão ser instalados o interpretador do GRUB (grub), o verificador de Multiboot (mbchk), as imagens do GRUB e também o manual contendo diversas informações. Agora é só seguir os seguintes passos como usuário root:
#mkdir /boot/grub

Ainda no terminal como root dê o comando:
#update-grub

para criar o arquivo de configuração menu.lst automaticamente. O último passo é instalar o GRUB no MBR:
#grub-install /dev/hda.


Restaurando uma instalação do GRUB

É possível também a instalação do grub num disquete para isso execute os seguintes comandos no terminal com um disquete no drive:

#mke2fs /dev /fd0
#mount /dev/fd0 /floppy -t ext2
#mkdir /floppy/grub
#cp /boot/grub/stage1 /floppy/grub
#cp /boot/grub/stage2 /floppy/grub
#cp /boot/grub/menu.lst /floppy/grub
#umount /floppy



Agora entre no terminal do GRUB:
#grub

Digite:
grub>install (fd0)/grub/stage1 d (fd0) (fd0)/grub/stage2 p (fd0)/grub/menu.lst
grub>quit


Depois disso o grub está instalado no disquete, qualquer problema que ocorrer é só dar o boot pelo disquete para acessar o seu sistema operacional.

Uma outra maneira de recuperar o grub é dando o boot no sistema a partir de um live cd de qualquer distribuição e como root executar os comandos:
#mount /dev/hdax /mnt/hdax
#chroot /mnt/hdax
#grub-install /dev/hda


Lembrando que x representa a partição onde o sistema está instalado.

Atualizado 18-01-2010 em 11:39 por Magnun

Categorias
Cursos , Gerenciadores de Boot

Comentários

  1. Avatar de PotHix
    Æ!!

    Legal o tutorial sobre o Grub cara!
    Parabens!

    Há braços
  2. Avatar de Magnun
    Vlw! Mas os créditos não são meus!!

    Só estou disponibilizando para a comunidade!

    Até mais...

+ Enviar Comentário