Capacitação Vix Linux Marcos Alessandro <[email protected]> By: Jacson RC Silva <[email protected]> GRUB The GRand Unified Bootloader Gestor de Inicialização GRUB ● O que é ● ● O que faz ● ● Primeiro programa ao executar quando o computador inicia 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 – ● Através de uma lista, localizada em: – ● ● ● grub> /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 0 timeout 5 color cyan/blue white/blue gfxmenu=(hd0,6)/boot/grub/message title VixLinux 1.2, kernel 2.6.32-3-686 root (hd0,6) kernel /boot/vmlinuz-2.6.32-3-686-bigmem root=UUID=905a39febef9-410f-9400-adb40f5cd042 ro splash vga=791 quiet initrd /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=905a39febef9-410f-9400-adb40f5cd042 ro splash vga=791 single initrd /boot/initrd.img-2.6.32-3-686-bigmem title root Frase sozinha Explicação do Arquivo ● default 0 ● ● timeout 5 ● ● indica ao GRUB qual sistema operacional inicializar caso o usuário não faça nenhuma escolha 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 gfxboottheme-vixlinux) color ● Indica a cor a utilizar frente/fundo ● Só funciona se não tiver a imagem gfxboot Explicação do Arquivo ● title ● ● ● é esse nome que será exibido quando o GRUB mostrar a lista de sistemas operacionais que o usuário pode escolher root (hd0,1) ● ● mostra o título que o sistema recebe no GRUB 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) ● ● chainloader +1 ● ● Montar o root sem verificação da partição 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. ● ● 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 = 0 GRUB_DEFAULT = "xxxx" Neste caso, a localização no menu não importa. ● Exemplo: GRUB_DEFAULT="VIX LINUX" Arquivo /etc/default/grub ● GRUB_TIMEOUT ● ● GRUB_HIDDEN_TIMEOUT = 0 ● ● Configura o tempo. 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-pc CD 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-pc CD 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-rescuecdrom.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!!