Processo de carga do sistema
Grub e Grub2
Prof. Alysson Filgueira Milanez
alysson.milanez@academico.ifpb.edu.br
Sistemas Operacionais
Na última aula...
Estudamos a estrutura de diretórios do Linux
2
Grub
3
Grub
O GRUB (Grand Unified Boot Loader) é uma alternativa como gerenciador de boot
A mais usada hoje em dia para dual boot
4
Grub
Por utilizar o padrão Multiboot ele é capaz de carregar diversas imagens de boot e módulos
5
Grub
A instalação do GRUB ao contrário da instalação do LILO, só precisa ser executada uma única vez
Caso seja necessária alguma mudança como por exemplo adicionar uma nova imagem, esta pode ser feita apenas editando o arquivo de configuração grub.cfg
6
Grub
Para adicionar o GRUB como gerente do MBR:
sudo /sbin/grub-install /dev/dispositivo
7
Grub
O comando cria o diretório /boot/grub no qual estarão os arquivos de configuração necessários para o funcionamento
8
Grub
Ao reiniciar a máquina, nos depararemos com uma linha de comandos, onde teremos que carregar a imagem do kernel manualmente
9
Grub
Podemos copiar o arquivo de configuração de exemplos do GRUB e adaptá-lo às nossas necessidades
cp /usr/share/doc/grub/examples/menu.lst /boot/grub
10
Grub
Parâmetros Globais para o arquivo menu.lst
timeout - define um tempo de espera (em segundos); se nada for pressionado, carrega a imagem padrão
default - define a opção padrão a ser selecionada automaticamente
11
Grub
fallback - caso ocorra algo inesperado e a opção padrão não puder ser carregada, este parâmetro define qual a opção a ser usada
color - permite escolher as cores usadas no menu de boot
12
Grub
password - permite especificar uma senha
hiddenmenu - permite esconder o menu de opções para boot
13
Grub
Parâmetros que afetam apenas as imagens
title - define o nome que aparecerá para um dado sistema
root - define a partição raiz do sistema
kernel - informa qual o kernel a ser usado
14
Grub
module - carrega algum módulo necessário ao boot
lock - caso se deseje bloquear o acesso a algum sistema, esta opção faz com que a senha definida em password seja solicitada
pause - emite uma mensagem na tela e espera uma tecla ser apertada
15
Grub
makeactive - torna a partição ativa
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
16
Grub
hide e unhide - esconde e mostra a partição novamente
map - forma de "enganar" os sistemas que não permitem serem inicializados se não estiverem no primeiro disco. Muito útil para usar com Windows
17
Grub
Linha de comandos do grub
cat - permite verificar o conteúdo de um arquivo
Eg.: grub> cat (hd0,0) /etc/passwd
18
Grub
cmp - é utilizado para comparar dois arquivos.
Eg.: grub> cmp (hd0,0)/arquivo1 (hd0,0)/arquivo2
configfile - carrega um arquivo de configuração do GRUB.
Eg.: grub> configfile (hd0,0)/boot/grub/menu.lst
displaymem - Mostra informações sobre a memória RAM.
19
Grub
find - Permite encontrar um arquivo
Eg.: grub> find stage1
help - help "comando" mostra a ajuda
quit - sai da linha de comandos do GRUB
20
Grub
reboot - reinicia o computador
boot - efetua o boot
21
Grub
# Exemplo de arquivo de configuração do GRUB.
# Se após 30s nenhuma tecla for pressionada, carrega a imagem padrão.
timeout 30
# Define a primeira imagem como padrão.
default 0
# Caso a imagem padrão não funcione
fallback 1
22
Grub
# Para boot com o GNU/Linux
title Linux 2.4.16
root (hd0,0)
kernel (hd0,0)/boot/vmlinuz-2.4.16
# Para boot com Windows X - onde X é a versão do Windows
title Windows X
unhide (hd0,0)
rootnoverify (hd0,0)
chainloader +1
makeactive
23
Grub2
24
Grub2
O usuário pode criar um arquivo personalizado no /etc/grub.d/40_custom
O principal arquivo de configuração fica em /boot/grub/, mas os arquivos do /etc/grub.d/ também podem ser usados para configurar
25
Grub2
/boot/grub/grub.cfg - o arquivo principal que substitui o menu.lst, não deve ser editado
/etc/grub.d - novo diretório do GRUB, que contém os scripts de inicialização
26
Grub2
Quando executado o update-grub, é lida a pasta /etc/grub.d e são adicionados à configuração deste arquivo, cada arquivo existente, sendo por ordem numérica
Usamos o 41_custom para configurações personalizadas
27
Grub2
Usem o comando
ls /etc/grub.d para listar os arquivos padrão da pasta
28
Grub2
/etc/default/grub é o principal arquivo para alterações padrões
29
Grub2
Algumas regras:
A primeira linha inicia com menuentry e finaliza com {
O que vai entre aspas é o que vai aparecer no menu do Grub2
A última linha do menuentry deve ser }
30
Grub2
Não deixe espaços em branco no fim da linha
a linha root= deve apontar para a localização de inicialização do GRUB2 (hdxx, sdxx)
31
Grub2
A linha Linux (root) deverá apontar para a partição do sistema
Caso ocorra erro ao encontrar o kernel tendo usar o UUID do dispositivo
32
Grub2
menuentry “ Um titulo qualquer” {
set root=(hdX,Y)
— boot parameters —
}
boot parameters pode ser, por exemplo:
linux /boot/vmlinuz
initrd /boot/initrd
33
Veja mais...
34
Veja mais...
35
Referências
36
Referências
37
Processo de carga do sistema
Grub e Grub2
Prof. Alysson Filgueira Milanez
alysson.milanez@academico.ifpb.edu.br
Sistemas Operacionais