Fundamentos do sistema Linux - Gerenciadores de inicialização

Gerenciadores de inicialização (boot managers, em inglês) são programas responsáveis por gerenciar a inicialização de um ou vários sistemas operacionais. Nesse artigo veremos os dois principais gerenciadores de inicialização para Linux, o LiLo e o GRUB.

[ Hits: 73.045 ]

Por: Davidson Rodrigues Paulo em 18/05/2006 | Blog: http://davidsonpaulo.com/


GRUB



O GRUB (Grand Unified Boot Loader ou grande gerenciador unificado de inicialização) é um gerenciador de inicialização poderoso, com muitos recursos. Flexível e funcional, permite inicializar sistemas como Windows, DOS, Linux, GNU Hurd, BSD, OS/2 etc., além de suportar muitos tipos diferentes de sistemas de arquivos.

O GRUB possui suporte à inicialização via linha de comando, útil para uso em sistemas de alta segurança onde o acesso ao computador é altamente restrito.

A configuração do GRUB é feita através da edição do arquivo /boot/grub/menu.lst. Ao contrário do LiLo, ao se fazer modificações no arquivo de configuração do GRUB não é necessário reinstalá-lo. O GRUB acompanha programas extras que ajudam na configuração automática de seu arquivo de configuração, detectando automaticamente os diferentes sistemas operacionais e versões do kernel Linux existentes.

Abaixo, segue um exemplo do arquivo /boot/grub/menu.lst acompanhado da explicação dos seus principais parâmetros.

# Sistema padrão
default 0

# Tempo de espera antes de inicializar o sistema operacional padrão
timeout 5

# Selecionar as cores de exibição da tela de prompt
color cyan/blue white/blue

## ## Fim das opções principais ##

# Splashimage - imagem exibida no fundo da tela de prompt

splashimage=(hd0,1)/boot/grub/splash.xpm.gz

# Lista dos sistemas operacionais disponíveis
# 1ª Entrada (0). Debian GNU/Linux, kernel 2.6.8-2-k7

title Debian GNU/Linux, kernel 2.6.8-2-k7
root (hd0,1)
kernel /boot/vmlinuz-2.6.8-2-k7 root=/dev/hda2 ro vga=791
initrd /boot/initrd.img-2.6.8-2-k7
savedefault
boot

# 2ª Entrada (1). Debian GNU/Linux, kernel 2.6.8-2-k7,
# modo monousuário, para manutenção do sistema

title Debian GNU/Linux, kernel 2.6.8-2-k7 (recovery mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.8-2-k7 root=/dev/hda2 ro single
initrd /boot/initrd.img-2.6.8-2-k7
savedefault
boot

# 3º Sistema Operacional (2). Microsoft® Windows® XP
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1

  • default 0: seleciona qual o número do sistema operacional padrão de acordo com a sua entrada na lista. A primeira entrada na lista será a número 0, a segunda a número 1 e assim por diante;
  • timeout 5: o parâmetro timeout especifica o tempo que o GRUB vai esperar antes de carregar automaticamente o sistema padrão (especificado no parâmetro default). Para carregar automaticamente o primeiro sistema da lista, coloque 0. Se quiser que o GRUB fique esperando até que se escolha um sistema operacional para inicializar, comenta-se esta linha (#timeout);
  • color cyan/blue white/blue: especifica as cores utilizadas na tela de prompt;
  • splashimage=(hd0,1)/boot/grub/splash.xpm.gz: especifica o endereço da imagem de fundo que será exibida na tela de prompt;
  • title: é o título da entrada que será exibido no menu do prompt. Pode ser "Debian GNU/Linux, kernel 2.6.8-2-k7", "Microsoft Windows XP Professional", "Slackware Linux 10.1, kernel 2.4.29" etc;
  • root(hd0,1): informa o disco e partição onde está instalado o sistema operacional. Ao contrário do LiLo, que utiliza endereços absolutos do disco rígido (como /dev/hda1, /dev/hda2, etc.), o GRUB utiliza endereços físicos no estilo (hdx,y), sendo que "x" é o número do HD (0 = primary master, 1 = primary slave, 2 = secondary master, 3 = secondary slave) e "y" o número da partição (0 = partição 1, 1 = partição 2, 2 = partição 3);
  • kernel: aqui se deve especificar o endereço em que está localizado o kernel Linux (desde que se esteja configurando uma entrada para um sistema GNU/Linux), seguido das opções de inicialização. O parâmetro ro é padrão. Repare que, no GRUB, o parâmetro vga=791 é inserido na mesma linha do parâmetro kernel;
  • initrd: se o sistema utilizar initrd, ela deve ser especificada aqui. Se não utilizar, pode-se excluir essa linha ou comentá-la (#initrd);
  • savedefault: comando interno do GRUB para salvar as informações listadas anteriormente;
  • boot: comando interno do GRUB que carrega o sistema de acordo com as informações listadas anteriormente;
  • makeactive: parâmetro necessário para inicializar outros sistemas operacionais, como o Windows;
  • chainloader +1: utilizado para inicializar outros sistemas operacionais, como o Windows.

Para instalar o GRUB pela primeira vez, o comando é:

# grub-install [local]

Se quiser instalar na MBR (o padrão), coloca-se /dev/hda:

# grub-install /dev/hda

Se quiser instalar numa partição, especifique-a. Nesse caso será necessário um disquete ou um outro gerenciador de inicialização para iniciar o sistema.

# grub-install /dev/hda1

Se for instalado um novo sistema operacional ou um novo kernel extra, será preciso atualizar o menu.lst. Existe um jeito de fazer isso automaticamente, mas nem sempre funciona completamente (não há motivo para preocupação, pois não existe a possibilidade de se perder o acesso ao sistema com esse comando):

# update-grub

Informações adicionais e recursos extras podem ser obtidos nas páginas de manual do GRUB:

$ man grub

Página anterior    

Páginas do artigo
   1. Introdução
   2. LiLo
   3. GRUB
Outros artigos deste autor

Aulas particulares: Ganhando dinheiro com Linux

Vyatta, o concorrente livre dos roteadores Cisco

Hyperic HQ: monitore sua rede like a boss

Zenwalk Core: Para quem só quer o essencial

Instalando um sistema Debian GNU/Linux completo em 20 minutos

Leitura recomendada

LAMP no Debian 8 (Apache 2, PHP 5 e MariaDB)

Apresentando a distribuição OpenSuSE Linux

A teoria Linux por trás dos acessos e dos atalhos

Instalação do Zabbix 1.6 no CentOS 5

Introdução aos sistemas operacionais

  
Comentários
[1] Comentário enviado por leoberbert em 18/05/2006 - 17:43h

Bom artigo e muit bem explicado.. assim fica facil de entender as estruturas do LINUX... Abração!!!!

[2] Comentário enviado por vvvdracula em 09/02/2007 - 05:43h

Muito bem elaboradoseu artigo, parabéns prá vc
valeu
;)

[3] Comentário enviado por doradu em 08/02/2010 - 18:45h

quais as distro q ainda utilizam o lilo,

sei q o slax usa

[4] Comentário enviado por alvesueliton em 09/09/2014 - 12:34h

Meu Fedora 20 sobre BTRFS não inicia após algum tempo de uso, ou a instalar programas de emulação. Porém no KDE posso substituir o gestor de arranque em Grub, Grub2, Burg, ou Lilo
A questão é a seguinte... Qual o gestor mas adequado a BTRFS? Sem levar em conta 'boniteza', velocidade. Somente a segurança de que o sistema irá iniciar sempre, sem ter que recorrer ao modo de recuperação.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts