Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

E.2. GRUB

O GNU GRand Unified Boot loader (GRUB) possibilita que o sistema operacional ou kernel selecionado seja carregado durante a inicialização do sistema. Também permite que o usuário passe argumentos para o kernel.

E.2.1. O GRUB e o processo de inicialização nos sitemas BIOS-based x86

Esta seção discute o papel do GRUB durante a inicialização de um sistema x86. Para ter uma idéia geral do processo de inicialização, consulte a Seção F.2, “Uma Investigação Detalhada do Processo de Inicialização”.
O GRUB é carregado na memória nos seguintes estágios:
  1. O Estágio 1 ou carregador de inicialização primária é lido na memória pelo BIOS a partir do MBR[14].. O carregador de inicialização primário existe em menos de 512 bytes de espaço de disco dentro do MBR e é capaz de carregar tanto o carregador de inicialização Estágio 1.5 quanto Estágio 2.
    O BIOS não pode ler as tabelas de partição ou sistemas de arquivo. Ele inicializa o hardware, lê o MBR e depois depende inteiramente no estágio 1 de carregador de inicialização para continuar o processo de inicialização.
  2. O carregador de inicialização Estágio 1.5 é carregado na memória pelo carregador de inicialização Estágio 1, se necessário. Alguns dispositivos de hardware necessitam um passo intermediário antes de chegar ao carregador de inicialização Estágio 2. Este é o caso, às vezes, quando a partição /boot/ encontra-se acima da cabeça do cilindro 1024 do disco rígido ou quando o modo LBA for usado. O carregador de inicialização Estágio 1.5 encontra-se na partição /boot/ ou em uma parte do MBR e da partição /boot/.
  3. O carregador de inicialização Estágio 2 ou secundário é carregado na memória. O carregador de inicialização secundário exibe o menu do GRUB e o ambiente de comandos. Esta interface permite que o usuário selecione qual kernel ou sistema operacional deve ser inicializado, passe argumentos para o kernel, ou visualize parâmetros do sistema.
  4. O carregador de inicialização secundário carrega o sistema operacional ou o kernel, bem como o conteúdo de /boot/sysroot/ para a memória. Uma vez que o GRUB determinar qual sistema operacional ou kernel deve ser inicializado, ele carrega o mesmo na memória e transfere-o o controle da máquina.
O método usado para inicializar o Red Hat Enterprise Linux é chamado de carregamento direto porque o carregador de inicialização carrega o sistema operacional diretamente. Não há nenhum intermediário entre o carregador de inicialização e o kernel.
O processo de inicialização usado por outros sistemas operacionais pode variar. Por exemplo, o sistema operacional Microsoft® Windows®, bem como outros sistemas operacionais, são carregados usando o carregamento em cadeia. Sob este método, o MBR aponta para o primeiro setor da partição contendo o sistema operacional, onde encontram-se os arquivos necessários para a inicialização do sistema operacional.
O GRUB suporta tanto o método de carregamento direto quanto o em cadeia, permitindo assim a inicialização de praticamente qualquer sistema operacional.

Atenção

Durante a instalação, os programas de instalação da Microsoft para o DOS e para o Windows sobrescrevem completamente o MBR, destruindo quaisquer carregadores de inicialização existentes. Se você estiver criando um sistema de inicialização dupla, é melhor instalar o sistema operacional da Microsoft primeiro.


[14] Para mais sobre BIOS de sistema e MBR, consulte o Seção F.2.1.1, “Os sistemas x86 com BIOS”.