fbpx Certificação Linux: GRUB 1 no Linux (legacy) [Guia Básico]

Blog

GRUB 1 no Linux (legacy) [Guia Básico]

📅 07/03/2019 ⏱ 6 min ✍️ Uira Ribeiro
Linuxcomandoshow-to
GRUB 1 no Linux (legacy) [Guia Básico]

Os gerenciadores de boot são programas que carregam o Kernel do Linux e até permitem a escolha de um outro sistema operacional. O principal gerenciador de boot do Linux é o GRUB e existem duas versões. A primeira versão é o Grub 1 no Linux (legacy).

Logo após os testes de hardware realizados pela BIOS, o computador procura no setor de boot da partição ativa ou no Master Boot Record - MBR um pequeno software para iniciar a carga do sistema operacional.

Grand Unified Boot Loader (GRUB - 1)

A maioria das distribuições já adota o GRUB 1 como gerenciador padrão. Ele é flexível, funcional e poderoso, podendo carregar sistemas operacionais como o Windows (9x, ME, NT, 2000 e XP), DOS, Linux, GNU Hurd, *BSD, OS/2 e outros.

O GRUB 1 também permite buscar imagens do Kernel pela rede, por cabo serial, suporta discos rígidos IDE, SATA, PATA e SCSI e tem interface voltada para a linha de comandos ou menus. Suporta sistemas sem discos e terminais remotos.

Como possui inúmeros recursos, será apresentada sua utilização básica, o suficiente para você passar no exame, ficando como sugestão ao leitor procurar se aprofundar mais em suas possibilidades de uso e configuração.

A notação dos dispositivos de disco utilizada pelo GRUB 1 difere um pouco do usual, de forma que o nome dos discos sempre serão “hd”, seguidos da numeração do disco iniciando por zero, seguidos do número da partição, iniciando também do zero.

Veja a tabela comparativa:

Notação de discos no Grub 1

Notação no Linux Notação no Grub 1
/dev/hda (hd0)
/dev/hda1 (hd0,0)
Notação no Linux Notação no Grub 1
/dev/hda2 (hd0,1)
/dev/hdb (hd1)
/dev/hdb1 (hd1,0)
/dev/hdb2 (hd1,1)
/dev/sda (hd0)
/dev/sda1 (hd0,0)
/dev/sda2 (hd0,1)
/dev/sdb (hd1)
/dev/sdb1 (hd1,0)
/dev/sdb2 (hd1,1)
/dev/fd0 (fd0)

Não há distinção entre os discos IDE e SCSI. Ambos são referenciados como (hd?) pelo GRUB.

Nativamente o GRUB não suporta EFI em versões anteriores ao kernel 3.30.

O GRUB possui um arquivo de configuração chamado /boot/grub/menu.lst. Algumas distribuições como Fedora, RedHat e Gentoo preferem utilizar grub.conf ao invés de menu.lst.

Este arquivo é dividido em parâmetros Globais, que afetam o GRUB e parâmetros que só têm efeito para as imagens do sistema que será carregado.

Parâmetros do grub.conf

Vejamos os parâmetros globais:

  • timeout: Define um tempo (em segundos) de espera para o prompt ou menu. Se nenhuma intervenção do usuário for feita no boot, o GRUB 1 carrega a imagem padrão;
  • default: Define qual será a imagem padrão que será carregada se nenhuma outra for selecionada;
  • fallback: Caso ocorra algum erro inesperado e a opção padrão não possa ser carregada, este parâmetro define qual outra imagem deve ser utilizada;
  • color: Permite que você escolha as cores usadas no menu de boot;
  • password: Permite que você especifique uma senha para qualquer ação que não seja carregar as imagens disponíveis. Por exemplo, acessar a linha de comandos do GRUB 1;
  • hiddenmenu: Esta opção faz com que o menu de opções não seja mostrado e que a carga da imagem especificada pela linha “default” seja carregada. O usuário pode requisitar o menu com as opções pressionando a tecla <ESC> antes que o tempo definido em timeout expire.

Parâmetros que afetam apenas as imagens:

  • title: Define um texto que será apresentado no menu de boot para identificar o sistema;
  • root: Determina qual é a partição raiz de uma determinada imagem;
  • rootnoverify: Idêntica à opção root, mas não tenta montar a partição raiz. Utilizada para alguns sistemas como o Microsoft Windows;
  • kernel: Esta opção informa qual imagem de Kernel vai ser carregada. Alguns parâmetros do Kernel podem ser passados;
  • module: Faz com que algum módulo necessário para o boot seja carregado. Lembre-se que estes não são módulos do Kernel (módulos de som, rede, etc.) e sim módulos necessários ao boot de alguns sistemas, como o GNU Hurd;
  • lock: Bloqueia a carga da imagem do Kernel por senha. A senha precisa ser especificada com a opção password;
  • makeactive: Torna a partição ativa para boot. Este comando está limitado a partições primárias dos discos;
  • chainloader: Especifica a localização do gerenciador de boot de outros sistemas operacionais. Alguns sistemas, como o Microsoft Windows, armazenam seu próprio gerenciador de boot no início da partição onde estão instalados.

O GRUB 1 tem muitas opções disponíveis. Fica a sugestão para o leitor ler mais sobre este gerenciador de boot utilizando o comando info grub na linha de comandos do Linux.

O Utilitário grub-install

Uso:

# /sbin/grub-install opções partição

Este comando instala o GRUB 1 como gerenciador de boot no MBR do primeiro disco e cria o diretório /boot/grub. Este diretório contém os arquivos necessários para o seu funcionamento.

As opções mais frequentes são:

  • — root-directory=diretório: Esta opção instala o GRUB 1 em diretório que não seja o raiz. É útil para instalá-lo em outras partições;
  • — recheck: Esta opção checa novamente o mapa de dispositivos em /boot/grub/device.map. É útil quando um novo disco for acrescentado ou retirado do sistema.

Conheça o Menu.lst

Veja abaixo um arquivo exemplo do menu.lst:

timeout 30

default 0

fallback 1

color light-cyan/black white/blue

password minha-senha-secreta

title GNU/Hurd

root (hd0,0)

kernel /boot/gnumach.gz root=hd0s1

module /boot/serverboot.gz

title Linux 3.14.16

lock

root (hd0,0)

kernel (hd0,0)/boot/vmlinuz-3.14.16 vga=6 mem=512M radisk=0

title FreeBSD 3.4

root (hd0,2,a)

kernel /boot/loader

title Windows 9x, ME, NT, 2000, XP

unhide (hd0,0)

rootnoverify (hd0,0)

chainloader +1

makeactive

root = (hd0,0)

setup = (hd0)

O GRUB 1 também possui um shell especial que aceita todas as opções do arquivo de configuração menu.lst e muitas outras. É uma poderosa ferramenta de configuração do gerenciador de boot.

Sem dúvida o código livre está sendo o grande rival das empresas que produzem software “proprietário”.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Especialista Linux com mais de 20 anos de experiência.
Autor de 5 livros e mentor de mais de 14.000 alunos certificados.
20 certificações de alto nível, incluindo LPIC-3, CKA, RHCE e AWS Solutions Architect.

WhatsApp