Escolar Documentos
Profissional Documentos
Cultura Documentos
Tentativa: 2
O que é um carregador de boot?
O processo de boot
Toda vez que o micro é ligado ou reiniciado o primeiro software a entrar em ação é o
BIOS da placa-mãe que conta toda a memória disponível, reconhece alguns
dispositivos como HD's, cdrom, gravadoras e procura algum dispositivo de boot, que
tanto pode ser um cd, um disquete, um dispositivo usb, o disco rígido ou qualquer
outro que a placa-mãe suporte, esse processo é chamado de POST (Power-on Self
Test). No caso em que o dispositivo de boot é o disco rígido, o próximo passo é a
leitura do primeiro setor do disco, chamado de MBR(Master Boot Record). Nesse
setor fica o carregador , na verdade um pequeno "software" indica o BIOS a carregar
o "executável" do LILO ou do GRUB em alguma parte do disco, pois o MBR tem
apenas 512 bytes, 446 para esse pequeno software e 66 para a tabela de partições,
onde ficam registrados algumas informações sobre as partições do disco. Após esse
processo o carregador passa o controle do sistema operacional para o kernel, no
caso de sistemas Unix-like, ou carrega o boot loader do outro sistema (caso do
Windows).
LILO
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.
Lição 2 - LILO
Tentativa: 2
Introdução - LILO
LILO vem de Linux Loader que significa carregador do Linux. É o principal
gerenciador de boot do Linux, vem como padrão em diversas distribuições. O LILO
pode ser carregado através de um disquete ou de um HD, tanto IDE quanto SCSI.
Ele tem suporte a Multiboot, o que permite que até dezesseis sistemas operacionais
diferentes possam ser instalados na mesma máquina como, por exemplo,
GNU/Linux, Windows, BSD's, SCO Unix, UnixWare, IBM OS/2, e também trabalha
com a maioria dos sistemas de arquivos suportados pelo Linux. Uma simples
interface gráfica permite a escolha do sistema a ser carregado e um terminal de
linha de comando permite outras configurações.
Instalação do LILO
Grande parte das distribuições Linux vem com o LILO como boot loader padrão. No
momento da instalação do sistema o LILO já é instalado e configurado, inclusive
reconhecendo outros sistemas pré-instalados. Caso a sua distribuição não instale o
LILO e você deseje por algum motivo instalá-lo, os arquivos podem ser obtidos em
uma das ftp disponíveis.
ftp://tsx-11.mit.edu/pub/linux/packages/lilo/
ftp://sunsite.unc.edu/pub/Linux/system/boot/lilo/
Quando a página escolhida for carregada vão aparecer vários arquivos referentes ao
LILO, escolha algo como lilo-<n>.tar.gz, onde n é a versão (procure escolher sempre
a versão mais recente).
#liloconfig
#lilo
Outra maneira de instalar é obtendo um pacote de instalação do LILO, esse deve ser
desempacotado abrindo o terminal e digitando o comando:
#cd /home/nomedousuario/lilo-<versão>
e dê os seguintes comandos:
#make (compila o programa e monta todas as partes).
Depois dê o comando:
#liloconfig
#lilo
#mkdir /mnt/root
Agora será necessário montar a partição onde estão localizadas as pastas /root e
/boot:
#/mnt/root/sbin/lilo -C /mnt/root/etc/lilo.conf -m
/mnt/boot/map
#Lilo.conf
#Imagem do Windows
other=/dev/hda2
table=/dev/hda
label=Wndows
#Fim do arquivo
O LILO permite várias configurações globais que podem ser definidas pela linha de
comando, mas é mais conviniente gravar essas configurações no arquivo para que
sempre que iniciado o sistema elas estejam disponívies. Segue abaixo algumas
dessas configurações.
Lição 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
omo 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).
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:
Linux GRUB
/dev/hda1 (hd0,0)
/dev/hdb2 (hd1,1)
/devhda2 (hd0,1)
/dev/sda1 (hd0,0)
/dev/sda2 (hd0,1)
/dev/fd0 (fd0)
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).
#su
#mkdir /boot/grub
#update-grub
Para criar o arquivo de configuração menu.lst automaticamente. O último passo é
instalar o GRUB no MBR:
#grub-install /dev/hda.
#./configure
#make
#make install
#mkdir /boot/grub
#update-grub
#grub-install /dev/hda.
Digite:
Depois disso o grub está instalado no disquete, qualquer problema que ocorrer é só
dar o boot pelo disquete para acessar o seu sistema operacional.
#menu.lst
timeout 30
color light-cyan/black white/blue
default 0
Para alterar o arquivo o usuário deve estar logado como root, diferentemente do
LILO, não é necessário reinstalar o GRUB quando o arquivo menu.lst for modificado,
na próxima vez que o sistema for reiniciado as alterações já estarão aplicadas.
Configurações globais
Dentre os vários parâmetros que podem ser usados nas configurações globais do
GRUB as mais comuns são:
• module- Faz com que algum módulo necessário para o boot seja carregado.
Lembre-se que estes não são módulos do kernel (módulos de som, rede, etc.)
e sim módulos necessários ao boot de alguns sistemas, como por exemplo o
GNU Hurd;
• lock - Quando você quiser controlar se uma pessoa pode iniciar um sistema
que esteja listado nas opções do menu de boot, você pode utilizar esta opção
que faz com que a senha especificada com o comando "password" seja
solicitada no momento em que se tentar carregar a imagem em questão;
• makeactive - Torna a partição ativa. Este comando está limitado a partições
primárias dos discos;
• chainloader - Alguns sistemas como o Windows ou Dos armazenam seu
próprio gerenciador de boot no início da partição em que ele está instalado.
Para efetuar o boot destes sistemas através do GRUB, você precisa pedir
para que o gerenciador de boot de tal sistema seja carregado e faça seu
trabalho, dando o boot;
• hide e unhide - Esconde e mostra partição respectivamente. Estas duas
opções são necessárias quando houver mais de uma versão do Dos ou
Windows na máquina em partições diferentes, já que estes sistemas detectam
automaticamente a partição e quase sempre o fazem de modo errado.
Suponha o Windows na primeira partição primária (hd0,0) e o Dos na
segunda partição primária (hd0,1). Quando quisermos carregar estes
sistemas devemos proceder da seguinte maneira:
title Windows
hide (hd0,1)
unhide (hd0,0)
rootnoverify (hd0,0)
chainloader +1
makeactive
title Dos
hide (hd0,0)
unhide (hd0,1)
rootnoverify (hd0,1)
chainloader +1
makeactive
• map - Alguns sistemas não permitem ser inicializados quando não estão no
primeiro disco (Dos, Win 9x, etc.). Para resolver esta e outras situações o
GRUB tem um comando que permite enganar tal sistema mapeando as
unidades de disco do modo como lhe for mais conveniente. Imagine que você
tenha o primeiro disco (hd0) com o GNU/Linux instalado e em um outro disco
(hd1) com o Windows/Dos instalado. O Windows/Dos não permitem serem
inicializados desta forma e para resolver esse problema você poderia usar a
seguinte entrada no arquivo de configurações do GRUB:
title Windows
unhide (hd1,0)
rootnoverify (hd1,0)
chainloader +1
map (hd1) (hd0)
makeactive
http://www.gnu.org/software/grub/manual/grub.html
• (nada) – Nenhuma parte do LILO foi carregada. O LILO pode não está
instalado ou a partição em que ele está instalado não está ativa;
• L<erro>... - O primeiro estágio foi carregado e incializado, mas o segundo
estágio não pode ser carregado. Esse erro geralmente representa um erro no
disco. O código de dois dígitos apresentado indica o tipo de problema com o
disco (no manual há uma lista completa com os códigos dos erros);
• LI - O primeiro estágio do carregador foi capaz de carregar o segundo
estágio, mas foi incapaz de executar a função. Isso pode ser causado devido
a um erro nos parâmetros do hd ou o /boot/boot.b foi movido sem que o map
installer tenha sido rodado;
• LIL– O segundo estágio do carregador começou, mas não pode carregar a
tabela do descritor do arquivo de mapa. Isso é causado devido a um erro no
disco ou nos parâmetros do hd;
• LIL? - O segundo estágio do carregador foi carregado num endereço
incorreto. Isso pode ser causado devido a um erro nos parâmetros do hd ou o
/boot/boot.b foi movido sem que o map installer tenha sido rodado;
• LIL- - A tabela descritora está corrompida. Isso pode ser causado por um
erro nos parâmetros do hd ou o /boot/map foi movido sem que o map installer
tenha sido rodado.
Floppy Error
O estágio 2 e o 1.5 estão sendo lidos de um disquete, e a tentativa de determinar o
tamanho e os parâmetros do disquete falharam.
Read Error
Geom Error
O local do estágio 2 ou 1.5 não está numa porção do disco suportado diretamente
pelas chamadas do BIOS. Isso ocorre porque os parâmetros do BIOS foram
mudados ou o disco foi removido para uma outra máquina ou para uma outra
controladora, ou o GRUB não foi instalado usando a si mesmo (se isto acontecer, a
versão do estágio 2 para esse erro deve ser vista).
http://www.gnu.org/software/grub/manual/grub.html#Stage2-errors
Caso ocorra um erro no estágio 1.5 é mostrada uma mensagem de erro "Error
número" e a execução é parada, o usuário deve então pressionar
<CTRL>+<ALT>+<DEL> para reiniciar. A lista com o número dos erros é a mesmo
para o estágio 1.5 e para o estágio 2.
bitmap=<bitmap-file>
bmp-colors=<fg>,<bg>,<sh>,<hfg>,<hbg>,<hsh>
bmp-table=<x>,<y>,<ncol>,<nrow>,<xsep>,<spill>
bmp-timer=<x>,<y>,<fg>,<bg>,<sh>
bmp-colors=<fg>,<bg>,<sh>,<hfg>,<hbg>,<hsh>
Esse parâmetro define o valor decimal para as cores das letras que aparecerão na
tela. O campo é composto por seis entradas, as três primeiras para o texto normal e
as outras para o texto em destaque. Os campos <fg> e <hfg> se referem a cor da
letra, <bg> e <hbg> a cor do fundo, <sh> e <hsh> a cor da sombra. Se a cor de
fundo não for definida então será definido como transparente. Se a cor de sombra
não for definida será usada como padrão 'none' (nenhuma).
bmp-table=<x>,<y>,<ncol>,<nrow>,<xsep>
Esse parâmetro especifica onde aparecerá a tela de menu para a escolha do
sistema operacional. <x>,<y> especificam as posições x e y em relação ao canto
esquerdo superior. <ncol> é o número de colunas do menu.<nrow> é o número de
entradas em cada coluna. Se mais de uma coluna é usada <xsep> é o número de
colunas de caracteres entre cada coluna. Os valores das cordenadas x e y devem
ser acompanhados pelo sufixo 'p'.
bmp-timer=<x>,<y>,<fg>,<bg>,<sh>
Esse parâmetro é opcional, ele mostra a contagem do parâmetro 'timeout'. <x> e <y>
são usados da mesma forma que em 'bmp-table', os campos <fg>,<bg>,<sh> são
usados da mesma forma que em 'bmp-colors', com a diferença que <bg> deve ser
especificado.
Exemplo
bitmap=/boot/exemplo_bootsplash.bmp
bmp-colors=6,,,3,,
bmp-table=423p,181p,1,8,19
bmp-timer=536p,453p,3,4,,
Quando a imagem já estiver pronta temos que configurar o arquivo menu.lst para
que ele carregue a imagem de fundo. Devemos então adicionar o seguinte
parâmetro:
splashimage=(hdx,x)/GRUB/exemplo_splashimage.xpm.gz
Mudando as cores
Para mudar as cores das fontes do menu utilizamos parâmetro color, esse percebe
uma cor que pode ser uma das listadas abaixo:
• black;
• green;
• blue;
• cyan;
• red;
• magenta;
• brown;
• light-gray.
O modo de usar é:
Se por algum motivo for necessário desinstalar o LILO ou o GRUB você deve repor
o MBR com outro boot loader, pois com o MBR vazio nenhum sistema será
carregado automaticamente. Nesse curso foi ensinado como instalar o GRUB e o
LILO, mas caso seja necessário instalar o carregador do Windows, você deve estar
logado no Windows e no prompt digitar o comando fdisk /MBR para reinstalar o
boot loader padrão do sistema no MBR. Caso esse comando não funcione e você
disponha de um cd de instalação do Windows entre num prompt do DOS e digite:
fixmbr