Post on 10-Mar-2020
Capacitação Vix Linux
Marcos Alessandro <marcos@doctum.edu.br>
By: Jacson RC Silva <jacsonrcsilva@gmail.com>
GRUBThe GRand Unified Bootloader
Gestor de Inicialização
GRUB
● O que é● Primeiro programa ao executar quando o
computador inicia
● O que faz● Transfere o controle do computador para o kernel
● Como isso é feito● Com comandos simples, como:
– kernel: informa o kernel a carregar– boot: informa que o kernel deve ser iniciado
GRUB
● Como ele se apresenta ao usuário● Através de linha de comando
– grub> ● Através de uma lista, localizada em:
– /boot/grub/menu.lst
● Inicialmente é apresentada a lista ao usuário● Para utilizar a linha de comando,
basta pressionar “c”● Quando o GRUB é melhorado pelo GFXBoot,
como no VixLinux, deve antes pressionar ESC
GRUB – História
● Foi criado em 1995 por Erich Boleyn● Sua tentativa era de criar um boot para o GNU
Hurd● Uniu-se depois ao Brian Ford e resolveram
desenvolver um sistema que fosse multiboot
Como foi o desenvolvimento
● Erich começou modificando o carregador do FreeBSD
● Entendeu como funcionava o multiboot
● Viu que seria mais fácil fazer seu próprio carregador do zero ao invés de trabalhar com o FreeBSD
● Em 1999, o GRUB foi disponibilizado a comunidade por um SVN anônimo e como um pacote GNU
● No Linux, passou a existir a opção de utilizar o GRUB ou o LILO
● Atualmente utiliza-se somente o GRUB e estamos caminhando para o GRUB 2
GRUB
● GRUB é dividido em duas partes● a primeira contém configurações gerais referentes
ao próprio GRUB e● a segunda parte contém a lista dos sistemas
operacionais instalados na máquina.
● /boot/grub/menu.lst
Arquivos de Configuração GRUB
default 0timeout 5color cyan/blue white/blue gfxmenu=(hd0,6)/boot/grub/message
title VixLinux 1.2, kernel 2.6.32-3-686root (hd0,6)kernel /boot/vmlinuz-2.6.32-3-686-bigmem root=UUID=905a39fe-bef9-410f-9400-adb40f5cd042 ro splash vga=791 quietinitrd /boot/initrd.img-2.6.32-3-686-bigmem title VixLinux 1.2, kernel 2.6.32-3-686 (single-user mode)root (hd0,6)kernel /boot/vmlinuz-2.6.32-3-686-bigmem root=UUID=905a39fe-bef9-410f-9400-adb40f5cd042 ro splash vga=791 singleinitrd /boot/initrd.img-2.6.32-3-686-bigmem
title Frase sozinharoot
Explicação do Arquivo
● default 0● indica ao GRUB qual sistema operacional inicializar caso
o usuário não faça nenhuma escolha
● timeout 5● determina o tempo (em segundos) que o usuário terá
para escolher um sistema operacional para inicializar.
● fallback 1 ● indica ao GRUB qual sistema inicializar caso o
carregamento da primeira opção falhe por algum motivo
Explicação do Arquivo
● gfxboot ● Indica qual imagem carregar (pacote gfxboot-
theme-vixlinux)
● color● Indica a cor a utilizar frente/fundo● Só funciona se não tiver a imagem gfxboot
Explicação do Arquivo
● title ● mostra o título que o sistema recebe no GRUB● é esse nome que será exibido quando o GRUB mostrar a
lista de sistemas operacionais que o usuário pode escolher
● root (hd0,1)● informa ao GRUB onde o sistema operacional está
instalado
● kernel● informa ao GRUB qual kernel deve ser carregado e quais
seus parâmetros● Ex: ro indica que a partição deve ser montada
inicialmente com permissões apenas de leitura
Como funciona a referência de partições
● hd0 : hda ou sda● hd1 : hdb ou sdb
… ● hd0,0 : hda1 ou sda1● hd0,1 : hda2 ou sda2
…
Windows XP
● title Windows XP● rootnoverify (hd0,0)● makeactive● chainloader +1
Windows
● rootnoverify (hd0,0)● Montar o root sem verificação da partição
● chainloader +1● Carrega o gerenciador de boot da partição
escolhida
● makeactive● Ativa a partição
Opções Extras
● Parâmetro chamado map● permite o carregamento do Windows quando este
não está instalado no primeiro HD (regra obrigatória no Windows 9x, por exemplo).
● map (hd0) (hd1)● map (hd1) (hd0)
Opções Extras
● password● solicita uma senha definida por você para o acesso
a determinados recursos, como a opção de linha de comando do GRUB
● sintaxe: password senha
password senha
title Vix Linux
(...)
Opções Extras
● lock● caso você queira possibilitar o acesso a um
determinado sistema operacional somente através de senha, basta inserir a palavra lock depois da linha title referente ao sistema em questão.
password vix
title Vix Linux
lock
(...)
Arquivos de Configuração GRUB
● hiddenmenu● simplesmente esconde a lista de sistemas
operacionais quando o GRUB é carregado● essa lista pode ficar visível pressionando-se a tecla
ESC do teclado
Futuro GRUB:
GRUB 2
GRUB2
● O GRUB 2● É a nova versão de um dos gerenciadores de boot de sistemas
operacionais mais usados● Ele é um software Open Source, descendente do GRUB● Foi completamente reescrito para dar ao usuário flexibilidade e
performance significativamente aumentadas
● As melhorias em relação ao GRUB incluem :● Apoio de scripts● Módulo de carregamento dinâmico● Modo de recuperação● Menus personalizados● Temas
… melhorias
● Suporte ao menu gráfico ● Possibilidade de carregar imagens iso de Live
CD de boot diretamente do disco rígido● Nova estrutura de arquivos de configuração● Sem suporte a plataforma x86● Suporte universal a UUIDs
GRUB 2
● Alterações na configuração são normalmente feitas em /etc/defaul/grub e nos arquivos da pasta /etc/grub.d.
● O arquivo /boot/grub/grub.cfg não deve ser editado pelo usuário; mudanças nesse arquivo são feitas pelos scripts de configuração.
Arquivo /etc/default/grub
● É o principal arquivo de configuração para alterar as configurações padrão.● GRUB_DEFAULT = 0
● Configura a entrada default pela posição. Como no GRUB a primeira entrada é zero, a segunda 1, etc.● GRUB_DEFAULT = saved
● Define a entrada de menu padrão com o que foi selecionado anteriormente (a última seleção).● GRUB_DEFAULT = "xxxx"
● Neste caso, a localização no menu não importa.● Exemplo: GRUB_DEFAULT="VIX LINUX"
Arquivo /etc/default/grub
● GRUB_TIMEOUT● Configura o tempo.
● GRUB_HIDDEN_TIMEOUT = 0● O menu ficará oculto.
● # GRUB_HIDDEN_TIMEOUT = 0● O menu não será oculto
Arquivo /etc/default/grub
● GRUB_HIDDEN_TIMEOUT_QUIET = true● true → nenhuma contagem regressiva é exibida. A
tela ficará em branco● False → um contador será exibido numa tela em
branco durante o tempo do GRUB_HIDDEN_TIMEOUT
Arquivo /etc/default/grub
● GRUB_GFXMODE = 640x480● Descomente essa linha para mudar a resolução● Ela fornece resoluções suportadas pela placa de
vídeo do usuário (640x480, 800x600, 1280x1024, etc)
● Aplica-se apenas a resolução do menu de boot. ● Dica: Definindo a mesma resolução do sistema
operacional, o tempo de inicialização diminuirá ligeiramente
Arquivo /etc/default/grub
● #GRUB_DISABLE_LINUX_RECOVERY=true● Descomente essa linha se não desejar o
“Recovery” mode no menu.● "Recovery mode" para apenas um kernel, fazer
uma entrada especial em /etc/grub/40_custom.
Recuperação do GRUB
Recuperando o GRUB
● Iniciando com o DVD de instalação● Prosseguir até a etapa de Particionamento
– Aqui que os módulos serão carregados● Pressionar CTRL+ALT+F2 para utilizar o busybox● Criar um diretório e montar a partição
– mkdir pasta ; mount /dev/sda2 pasta● Montar o /dev no diretório acima
– mount -o bind /dev pasta/dev● Executar o chroot: chroot pasta● E instalar: grub-install /dev/sda
Recuperando o GRUB
● Iniciando um computador com um Live CD● mount /dev/sda2 /mnt● grub-install --root-directory=/mnt /dev/sda ● umount /mnt
Recuperando o GRUB
● Em um chroot ou live CD, execute os comandos:● grub● root (hd0,1)● setup (hd0)● quit
● Ou● grub --device-map=none● device (hd0) /dev/sda● root (hd0,0)● setup (hd0)● quit
Recuperando o GRUB 2
Recuperando o GRUB 2
● Solução GRUB 2 mkrescue → Criando um LiveCD de Boot simples do GRUB 2
● Comando:● grub-mkrescue grub2.iso ● Ou● grub-mkrescue --output=grub2.iso
● Grave a imagem iso em CD.● Quando for recuperar o GRUB 2, inicie pelo
CD.
Solução grub-rescue-pcCD multiboot do GRUB 2
● apt-get install grub-rescue-pc● A imagem ISO vai para /usr/lib/grub-rescue● Grave a imagem e inicie o PC● Vai aparecer um menu com várias opções de
boot, mas a que interessa aqui é: GNU LINUX● Se não sabe qual a partição, tecle "C" e digite o
comando ls
Solução grub-rescue-pcCD multiboot do GRUB 2
● Escolha a opção GNU LINUX e tecle "e" para editar o menu.
● Substitua (hd0,1) e sda1 pelos correspondentes ao seu sistema
● Agora tecle Ctrl+x para o iniciar o sistema
Solução GRUB 2 - Boot USB
● Com o sistemas Funcionando● apt-get install gparted● gparted● Identifique o pen drive ( pelo tamanho - 500
mb, 1 GB, 2 GB, etc. e pelo device - /dev/sdb se você tem só um HD).
● Crie uma partição Primária com fat32 e um rótulo (Label)
Solução GRUB 2 - Boot USB
● grub-install \--root-directory=/media/grub2boot /dev/sdb
● grub-mkconfig -o \/media/grub2boot/boot/grub/grub.cfg
● Para recuperar o GRUB 2● inicie com o pen drive espetado e o boot USB
habilitado na BIOS
● Aparecerá o menu do GRUB 2● Abrindo o sistema, entre no terminal
Solução GRUB 2 - Boot USB
● E digite os comandos:● grub-install /dev/sda● grub-mkconfig -o \
/media/grub2boot/boot/grub/grub.cfg
VI- Solução Super Grub Disk
● Imagem Iso Super Grub Disk:● 1. Baixe a imagem Iso e grave em CD.
– http://prdownload.berlios.de/supergrub/grub-rescue-cdrom.iso
● 2. Dê boot● 3. Aparecerá uma tela com:
– First Kernel and Initrd– Enter
● 4. Iniciando o sistema, abra o Terminal e digite:– grub-install /dev/DISPOSITIVO
Boa Prática!!