1 of 38

Processo de carga do sistema

Grub e Grub2

Prof. Alysson Filgueira Milanez

alysson.milanez@academico.ifpb.edu.br

Sistemas Operacionais

2 of 38

Na última aula...

Estudamos a estrutura de diretórios do Linux

2

3 of 38

Grub

3

4 of 38

Grub

O GRUB (Grand Unified Boot Loader) é uma alternativa como gerenciador de boot

A mais usada hoje em dia para dual boot

4

5 of 38

Grub

Por utilizar o padrão Multiboot ele é capaz de carregar diversas imagens de boot e módulos

5

6 of 38

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

7 of 38

Grub

Para adicionar o GRUB como gerente do MBR:

sudo /sbin/grub-install /dev/dispositivo

7

8 of 38

Grub

O comando cria o diretório /boot/grub no qual estarão os arquivos de configuração necessários para o funcionamento

8

9 of 38

Grub

Ao reiniciar a máquina, nos depararemos com uma linha de comandos, onde teremos que carregar a imagem do kernel manualmente

9

10 of 38

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

11 of 38

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

12 of 38

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

13 of 38

Grub

password - permite especificar uma senha

hiddenmenu - permite esconder o menu de opções para boot

13

14 of 38

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

15 of 38

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

16 of 38

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

17 of 38

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

18 of 38

Grub

Linha de comandos do grub

cat - permite verificar o conteúdo de um arquivo

Eg.: grub> cat (hd0,0) /etc/passwd

18

19 of 38

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

20 of 38

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

21 of 38

Grub

reboot - reinicia o computador

boot - efetua o boot

21

22 of 38

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

23 of 38

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

24 of 38

Grub2

24

25 of 38

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

26 of 38

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

27 of 38

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

28 of 38

Grub2

Usem o comando

ls /etc/grub.d para listar os arquivos padrão da pasta

28

29 of 38

Grub2

/etc/default/grub é o principal arquivo para alterações padrões

29

30 of 38

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

31 of 38

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

32 of 38

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

33 of 38

Grub2

menuentry “ Um titulo qualquer” {

set root=(hdX,Y)

— boot parameters —

}

boot parameters pode ser, por exemplo:

linux /boot/vmlinuz

initrd /boot/initrd

33

34 of 38

Veja mais...

34

35 of 38

Veja mais...

35

36 of 38

Referências

36

37 of 38

Referências

Guia FOCA -- Intermediário

Cap. 6

37

38 of 38

Processo de carga do sistema

Grub e Grub2

Prof. Alysson Filgueira Milanez

alysson.milanez@academico.ifpb.edu.br

Sistemas Operacionais