+-----------------------------------------------------------------------+
| GERENCIADORES DE PARTIDA |
+-----------------------------------------------------------------------+
| Autor: Gleydson Mazioli da Silva |
| Data: 05/10/2010 |
| Site: www.guiafoca.org |
+-----------------------------------------------------------------------+
Anotações:
---------
Estas anotações foram feitas do Guia Foca Intermediário
http://www.guiafoca.org
6. Gerenciadores de Partica (bootloaders)
-------------------------------------
Gerenciadores de partida são programas que carregam um sistema e permitem
escolher qual será iniciado. Normalmente estes programas são gravados no
[setor de boot] da partição ativa ou no [master boot record MBR] do disco
rígido.
6.1 LILO
-------
O LILO [Linux Loader] é sem dúdiva o gerencidador de partida padrão que
inícia o GNU/Linux substituído pelo [GRUB]
6.1.1 Criando o arquivo de configuração do LILO
-------------------------------------------
Os dados para a criação do novo [setor de boot] são lidos do arquivo de
configurção [/etc/lilo.conf] pode ser criado com qualquer editor de texto
Este arquivo é divido em duas seções: [Geral] e [Imagens].
A seção Geral vem no inicio do arquivo e contém opções que serão usadas
na inicialização do LILO.
As imagens contém opções especificas identificando qual partição que esta
o sistema operacional que será montado inicialmente o sistema de arquivos
boot=/dev/hda1
compact
install=text
map=/boot/map
vga=normal
delay=20
lba32
image=/vmlinuz
root=/dev/hda1
label=Linux
read-only
Para criar novo gerenciador de partida através do arquivo /etc/lilo.conf
execute o comando [lilo].
[/dev/hda1] dispositivo que será instalado o gerenciador de partida.
[compact] utilizará um setor de boot compacto.
[vga] modo de vídeo VGA normal "80x25"
[delay=20] esperará 2 segundos antes de processar a primeira imagem
[image=/vmlinuz] imagem que carregará o kernel
[root=/dev/hda1] dispositivo que contém o gerenciador de partida.
Método para o aviso de [boot] deve ligar as teclas Caps Lock ou Scrool na
partida ou pressionar tecla shift durante os dois segundos de pausa.
Outro método é incluir o [prompt] na seção global para que o aviso seja
mostrado automaticamente após carregar o LILO.
Um configuração para computadores com mais de um sistema operacional.
boot=/dev/hda1
compact
lba32
install=menu
map=/boot/map
vga=normal
delay=20
prompt
image=vmlinuz
root=/dev/had1
label=linux
read-only
other=/dev/hda2
table=/dev/hda
label=dos
O exemplo acima é idêntico ao anterior, o que foi acrescentado foi a o
[prompt] na seão global, para que seja mostra o aviso de boot: no memonto
de carregamento do LILO e incluída uma imagem de disco [DOS] em /dev/hda2
pode ser substituído na opção [label=Linux] por número [1 ou 2]
Na seção Geral vem do inicio do arquivo até a palavra [delay=20] daqui em
diante quando surgir a palavra [image, other ou range] tudo que vier será
interpretado como imagens de inicialização.
Por padrão a imagem carregada é especificada por [default=] ou a primeira
que aparece no arquivo caso o default não seja especificado. Para outro
sistema como [DOS] digite o nome da imagem de disco no aviso de boot:
[especificada em label=] que será carregada.
Tipos de imagens que o LILO pode inicializar
- Imagens do kernel de um arquivo, normalmente usada para iniciar o Linux
pelo disco rígido e escpecificdo pelo parâmetro [image=].
- Imagens do kernel de um dispositivo de bloco [como disquete] neste caso
o número de setore a serem lidos devem ser especificados na forma de
[PRIMIRO-ÚLTIMO] ou [PRIMEIRO+NÚMERO]. image= e range=
image=/dev/fd0
range=1+512
Todas opções do kernel podem ser usadas na inicialização por dispositivo.
- O [setor de boot] de outro sistema operacional como DOS, OS/2 o setor
de partida é armazenado junto com a tabela de partição em /boot/map
é necessário especificar o parâmetro [other=dispositivo ou arquivo] e a
inicialização através de um setor de partida possuindo algumas opções
epeciais como o [table=] e o [map-drive]
other=/dev/hda2
table=/dev/hda
lable=DOS
map-drive=0x80
to = 0x81
mpa-drive=0x81
to = 0x80
Obs:
Caso o gerenciador de partida seja instalado no [MBR] do disco rígido
[boot=/dev/hda] o setor de boot do antigo sistema será substituído, tire
uma cópia usando o comando:
[sudo dd if=/dev/hda of=/floppy/mbr bs=512 count=1]
para restaura o setor de boot:
[sudo dd if=/floppy/mbr of=/dev/hda bs=446 count=1]
para criar um novo Master Boot Record:
[sudo fdisk /mbr]
Após qualquer modificação no /etc/lilo.conf use o comando [lilo] para ser
atualizado
- A reinstalação, formatação de sistema DOS e Windows pode substituir o
setor de partida do HD e assim o gerenciador de paritda, tornando a
inicialização do Linux impossível.
Antes de reinstalar o Windows verifique se possui um disquete de parida
do Linux.
Para ger um novo [bootloader] coloque o disquete na unidade e após o
aviso boot: ser mostrado digite:
[linux root=/dev/hda1]
no lugar de /dev/hda1 pode usar raíz do Linux, o sistema iniciará e
digite o comando [lilo] para gerar um novo setor de partida.
Reinicie o computador.
6.1.2 Opções usadas no LILO
-------------------------
Esta seção traz opções úteis no arquivo [lilo.conf]
[Global]
[backup=arquivo/dispositivo] copia o setor de partida.
[boot=dispositivo] define o nome do dispositivo onde será gravado o
setor de partida do LILO normalmente é usada a partida ativa ou MBR.
[compact] tenta agrupar requisições de leitura para setores seguintes
isto reduz o tempo de inicialização e deixa o mapa menor.
[default=imagem] usa a imagem especifiaca como padrão ao invés da
encontrada no arquivo lilo.conf.
[delay=num] permite ajustar o número de segundos para escolha do OS
[install=interface] especifica que interface será usada para exibição
de menu com as opções de inicialização do usuári
[-text] exibe uma mensagem de texto na tela, melhor em terminais.
[-menu] exibe um menu que permite selecionar uma interface de
inicialização é a padrão.
[-bmp] exibe um bitmap gráfico com resolução de 640x480, 256 cores
[lba32] permite que o LILO quebre o limite de 1024 cilindros do
disco rígido, iniciando o Linux acima deste, precisa de suporte na
BIOS as chamadas [int 0x13 e AH=0x42]
[map=arquivo-mapa] especifica a localização de mapa [.map] se não for
especificado, /boot/map é usado.
[message=arquivo] especifica um arquivo que contém uma mensagem que
será mostrada antes do aviso de boot:
[nowarn] não mostra mensagens de alerta.
[password=senha] permite proteger todas as imagens de disco com uma
única senha.
[prompt] mostra imediatamente o aviso de boot: ao invés de mostar só
quando a tecla shift é pressionada.
[verbose=num] ativa mensagem sobre o processamento do LILO
[timeout=num] ajusta o tempo de máximo de espera
Adicionando as opções de imagem do kernel:
[append, ramdisk, read-only, read-write, root e vga]
As opções por imagens iniciam com as seguites opções:
[image=, other=, ou range=]
[table=dispositivo] indica o dispositivo que contém a tabela de
partição para aquele dispositivo. Necessário apenas para as imagens
especificadas por [other=]
[unsafe] não acessa o setor de boot no momento da criação do mapa.
Isot desativa algumas checagens como a tabela de partição.
[label=nome] permite especificar um nome para a imagem. Este nome vai
ser usado na linha boot: para inicialização.
[alias=nome] apelido para a imagem de disco.
[optional] ignora a imagem caso não estiver disponível no momento da
criação do mapa.
[password=senha] protege a imagem atual com a senha
[restricted] a senha somente é pedida para iniciar a imagem se o for
iniciado no modo single
6.1.3 Um exemplo do arquivo de configuração lilo.conf
------------------------------------------------
boot=/dev/hda1 [instalar o LILO em /dev/hda1]
compact
install=menu
map=/boot/map
message=/etc/lilo.message [mensagem que será mostrada na tela]
default=1 [carregar a imagem especificada por label=1 como padrão]
vga=normal [usa o modo de vídeo 80x25 ao iniciar o Linux]
delay=20 [aguardar 2 segundos antes de iniciar a imagem]
lba32 [permite quebrar o limite de 1024 cilindros na inicialização]
prompt [mostra o aviso de boot logo que o LILO é carregado]
image=/vmlinuz [especifica o arquivo que contém a primeira imagem]
root=/dev/hda1 [partição onde a imagem acima esta localizada]
label=1 [identificação da imagem de disco]
read-only [monta inicialmente somente como leitura]
password=123456 [usa a senha 123456]
restricted [somente quando iniciar com o parâmetro single]
othe/dev/hda2 [especifica outro sistema que será carregado]
table=/dev/hda [a tabela de partição dele está em /dev/hda]
label=2 [identificação desta imagem de disco]
password=123456 [pede a senha antes de inicializar este sistema]
6.2 GRUB
-------
O GRUB [Grand Unified Boot Loader] é uma alternativa como gerenciador de
partida de boot e apresenta recursos extras com relação as outras.
Se destaca por ser mais flexível e funcional em sistemas operacionais:
[DOS, Linux, GNU Hurd, FreeBSD, OS/2, Windows]. Suporte para o
sistemas de arquivos: [Ext2, Ext3, Ext4, FAT16, FAT32, BSD, Minix etc..].
Por utilizar multiboot ele é capaz de carregar diversas imagens de boot e
móduloes. Também permite buscar imagens de kernel pela rede
6.2.1 Como o GRUB trabalha com discos e partições
--------------------------------------------
O GRUB trabalha com uma notação diferente para apontar discos e partições
No Linux No GRUB
[/dev/hda] [hd0]
[/dev/hda1] [hd0,0]
[/dev/hda2] [hd0,1]
[/dev/hdb] [hd1]
[/dev/hdb1] [hd1,0]
[/dev/hdb2] [hd1,1]
[/dev/sda] [hd0] [disco SCSI ID 0]
[/dev/sda1] [hd0,0] [disco SCSI ID 0], partição 1
[/dev/sda2] [hd0,1] [disco SCSI ID 0], partição 2
[/dev/sdb] [hd1] [disco SCSI ID 1],
[/dev/sdb1] [hd1,0] [disco SCSI ID 1], partição 1
[/dev/sdb2] [hd1,1] [disco SCSI ID 1], partição 2
[/dev/fd0] [fd0]
Obs: Os discos IDE e SCSI são referenciados ambos como [hd?] pelo grub
6.2.2 Instalando o GRUB
---------------------
A instalação do grub ao contrário do LILO só precisa ser executada uma ún
ica vez, caso seja necessária alguma mudança como por exemplo adicionar u
ma nova imagem, pode ser feita apenas editando o arquivo de configuração.
No MBR
Um método simples de adicionar o GRUB para gerenciar seu MBR recomandado
o seguinte comando
[sudo /sbin/grub-install /dev/hda]
[*] O comando grava o GRUB no MBR e cria o diretório /boot/grub.
[*] Reinicie, abrirá um CLI para carregar a imagem do kernel menualmente.
[*] Há um arquivo de configuração de exemplo para várias opções de boot.
[cat /usr/share/doc/grub-common/examples/grub.cfg]
6.2.3 No disco flexível (somente linha de comando)
---------------------------------------------
[!] Comando para criar um disquete de partida para usar em caso emergente
[sudo dd if=/usr/lib/grub/i386-pc/stage1 of=/dev/fd0 count=1]
[sudo dd if=/usr/lib/grub/i386-pc/stage2 of=/dev/fd0 seek=1]
[!] Este comando permite uma linha de comando do grup quando este disco
for utilizado para boot.
6.2.4 No disco flexível (com interface de menu)
------------------------------------------
[*] O comando anterior permite usar linha de comando sendo necessário o
carregamento do menu.lst.
[*] Há casos que precise de um disquete que funcione em mais de um e que
não dependa de um disco fixo.
[*] digite os comandos:
[sudo mke2fs /dev/fd0]
[sudo mount /dev/fd0 /floopy -t ext2]
[sudo mkdir /floppy/grub]
[sudo cp /usr/lib/grub/i386-pc/stage(12) /floppy/grub]
[sudo cp /usr/share/doc/grub-common/examples/grub.cfg /floppy/grup]
[sudo umount /floppy]
[sudo /sbin/grup]
[!] Este último comando disponibiliza um console grub, digite os comandos
[grub> install (fd0)/grub/stage1 d (fd0) (fd0)/grub/stage2 p (fd0)/grub/grub.cfg]
[grub> quit]
[*] O arquivo grub.cfg é um exemplo, ele precisa que ser configurado.
6.2.5 Opções do arquivo de configuração
------------------------------------
[*] Há dois tipo de configurações Globais e Imagens.
[Globais]
[timeout=] define um tempo em segundos de espera
[default=] define qual será a opção padrão selecionada
[fallback=] define um outra opção para ser carregada, caso de erro.
[color=] permite que escolha as cores no menu de boot.
[password=] permite escolher uma senha, pode ser secreto.
Exemplo: [password = senha (hd0,0)/boot/grub/secret.conv]
[hiddenmenu] não exibe menu de opções no boot, pressione ESC
[Imagens]
[title=] define um texto para identificação do boot.
[root=] define qual a partição raiz do sistema a ser inicializada.
[rootnoverify=] igual ao root, mas não monta a partição alvo, o que
é necessário para Windows.
[kernel] escolher qual kernel vai ser inicializado, passar direto
Exemplo: [kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6]
[module] carrega módulos necessário para o boot, não são do kernel.
[lock] controle de usuários para acesso as opções de boot.
[pause] exibe uma mensagem em tela e espera uma tecla ser tocada.
[makeactive] ativa a partição, limitado a partições primárias.
[chainloader] troca de bootloader, pede para outra fazer o trabalho
[hide e unhide] exibe e esconde partição, quando há mais de um boot
title Windows
hide (hd0,1)
unhide (hd0,0)
rootnoverify (hd0,0)
chainloader +1
makeactive
title Dos
hide (hd0,0)
unhide (hd0,1)
rootnorevify (hd0,1)
chainloader +1
makeactive
[map] permite mapear unidade de disco do modo como for melhor
title Windows
unhide (hd1,0)
roonorevify (hd1,0)
chainloader +1
map (hd1) (hd0)
makeactive
[+] isso faz que o disco (hd1) onde está o Windows seja (hd0)
para enganar e possibilitar o boot.
[*] Exemplo de parâmetro enviado direto para o kernel
[Entrada no Menu.lst]
[title Linux 2.4.16]
[root (hd0,0)]
[kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 mem=512M ramdisk=0]
[*] Neste exemplo é para configuração direto para o kernel;
[*] As opções vga, mem, ramdisk somente deve ser passado ao kernel;
6.2.6 Um exemplo de arquivo de configuração
---------------------------------------
[#] Exemplo de arquivo de configuração do GRUB
[#] Note que você pode usar [#] para fazer comentários.
[#] Se Após 30 segundos nenhuma tecla for pressionada, carraga a imagem.
[#] Define a primeira imagem como padrão
default 0
[#] caso a imagem não funcione carregar a imagem definida aqui.
fallback 1
[#] define as cores que serão usadas no menu.
color light-cyan/black white/blue
[#] permite utilizar uma senha
password minha-senha-secreta
password minha-senha-secreta (hd0,0)/boot/grub/secret.conf
[#] para boot com GNU/Hurd
title GNU/Hurd
root (hd0,0)
kernel /boot/gnumach.gz root=hd0s1
module /boot/serverboot.gz
[#] para boot com o GNU/Linux
title Linux 2.4.16
[#] pede a senha configurada em "password" antes de carregar.
lock
root (hd0,0)
[#] atende as opções diretamento no kernel (vga, mem, etc..).
kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 mem=512 ramdisk=0
[#] para boot com match (obtendo o kernel de disquete)
title Utah Mach4 multiboot
root (hd0,2)
pause insira o disquete agora!!!
kernel (fd0)/boot/kernel root=hd0s3
module (fd0)/boot/bootstrap
[#] para boot com FreeBSD
title FreeBSd 3.4
root (hd0,2,a)
kernel /boot/loader
[#] para boot com OS/2
title OS/2
root (hd0,1)
makeactive
chainloader +1
chainloader /boot/chain.os2
[#] para boot com Window 9x, ME, NT, 2000, Xp
title Windows 9x, ME, NT, 2000, XP
unhide (hd0,0)
rootnoverify (hd0,0)
chainloader +1
makeactive
[#] para instalar o GRUB no disco rígico
title = instala o GRUB no disco rígido
root = (hd0,0)
setup = (hd0)
[#] mude as cores
title mudar as cores
color light-green/brown blink-red/blue
6.2.7 Usando a linha de comando do GRUB
-----------------------------------
[*] Na inicilização pode se deparar com CLI que ficam no rodapé da tela.
[*] Que é informado um menu de configuração
[e] para editar,
[c] para ter acesso,
[ESC] para voltar,
[p] para entrar com a senha
[TAB] duplo para ter acesso a linha de comando
[*] Comandos disponíveis no console do GRUB:
[cat] permite verificar o conteúdo de um arquivo qualquer, e qualquer um
pode listar os arquivos, é preciso [setup] uma senha.
[grub> cat (hd0,0)/etc/passwd]
[cmp] este comando compara dois arquivos:
[grub> cmp (hd0,0)/arquivo1 (hd0,0)/arquivo2]
[configfile] carrega um arquivo de configuração do GRUB:
[grub> configfile (hd0,0)/boot/grub/grub.cfg]
[displayapm] mostra informações sobre apm
[displaymem] mostra informações sobre a memória RAM
[find] permite encontrar arquivos
[grub> finde stage1]
[geometry] mostra informações sobre a geometria do drive
[help] para exibir ajuda
[install] instala o grub não é recomendado pois é possível causar danos
[grub> install (fd0)/grub/stage1 d (fd0) (fd0)/grub/stage2 p (fd0)/grub/grub.cfg]
[*] Este comando é quando tem um disquete não funciona sem.
[setup] pode instalar o GRUB com este comando também
[grub> root = (hd0,0)]
[grub> setup = (hd0)]
[quit] sair da linha de comando
[reboot] reinicia o computador
[boot] efetua o boot, se já estiver instalado podemos usar o seguinte
[grub> root (hd0,0)]
[grub> kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6]
[grub> boot]
6.2.8 Removendo o GRUB do MBR
--------------------------
[*] não é necessário remover o grub basta substitui-lo por outro
[*] pode usar o LILO para subtituir ou usar o [fdisk /mbr] do DOS
6.2.9 Como obter mais informações
------------------------------
[*] Site oficial [http://www.gnu.org/software/grub/]
[*] Site oficial [http://www.debianbrasil.org]
6.3 Parâmetro de inicialização passado ao kernel
-------------------------------------------
[append=string] caso ocorra problemas na inicialização ou detecção
[append="mem=32m"]
[ramdisk=tamanho] tamanho do disco RAM criado, zero é nenhum disco RAM
[read-only] sistema raíz deverá ser montado somente leitura
[write-only] sistema raíz deverá ser montado como leitura e gravação
[root=dispositivo] diz qual dispositivo será montando se usar "current"
então o dispositivo atual será montado como raíz.
[vga=modo] diz o modo de vídeo que será usado durante a inicialização.
[normal] usa o modo 80x25 "80 colunas por 25 linhas"
[extended ou ext] usa o modo 80x50
[ask] perguta qual modo de vídeo deve usar
6.4 LOADLIN
----------
[*] é um gerenciador de partida que permite iniciar o Linux a partir do
DOS, Windows, sem a necessidade de reiniciar o computador.
[*] o DOS é iniciado normalmente o dispositivo é configurado no drive do
DOS, assim pode ser executado o loadlin, é comum dentro do [autoexec.bat]
[!] ATENÇÃO, não execute o Loadlin dentro do Windows.
6.4.1 Opções do LOADLIN
---------------------
[*] Sintaxe: [loadlin (imagem_kernel) (argumentos) (opções)]
[imagem_kernel] arquivo que contém o kernel
[root=dispositivo] diz qual dispositivo que contém o sistema de arquivo
raíz, é especificado de acordo com a identificação de dispositivos.
[ro] diz ao kernel para montar somente leitura.
[rw] diz ao kernel para montar como leitura e gravação.
[initrd=num] define o tamanho do disco RAM usado no sistema.
[-v] exibe detalhes sobre mensagens e configuração.
[-t] modo de teste, tudo é feito menos a inicialização do Linux.
[-d arquivo] mesma função de [-t] mas envia a saída para o arquivo.
[-txmode] alterar o modo de vídeo para 80x25 antes de inicializar kernel
[-dskreset] após carregar imagem do kernel, reseta disco antes de iniciar
6.4.2 Exemplo de inicialização com o LOADLIN
----------------------------------------
[C:\> LOADLIN vmlinuz root=/dev/hda1 ro
| | |
| | +- Montar somente leitura.
| +- Partição raíz
+- Nome do Kernel copiado para o DOS
6.5 syslinux
-----------
[*] Outro gerenciador de partida que funciona com sistema de arquivos DOS
[*] Foi criado para disquete de recuperação e inicialização do DOS
[syslinux (-s) (dispositivo)]
[-s] instala no disquete uma versão segura do syslinux para BIOS
6.5.1 Criando um disquete de inicialização com o syslinux
----------------------------------------------------
[1] Formate o disquete com formato DOS
[2] Copie um ou mais arquivos de kernel para o disquete
[*] desmonte o disquete
[3] digite: [syslinux /dev/fd0] use [-s] se tiver problemas de bootload
[*] Cria-se na raíz o arquivo [LDLINUX.SYS]
[*] para alterar o nome do GNU/Linux modifique no arquivo [SYSLINUX.CFG]
[*] se as teclas Caps Locks e Scrool Lock ou Shift forem pressionadas
durante o carregamento do syslinux, exibirá o aviso de boot:
6.5.2 O arquivo SYSLINUX.CFG
--------------------------
[*] arquivo de configurção criado no diretório raíz do disquete
[default kernel (opções)] indica o nome do kernel e as opções que serão
usadas na inicialização
[append (opções)] passa uma ou mais opções ao kernel na inicialização
[label (nome)]
[kernel (kernel)]
[append (opções)] nome que identificará o kernel no aviso de boot:
[implicit (valor)] se o (valor) for 0, não carrega a imagem
[timeout (tempo)] indica o tempo o syslinux aguardará antes de iniciar
medido em 1-10 segundos, para desativar use 0 como [timeout]
[font (nome)] indica uma fonte em formato .psf para mostrar as mensagens
[kbdmap (mapa)] instala um simples mapa do teclado
[prompt (valor)] se for igual a 1 exibirá automaticamente o aviso de boot
[display (arquivo)] exibe o conteúdo do (arquivo) durante a inicialização
------------------------------------------------------------------
Referências:
[http://www.gnu.org/software/grub/]
[http://www.debianbrasil.org]
Nenhum comentário:
Postar um comentário