Capítulo 11. O carregador de boot GRUB

Sumário

11.1. Inicializando com o GRUB
11.2. Configurando o carregador de boot com o YaST
11.3. Desinstalando a controladora de boot do Linux
11.4. Criando CDs de boot
11.5. A tela gráfica do SUSE
11.6. Solução de problemas
11.7. Para obter mais informações

Resumo

Este capítulo descreve como configurar o GRUB (Grand Unified Bootloader), o carregador de boot usado no SUSE® Linux Enterprise Desktop. Há um módulo especial do YaST disponível para ajustar todas as configurações. Se você não estiver familiarizado com a ideia de entrar para o Linux, leia as seções a seguir para obter algumas informações de apoio. Este capítulo também descreve alguns dos problemas encontrados com frequência durante o boot com o GRUB, bem como suas soluções.

[Note]ausência do GRUB em máquinas que usam UEFI

Como rotina, o GRUB será instalado nas máquinas equipadas com um BIOS tradicional e em máquinas com UEFI (Unified Extensible Firmware Interface) que usam um CSM (Compatibility Support Module — módulo de suporte a compatibilidade). Em máquinas com UEFI sem CSM habilitado, o eLILO será instalado automaticamente (desde que o DVD1 tenha sido inicializado com êxito). Consulte a documentação do eLILO em /usr/share/doc/packages/elilo/ no seu sistema para obter os detalhes.

Este capítulo trata do gerenciamento de boot e da configuração do carregador de boot GRUB. O procedimento de boot como um todo é detalhado em Capítulo 10, Inicializando e configurando um sistema Linux. Um carregador de boot representa a interface entre a máquina (BIOS) e o sistema operacional (SUSE Linux Enterprise Desktop). A configuração do carregador de boot influencia diretamente o boot do sistema operacional.

Os termos a seguir aparecem com frequência neste capítulo e talvez precisem de alguma explicação:

MBR (Master Boot Record)

A estrutura do MBR é definida por uma convenção que não depende do sistema operacional. Os primeiros 446 bytes são reservados para o código do programa. Normalmente, eles contêm parte de um programa carregador de boot ou um seletor de sistema operacional. Os 64 bytes seguintes fornecem espaço para uma tabela de partição de até quatro entradas. A tabela de partição contém informações sobre o particionamento do disco rígido e sobre os tipos de sistema de arquivos. O sistema operacional precisa dessa tabela para lidar com o disco rígido. Com o código genérico convencional no MBR, exatamente uma partição deve ser marcada como ativa. Os dois últimos bytes do MBR devem conter um número mágico estático (AA55). Um MBR que contém um valor diferente é tido como inválido por alguns BIOS, não sendo considerado para o boot.

Setores de boot

Os setores de boot são os primeiros setores das partições do disco rígido, com a execução da partição estendida, que serve meramente como container para outras partições. Esses setores de boot têm 512 bytes de espaço para o código usado para inicializar um sistema operacional instalado na partição respectiva. Isso se aplica aos setores de boot das partições DOS, Windows e OS/2 formatadas, que também contêm alguns dados básicos importantes do sistema de arquivos. Os setores de boot das partições Linux, ao contrário, ficam inicialmente vazias após a configuração de um sistema de arquivos diferente do XFS. Portanto, uma partição Linux não é inicializável por si mesma, mesmo que contenha um kernel e um sistema válido de arquivos raiz. Um setor de boot com código válido para inicializar o sistema tem o mesmo número mágico que o MBR em seus dois últimos bytes (AA55).

11.1. Inicializando com o GRUB

O GRUB contém dois estágios. O Estágio 1 consiste em 512 bytes, e sua única tarefa é carregar o segundo estágio do carregador de boot. Consequentemente, a estágio 2 é carregado. Este estágio contém a parte principal do carregador de boot.

Em algumas configurações, um estágio intermediário 1.5 pode ser usado, que localiza e carrega o estágio 2 de um sistema de arquivos apropriado. Se possível, este método é escolhido por padrão durante a instalação ou durante a configuração inicial do GRUB com o YaST.

O estágio 2 consegue acessar vários sistemas de arquivos. Atualmente, são suportados o ext2, ext3, ReiserFS, Minix e o sistema de arquivos FAT do DOS usado pelo Windows. Até certo ponto, XFS, e UFS e FFS usados pelos sistemas BSD também são suportados. Desde a versão 0.95, o GRUB também pode ser inicializado de um CD ou DVD que contenha um sistema de arquivos padrão ISO 9660 que está de acordo com a especificação El Torito. Mesmo antes de o sistema ser inicializado, o GRUB pode acessar os sistemas de arquivos dos dispositivos de disco BIOS suportados (disquetes ou discos rígidos, unidades de CD e unidades de DVD detectadas pelo BIOS). Portanto, as mudanças realizadas no arquivo de configuração do GRUB (menu.lst) não exigem a reinstalação do gerenciador de boot. Quando o sistema é inicializado, o GRUB recarrega o arquivo de menu com os caminhos e dados de partição válidos do kernel ou do disco RAM inicial (initrd) e localiza os arquivos.

A configuração real do GRUB se baseia em quatro arquivos, que são descritos a seguir:

/boot/grub/menu.lst

Esse arquivo contém todas as informações sobre partições ou sistemas operacionais que podem ser inicializados com o GRUB. Sem essas informações, a linha de comando do GRUB pergunta ao usuário como proceder (consulte a Seção 11.1.1.3, “Editando as entradas de menu durante o procedimento de boot” para obter os detalhes).

/boot/grub/device.map

Esse arquivo traduz os nomes dos dispositivos da notação do GRUB e do BIOS para os nomes de dispositivos Linux.

/etc/grub.conf

Esse arquivo contém os comandos, os parâmetros e as opções que o shell do GRUB precisa para instalar corretamente o carregador de boot.

/etc/sysconfig/bootloader

Esse arquivo é lido pela biblioteca perl-bootloader, que é usada na configuração do carregador de boot com o YaST e sempre que um novo kernel é instalado. Ele inclui opções de configuração (como parâmetros do kernel) que são adicionadas por padrão ao arquivo de configuração do carregador de boot.

O GRUB pode ser controlado de várias maneiras. As entradas de boot de uma configuração existente podem ser selecionadas no menu gráfico (splash screen). A configuração é carregada a partir do arquivo menu.lst.

No GRUB, todos os parâmetros de boot podem ser mudados antes do boot. Por exemplo, os erros cometidos durante a edição do arquivo de menu podem ser corrigidos desta maneira. Os comandos de boot também podem ser inseridos de forma interativa em um tipo de prompt de entrada. Para obter os detalhes, consulte a Seção 11.1.1.3, “Editando as entradas de menu durante o procedimento de boot”. O GRUB oferece a possibilidade de determinar a localização do kernel e do initrd antes do boot. Dessa maneira, você pode até inicializar um sistema operacional instalado para o qual não existe entrada na configuração do carregador de boot.

Na verdade, o GRUB existe em duas versões: como carregador de boot e como programa normal do Linux em /usr/sbin/grub. O segundo é conhecido como shell do GRUB. Ele fornece uma emulação do GRUB no sistema instalado e pode ser usado para instalar o GRUB ou testar novas configurações antes de aplicá-las. A funcionalidade para instalar o GRUB como carregador de boot em um disco rígido ou em um disquete é integrada ao GRUB na forma do comando setup. Ela fica disponível no shell do GRUB quando o Linux é carregado.

11.1.1. O arquivo /boot/grub/menu.lst

A splash screen gráfica no menu de boot baseia-se no arquivo de configuração do GRUB /boot/grub/menu.lst, que contém todas as informações sobre todas as partições ou sistemas operacionais que podem ser inicializados pelo menu.

Toda vez que o sistema é inicializado, o GRUB carrega o arquivo de menu a partir do sistema de arquivos. Por esse motivo, o GRUB não precisa ser reinstalado depois de todas as modificações no arquivo. Use o carregador de boot do YaST para modificar a configuração do GRUB conforme descrito na Seção 11.2, “Configurando o carregador de boot com o YaST”.

O arquivo de menu contém comandos. A sintaxe é muito simples. Cada linha contém um comando seguido de parâmetros opcionais separados por espaços, como ocorre no shell. Por razões históricas, alguns comandos admitem um = na frente do primeiro parâmetro. Os comentários são introduzidos por um hash (#).

Para identificar os itens do menu na visão geral do menu, defina um título para cada entrada. O texto (incluindo os espaços) que vem depois da palavra-chave título é exibido como opção selecionável no menu. Todos os comandos até o próximo título são executados quando se seleciona esse item de menu.

O caso mais simples é o redirecionamento para os carregadores de boot de outros sistemas operacionais. O comando é chainloader e o argumento é geralmente o bloco de boot de outra partição na notação de bloco do GRUB. Por exemplo:

chainloader (hd0,3)+1

Os nomes de dispositivos no GRUB são explicados na Seção 11.1.1.1, “Convenções de nomeação para discos rígidos e partições”. Este exemplo especifica o primeiro bloco da quarta partição do primeiro disco rígido.

Use o comando kernel para especificar uma imagem do kernel. O primeiro argumento é o caminho para a imagem do kernel em uma partição. Os outros argumentos são passados para o kernel na linha de comando.

Se o kernel não contiver drivers internos para acesso à partição raiz ou se for usado um sistema Linux recente com recursos de hotplug avançados, o initrd deve ser especificado com um comando separado do GRUB, cujo único argumento é o caminho para o arquivo initrd. Como o endereço de carregamento do initrd é gravado na imagem do kernel carregado, o comando initrd deve vir imediatamente após o comando kernel.

O comando root simplifica a especificação do kernel e dos arquivos initrd. O único argumento de root é um dispositivo ou uma partição. Esse dispositivo é usado para todos os kernels, initrd, ou para outros caminhos de arquivo para os quais não há dispositivos explicitamente especificados até o próximo comando root.

O comando boot está implícito no fim de cada entrada do menu, assim ele não precisa ser gravado no arquivo de menu. No entanto, ao usar o GRUB de forma interativa para o boot, você deve digitar o comando boot no final. O comando em si não tem argumentos. Ele meramente inicializa a imagem do kernel carregado ou do carregador de cadeia especificado.

Depois de gravar todas as entradas de menu, defina uma delas como entrada default. Do contrário, é utilizada a primeira (entrada 0). Você também pode especificar um tempo de espera em segundos depois do qual a entrada default deve ser inicializada. timeout e default geralmente precedem as entradas de menu. Um arquivo de exemplo está descrito em Seção 11.1.1.2, “Um exemplo de arquivo de menu”.

11.1.1.1. Convenções de nomeação para discos rígidos e partições

As convenções de nomeação que o GRUB utiliza para discos rígidos e partições diferem daquelas usadas para os dispositivos Linux normais. Elas são mais parecidas com a enumeração de disco simples feita pelo BIOS, além disso, a sintaxe é semelhante à usada em alguns derivativos do BSD. No GRUB, a numeração das partições começa por zero. Isso significa que (hd0,0) é a primeira partição do primeiro disco rígido. Em uma máquina desktop comum, com um disco rígido conectado como master principal, o nome do dispositivo Linux correspondente é /dev/sda1.

As quatro partições principais possíveis são atribuídas aos números de partição de 0 a 3. As partições lógicas são numeradas a partir de 4:

(hd0,0)   first primary partition of the first hard disk
(hd0,1)   second primary partition
(hd0,2)   third primary partition
(hd0,3)   fourth primary partition (usually an extended partition)
(hd0,4)   first logical partition
(hd0,5)   second logical partition

Sendo dependente de dispositivos BIOS, o GRUB não faz distinção entre dispositivos PATA (IDE), SATA, SCSI e RAID de hardware. Todos os discos rígidos reconhecidos pelo BIOS ou por outras controladoras são numerados de acordo com a sequência de boot predefinido no BIOS.

Infelizmente, geralmente não é possível mapear os nomes dos dispositivos Linux de forma exata para os nomes dos dispositivos BIOS. Ele gera esse mapeamento com a ajuda de um algoritmo e o grava no arquivo device.map, que pode ser editado se necessário. Na Seção 11.1.2, “O arquivo device.map”, há informações sobre o arquivo device.map.

O caminho completo do GRUB consiste em um nome de dispositivo escrito entre parênteses e o caminho para o arquivo no sistema de arquivos na partição especificada. O caminho começa com uma barra. Por exemplo, o kernel inicializável pode ser especificado como a seguir em um sistema com um único disco rígido PATA (IDE) com o Linux em sua primeira partição:

(hd0,0)/boot/vmlinuz

11.1.1.2. Um exemplo de arquivo de menu

O exemplo a seguir mostra a estrutura de um arquivo de menu do GRUB. A instalação de exemplo compreende uma partição de boot do Linux em /dev/sda5, uma partição raiz em /dev/sda7 e uma instalação do Windows em /dev/sda1.

gfxmenu (hd0,4)/boot/message1
color white/blue black/light-gray2
default 03
timeout 84

title linux5
   root (hd0,4)
   kernel /boot/vmlinuz root=/dev/sda7 vga=791 resume=/dev/sda9
   initrd /boot/initrd

title windows6
   rootnoverify (hd0,0)
   chainloader +1

title floppy7
   rootnoverify (hd0,0)
   chainloader (fd0)+1

title failsafe8
   root (hd0,4)
   kernel /boot/vmlinuz.shipped root=/dev/sda7 ide=nodma \
   apm=off acpi=off vga=normal nosmp maxcpus=0 3 noresume
   initrd /boot/initrd.shipped

O primeiro bloco define a configuração da splash screen:

1

A imagem de fundo message localiza-se no diretório /boot da partição /dev/sda5.

2

Esquema de cores: branco (primeiro plano), azul (segundo plano), preto (seleção) e cinza claro (segundo plano da seleção). O esquema de cores não tem efeito sobre a splash screen, apenas sobre o menu personalizável do GRUB que você pode acessar saindo da splash screen com Esc.

3

A primeira (0) entrada do menu title linux é inicializada por padrão.

4

Após oito segundos sem nenhuma entrada do usuário, o GRUB inicializa automaticamente a entrada padrão. Para desativar o boot automático, apague a linha timeout. Se você definir timeout 0, o GRUB inicializará a entrada padrão imediatamente.

O segundo e maior bloco lista os vários sistemas operacionais inicializáveis. As seções para os sistemas operacionais individuais são introduzidas pelo título.

5

A primeira entrada (title linux) é responsável por inicializar o SUSE Linux Enterprise Desktop. O kernel (vmlinuz) localiza-se na primeira partição lógica (a partição de boot) do primeiro disco rígido. Os parâmetros do kernel, tais como a partição raiz e o modo VGA, são anexados aqui. A partição raiz é especificada de acordo com a convenção de nomeação do Linux (/dev/sda7/), pois essas informações são lidas pelo kernel e não têm nada a ver com o GRUB. O initrd também se localiza na primeira partição lógica do primeiro disco rígido.

6

A segunda entrada é responsável por carregar o Windows. O Windows é inicializado a partir da primeira partição do primeiro disco rígido (hd0,0). O comando chainloader +1 faz com que o GRUB leia e execute o primeiro setor da partição especificada.

7

A próxima entrada permite o boot a partir do disco rígido sem modificar as configurações do BIOS.

8

A opção de boot failsafe inicia o Linux com uma seleção de parâmetros do kernel que permite que o Linux seja inicializado nos sistemas problemáticos.

O arquivo de menu pode ser mudado sempre que for necessário. O GRUB utiliza, então, as configurações modificadas durante o próximo boot. Edite o arquivo permanentemente usando o YaST ou um editor da sua escolha. Como alternativa, faça as mudanças temporárias de forma interativa usando a função de edição do GRUB. Consulte o Seção 11.1.1.3, “Editando as entradas de menu durante o procedimento de boot”.

11.1.1.3. Editando as entradas de menu durante o procedimento de boot

No menu gráfico de boot, selecione o sistema operacional a ser inicializado com as teclas de seta. Se selecionar um sistema Linux, você pode inserir parâmetros extras de boot no prompt de boot. Para editar diretamente as entradas individuais do menu, pressione Esc para sair da splash screen e entrar no menu baseado em texto do GRUB, depois pressione E. As mudanças feitas desta maneira só se aplicam ao boot atual, não sendo adotadas permanentemente.

[Important]layout do teclado durante o procedimento de boot

O layout do teclado norte-americano é o único disponível na hora de inicializar. Consulte a Figura 30.3, “Layout do teclado dos EUA”.

Editar entradas de menu facilita o reparo de um sistema com defeito que não pode mais ser inicializado, pois o arquivo de configuração defeituoso do carregador de boot pode ser evitado ao se inserir parâmetros manualmente. A inserção manual de parâmetros durante o procedimento de boot também é útil para testar novas configurações sem danificar o sistema nativo.

Depois de ativar o modo de edição, use as teclas de seta para selecionar a entrada de menu cuja configuração deve ser editada. Para tornar a configuração editável, pressione E novamente. Dessa maneira, edite as especificações incorretas das partições ou do caminho antes que tenham um efeito negativo sobre o processo de boot. Pressione Enter para sair do modo de edição e retornar ao menu. Depois pressione B para inicializar essa entrada. No texto de ajuda da parte inferior, são mostradas mais ações possíveis.

Para inserir permanentemente as opções de boot mudadas e passá-las para o kernel, abra o arquivo menu.lst como usuário root e anexe os respectivos parâmetros do kernel à linha existente, separados por espaços:

title linux
   root(hd0,0)
     kernel /vmlinuz root=/dev/sda3 additional parameter
   initrd /initrd

O GRUB adota automaticamente os novos parâmetros na próxima vez em que o sistema é inicializado. Como alternativa, essa mudança também pode ser feita com o módulo carregador de boot do YaST. Anexe os novos parâmetros à linha existente, separados por espaços.

11.1.2. O arquivo device.map

O arquivo device.map mapeia os nomes de dispositivos GRUB e BIOS para os nomes de dispositivos Linux. Em um sistema misto que contém discos rígidos PATA (IDE) e SCSI, o GRUB deve tentar determinar a sequência de boots por meio de um procedimento especial, pois o GRUB pode não ter acesso às informações do BIOS na sequência de boot. O GRUB grava o resultado dessa análise no arquivo /boot/grub/device.map. Arquivos device.map de exemplo para um sistema no qual a sequência de boot no BIOS é definida como PATA antes de SCSI podem ser parecidos com o seguinte:

(fd0)  /dev/fd0
(hd0)  /dev/sda
(hd1)  /dev/sdb

ou

(fd0)  /dev/fd0
(hd0)  /dev/disk-by-id/DISK1 ID
(hd1)  /dev/disk-by-id/DISK2 ID

Como a ordem de discos rígidos PATA (IDE), SCSI e outros depende de vários fatores, e como o Linux não consegue identificar o mapeamento, a sequência no arquivo device.map pode ser definida manualmente. Se você encontrar problemas na hora do boot, verifique se a sequência nesse arquivo corresponde à sequência no BIOS e use o prompt do GRUB para modificá-la temporariamente, se necessário. Depois que o sistema Linux for inicializado, o arquivo device.map pode ser editado permanentemente com o módulo carregador de boot do YaST ou com um editor da sua preferência.

Depois de mudar manualmente o device.map, execute o seguinte comando para reinstalar o GRUB. Este comando faz com que o arquivo device.map seja recarregado e os comandos listados em grub.conf sejam executados:

grub --batch < /etc/grub.conf

11.1.3. O arquivo /etc/grub.conf

O terceiro arquivo de configuração importante do GRUB, depois do menu.lst e do device.map, é o /etc/grub.conf. Esse arquivo contém os comandos, os parâmetros e as opções que o shell do GRUB precisa para instalar corretamente o carregador de boot:

setup --stage2=/boot/grub/stage2 --force-lba (hd0,1) (hd0,1)
   quit

Esse comando instrui o GRUB a instalar automaticamente o carregador de boot na segunda partição do primeiro disco rígido (hd0,1) usando as imagens de boot localizadas na mesma partição. O parâmetro --stage2=/boot/grub/stage2 é necessário para instalar a imagem stage2 de um sistema de arquivos montado. Alguns BIOS possuem falha na implementação do suporte a LBA. --force-lba proporciona uma solução para ignorá-la.

11.1.4. O arquivo /etc/sysconfig/bootloader

Esse arquivo de configuração só é usado na configuração do carregador de boot com o YaST e sempre que um novo kernel é instalado. Ele é avaliado pela biblioteca perl-bootloader, que modifica o arquivo de configuração do carregador de boot de acordo (por exemplo, /boot/grub/menu.lst para o GRUB). /etc/sysconfig/bootloader não é um arquivo de configuração específico do GRUB; os valores são aplicados a qualquer carregador de boot instalado no SUSE Linux Enterprise Desktop.

[Note]Configuração do carregador de boot após atualização do kernel

Sempre que um novo kernel é instalado, o perl-bootloader grava um novo arquivo de configuração do carregador de boot (por exemplo, /boot/grub/menu.lst para o GRUB) usando os padrões especificados em /etc/sysconfig/bootloader. Se você estiver usando um conjunto personalizado de parâmetros de kernel, certifique-se de ajustar os padrões relevantes em /etc/sysconfig/bootloader de acordo com as suas necessidades.

LOADER_TYPE

Especifica o carregador de boot instalado no sistema (ex. GRUB ou LILO). Não modifique, use o YaST para mudar o carregador de boot conforme descrito na Procedimento 11.6, “Mudando o tipo de carregador de boot”.

DEFAULT_VGA/FAILSAFE_VGA / XEN_VGA

A resolução de tela e a profundidade de cores do buffer de quadros usadas durante o boot são configuradas com o parâmetro de kernel vga. Esses valores definem qual resolução e profundidade de cores usar para as entradas de boot default, failsafe e XEN. Os seguintes valores são válidos:

Tabela 11.1. Referência de resolução de tela e profundidade de cores

640x480

800x600

1024 x 768

1280x1024

1600x1200

8bit

0x301

0x303

0x305

0x307

0x31C

15bit

0x310

0x313

0x316

0x319

0x31D

16bit

0x311

0x314

0x317

0x31A

0x31E

24bit

0x312

0x315

0x318

0x31B

0x31F


DEFAULT_APPEND/FAILSAFE_APPEND/XEN_KERNEL_APPEND

Parâmetros do kernel (diferentes do vga) que são automaticamente anexados às entradas de boot padrão, de failsafe e do XEN no arquivo de configuração do carregador de boot.

CYCLE_DETECTION/CYCLE_NEXT_ENTRY

Configure se deseja usar a detecção do ciclo de boot e, em caso afirmativo, qual entrada alternativa de /boot/grub/menu.lst usar no boot em caso de um ciclo de reinicialização (por exemplo, Failsafe). Consulte /usr/share/doc/packages/bootcycle/README para obter informações detalhadas.

11.1.5. Configurando uma senha de boot

Mesmo antes de o sistema operacional ser inicializado, o GRUB permite acesso aos sistema de arquivos. Os usuários que não têm permissões raiz podem acessar os arquivos no seu sistema Linux aos quais não têm acesso depois que o sistema é inicializado. Para bloquear esse tipo de acesso ou impedir que os usuários inicializem certos sistemas operacionais, defina uma senha de boot.

[Important]senha de boot e splash screen

Se você usar uma senha de boot para o GRUB, a splash screen normal não será exibida.

Como o usuário root, proceda da seguinte forma para definir uma senha de boot:

  1. No prompt do root, criptografe a senha usando grub-md5-crypt:

    # grub-md5-crypt
    Password: ****
    Retype password: ****
    Encrypted: $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/
  2. Cole a string criptografada na seção global do arquivo menu.lst:

    gfxmenu (hd0,4)/message
    color white/blue black/light-gray
    default 0
    timeout 8
    password --md5 $1$lS2dv/$JOYcdxIn7CJk9xShzzJVw/

    Agora, só é possível executar os comandos do GRUB no prompt raiz depois de pressionar P e digitar a senha. No entanto, os usuários ainda podem inicializar todos os sistemas operacionais a partir do menu de boot.

  3. Para impedir que um ou vários sistemas operacionais sejam inicializados a partir do menu de boot, acrescente a entrada lock em cada seção no menu.lst que não deveria ser inicializada sem se inserir uma senha. Por exemplo:

    title linux
       kernel (hd0,4)/vmlinuz root=/dev/sda7 vga=791
       initrd (hd0,4)/initrd
       lock

    Depois de reiniciar o sistema e selecionar a entrada no Linux no menu de boot, é exibida a seguinte mensagem de erro:

    Error 32: Must be authenticated

    Pressione Enter para inserir o menu. Depois pressione P para obter o prompt da senha. Depois de inserir a senha e pressionar Enter, o sistema operacional selecionado (o Linux, neste caso) não deve inicializar.

11.2. Configurando o carregador de boot com o YaST

A maneira mais fácil de configurar o carregador de boot no sistema SUSE Linux Enterprise Desktop é usando o módulo do YaST. No Centro de Controle do YaST, selecione Sistema+Carregador de Boot. Como na Figura 11.1, “Configurações do carregador de boot”, isso mostra a configuração do carregador de boot atual do sistema e permite fazer mudanças.

Figura 11.1. Configurações do carregador de boot

Configurações do carregador de boot

Use a guia Gerenciamento de Seções para editar, mudar e apagar seções do carregador de boot referentes aos sistemas operacionais individuais. Para adicionar uma opção, clique em Adicionar. Para mudar o valor de uma opção existente, selecione-o com o mouse e clique em Editar. Para remover uma entrada existente, selecione-a e clique em Apagar. Se não estiver familiarizado com as opções do carregador de boot, leia primeiro a Seção 11.1, “Inicializando com o GRUB”.

Use a guia Instalação do Carregador de Boot para ver e mudar configurações relativas a tipo, local e opções avançadas do carregador.

Clique em Outros para acessar as opções de configurações avançadas. O editor interno permite mudar os arquivos de configuração do GRUB. Para obter os detalhes, consulte a Seção 11.1, “Inicializando com o GRUB”. Você também pode apagar a configuração existente e Iniciar, ou deixar o YaST Propor Nova Configuração. Também é possível gravar a configuração em disco ou relê-la do disco. Para restaurar o MBR (Master Boot Record) original que foi gravado durante a instalação, escolha Recuperar MBR do Disco Rígido.

11.2.1. Ajustando a entrada de boot padrão

Para mudar o sistema que é inicializado por padrão, proceda da seguinte maneira:

Procedimento 11.1. Definindo o sistema padrão

  1. Abra a guia Gerenciamento de Seções.

  2. Selecione a entrada desejada na lista.

  3. Clique em Definir como Padrão.

  4. Clique em OK para ativar essas mudanças.

11.2.2. Modificando a localização do carregador de boot

Para modificar o local do carregador de boot, siga estas etapas:

Procedimento 11.2. Mudando a localização do carregador de boot

  1. Selecione a guia Instalação do Carregador de Boot e escolha uma das seguintes opções para a Localização do Carregador de Boot:

    Boot do Master Boot Record

    Instala o carregador de boot no MBR do primeiro disco (de acordo com a sequência de boot predefinida no BIOS).

    Boot da partição raiz

    Instala o carregador de boot no setor de boot da partição / (padrão).

    Boot da partição de boot

    Instala o carregador de boot no setor de boot da partição /boot.

    Boot da partição estendida

    Instala o carregador de boot no container da partição estendida.

    Partição de boot personalizada

    Use esta opção para especificar a localização do carregador de boot manualmente.

  2. Clique em OK para aplicar as mudanças.

11.2.3. Mudando o tempo de espera do carregador de boot

O carregador de boot não inicializa o sistema padrão imediatamente. Durante o tempo de espera, você pode selecionar o sistema para inicializar ou gravar alguns parâmetros de kernel. Para definir o tempo de espera do carregador de boot, proceda da seguinte maneira:

Procedimento 11.3. Mudando o tempo de espera do carregador de boot

  1. Abra a guia Instalação do Carregador de Boot.

  2. Clique em Opções do Carregador de Boot.

  3. Mude o valor de Tempo de Espera em Segundos digitando um novo valor e clicando na tecla de seta adequada com o mouse ou usando as teclas de seta do teclado.

  4. Clique em OK duas vezes para gravar as mudanças.

[Warning]Tempo de espera de 0 segundos

Ao definir o tempo de espera como 0 segundos, não será possível acessar o GRUB durante o tempo de boot. Quando tiver definido a opção de boot padrão para um sistema operacional não Linux ao mesmo tempo, isso efetivamente desabilitará o acesso ao sistema Linux.

11.2.4. Configurando uma senha de boot

Com esse módulo do YaST, também é possível definir uma senha para proteger o boot. Este procedimento aumenta o nível de segurança.

Procedimento 11.4. Configurando uma senha do carregador de boot

  1. Abra a guia Instalação do Carregador de Boot.

  2. Clique em Opções do Carregador de Boot.

  3. Ative a opção Proteger Carregador de Boot com Senha com um clique e digite a sua Senha duas vezes.

  4. Clique em OK duas vezes para gravar as mudanças.

11.2.5. Ajustando a ordem dos discos

Se o seu computador tiver mais de um disco rígido, é possível especificar a sequência de boot dos discos para corresponder à configuração do BIOS da máquina (consulte a Seção 11.1.2, “O arquivo device.map”). Para fazer isso, proceda da seguinte maneira:

Procedimento 11.5. Definindo a ordem dos discos

  1. Abra a guia Instalação do Carregador de Boot.

  2. Clique em Detalhes de Instalação do Carregador de Boot.

  3. Se mais de um disco for listado, selecione um disco e clique em Para cima ou Para baixo para reordenar os discos exibidos.

  4. Clique em OK duas vezes para gravar as mudanças.

11.2.6. Configurando as opções avançadas

As opções avançadas de boot podem ser configuradas por meio de Instalação do Carregador de Boot+Opções do Carregador de Boot. Normalmente não há necessidade de mudar as configurações padrão.

Definir Flag Ativo na Tabela de Partição para a Partição de Boot

Ativa a partição que contém o carregador de boot. Alguns sistemas operacionais legados (como o Windows 98) podem ser inicializados apenas de uma partição ativa.

Gravar Código de Boot Genérico no MBR

Substitui o MBR atual por um código genérico independente de sistema operacional.

Flag de Depuração

Define o GRUB no modo de depuração, no qual são exibidas mensagens para mostrar a atividade do disco.

Ocultar Menu de Boot

Oculta o menu de boot e a entrada padrão.

[Warning]

Ao ocultar o menu de boot, não será possível acessar o GRUB durante o tempo de boot. Quando tiver definido a opção de boot padrão para um sistema operacional não Linux ao mesmo tempo, isso efetivamente desabilitará o acesso ao sistema Linux.

Usar GRUB Confiável

Inicia o GRUB Confiável, que suporta a funcionalidade de computação confiável.

Arquivo de Menu Gráfico

Caminho do arquivo gráfico usado na exibição da tela de boot.

Parâmetros de Conexão Serial

Se a sua máquina é controlada por um console serial, você pode especificar a porta COM que será usada e em qual velocidade. Além disso, defina Definição de Terminal como serial. Consulte info grub ou http://www.gnu.org/software/grub/manual/grub.html para obter os detalhes.

Usar o Console Serial

Se a sua máquina é controlada por um console serial, ative essa opção e especifique a porta COM que será usada e em qual velocidade. Consulte info grub ou o site http://www.gnu.org/software/grub/manual/grub.html#Serial-terminal

11.2.7. Mudando o tipo de carregador de boot

Defina o tipo de carregador de boot em Instalação do Carregador de Boot. O carregador de boot padrão do SUSE Linux Enterprise Desktop é o GRUB. Para usar o LILO ou o ELILO, proceda da seguinte maneira:

[Warning]o LILO não é suportado

O uso do LILO não é recomendado — ele não é suportado no SUSE Linux Enterprise Desktop. Use-o apenas em casos especiais.

Procedimento 11.6. Mudando o tipo de carregador de boot

  1. Selecione a guia Instalação do Carregador de Boot.

  2. Para Carregador de Boot, selecione LILO.

  3. Na caixa de diálogo aberta, selecione uma das seguintes ações:

    Propor Nova Configuração

    Faça com que o YaST proponha uma nova configuração.

    Converter Configuração Atual

    Faça com que o YaST converta a configuração atual. Na conversão da configuração, algumas definições podem ser perdidas.

    Iniciar Nova Configuração do Início

    Grave uma configuração personalizada. Essa ação não está disponível durante a instalação do SUSE Linux Enterprise Desktop.

    Ler Configuração Gravada em Disco

    Carregue o /etc/lilo.conf. Essa ação não está disponível durante a instalação do SUSE Linux Enterprise Desktop.

  4. Clique em OK duas vezes para gravar as mudanças.

Durante a conversão, a antiga configuração do GRUB é gravada no disco. Para utilizá-la, basta voltar o tipo de carregador de boot para GRUB e escolher Recuperar Configuração Gravada Antes da Conversão. Esta ação fica disponível somente em um sistema instalado.

[Note]carregador de boot personalizado

Para usar um carregador de boot que não seja o GRUB nem o LILO, selecione Não Instalar Nenhum Carregador de Boot. Leia a documentação do seu carregador de boot cuidadosamente antes de escolher esta opção.

11.3. Desinstalando a controladora de boot do Linux

O YaST pode ser usado para desinstalar o carregador de boot do Linux e restaurar o estado do MBR anterior à instalação do Linux. Durante a instalação, o YaST cria automaticamente uma cópia de backup do MBR original e a restaura mediante solicitação.

Para desinstalar o GRUB, inicie o YaST e clique em Sistema+Carregador de Boot para iniciar o módulo do carregador de boot. Selecione Outro+Recuperar MBR do Disco Rígido e confirme com Sim, Regravar.

11.4. Criando CDs de boot

Se o boot do sistema com um gerenciador de boot apresentar problemas ou se o gerenciador de boot não puder ser instalado no disco rígido, também será possível criar um CD inicializável com todos os arquivos de inicialização necessários para o Linux. Para isso, é necessário um gravador de CD instalado no sistema.

A criação de um CR-ROM inicializável com o GRUB requer simplesmente um formato especial de stage2 chamado stage2_eltorito e, opcionalmente, um menu.lst personalizado. Os clássicos arquivos stage1 e stage2 não são necessários.

Procedimento 11.7. Criando CDs de boot

  1. Passe para um diretório no qual será criada a imagem ISO, por exemplo: cd /tmp

  2. Crie um subdiretório para o GRUB e passe para o diretório iso recém-criado:

    mkdir -p iso/boot/grub && cd iso
  3. Copie o kernel, os arquivos stage2_eltorito, initrd, menu.lst e message para iso/boot/:

    cp /boot/vmlinuz boot/
    cp /boot/initrd boot/
    cp /boot/message boot/
    cp /usr/lib/grub/stage2_eltorito boot/grub
    cp /boot/grub/menu.lst boot/grub
  4. Substitua as entradas root (hdx, y) por root (cd) para apontar para o dispositivo de CD_ROM. Você também pode precisar ajustar os caminhos do arquivo de mensagem, do kernel e do initrd — eles devem apontar para /boot/message, /boot/vmlinuz e /boot/initrd, respectivamente. Depois de fazer os ajustes, menu.lst deverá ter aparência semelhante ao exemplo a seguir:

    timeout 8
    default 0
    gfxmenu (cd)/boot/message
    
    title Linux
       root (cd)
       kernel /boot/vmlinuz root=/dev/sda5 vga=794 resume=/dev/sda1 \
       splash=verbose showopts
       initrd /boot/initrd

    Use splash=silent em vez de splash=verbose para impedir que apareçam mensagens de boot durante o procedimento de boot.

  5. Crie a imagem ISO com o seguinte comando:

    genisoimage -R -b boot/grub/stage2_eltorito -no-emul-boot \
    -boot-load-size 4 -boot-info-table -iso-level 2 -input-charset utf-8 \
    -o grub.iso /tmp/iso
  6. Grave o arquivo resultante grub.iso em um CD usando seu utilitário preferido. Não grave a imagem ISO como arquivo de dados, porém, use a opção para gravar uma imagem de CD no seu utilitário de gravação.

11.5. A tela gráfica do SUSE

A tela gráfica do SUSE será exibida no primeiro console se a opção vga=valor for usada como parâmetro de kernel. Se você fizer a instalação usando o YaST, essa opção é ativada automaticamente de acordo com a resolução e a placa de vídeo selecionadas. Há três maneiras de desabilitar a tela do SUSE, se desejado:

Desabilitando a tela do SUSE quando necessário

Insira o comando echo 0 >/proc/splash na linha de comando para desativar a tela gráfica. Para ativá-la novamente, insira echo 1 >/proc/splash.

Desabilitando a tela do SUSE por padrão

Acrescente o parâmetro de kernel splash=0 à configuração do seu carregador de boot. O Capítulo 11, O carregador de boot GRUB fornece mais informações sobre isso. No entanto, se você preferir o modo de texto (que foi o padrão nas versões anteriores), defina vga=normal.

Desativando completamente a tela do SUSE

Compile um novo kernel e desative a opção Usar a splash screen em vez do logotipo de boot no suporte a framebuffer. A desabilitação do suporte a buffer de quadros no kernel também desabilita automaticamente a splash screen.

[Warning]Sem suporte

O SUSE não pode fornecer suporte ao seu sistema se você o executar com um kernel personalizado.

11.6. Solução de problemas

Esta seção lista alguns dos problemas encontrados com frequência na hora de inicializar com o GRUB e uma descrição resumida das soluções possíveis. Alguns dos problemas estão descritos nos artigos da Base de Dados de Conhecimento no http://www.suse.com/support. Use a caixa de diálogo de pesquisa para procurar palavras-chave como GRUB, boot e carregador de boot.

GRUB e XFS

O XFS não deixa espaço para o stage1 no bloco de boot da partição. Portanto, não especifique uma partição XFS como local do carregador de boot. Esse problema pode ser resolvido com a criação de uma partição separada de boot que não é formatada com o XFS.

Erro de GRUB Geom nos Relatórios do GRUB

O GRUB verifica a geometria dos discos rígidos conectados quando o sistema é inicializado. Às vezes, o BIOS retorna informações inconsistentes e o GRUB cria um erro de geometria do GRUB. Quando isso ocorrer, atualize o BIOS.

O GRUB também retornará essa mensagem de erro se o Linux tiver sido instalado em um disco rígido adicional não registrado no BIOS. O stage1 do carregador de boot foi encontrado e carregado corretamente, mas o stage2 não foi encontrado. Esse problema pode ser remediado registrando-se o novo disco rígido no BIOS.

Sistema contendo vários discos rígidos não é inicializado

Durante a instalação, o YaST pode ter determinado incorretamente a sequência de boot dos discos rígidos. Por exemplo, o GRUB pode considerar o disco PATA (IDE) como hd0 e o disco SCSI como hd1, embora a sequência de boot no BIOS seja invertida (SCSI antes de PATA).

Nesse caso, corrija os discos rígidos durante o processo de boot com a ajuda da linha de comando do GRUB. Depois que o sistema for inicializado, edite device.map para aplicar o novo mapeamento permanentemente. Depois verifique os nomes de dispositivo do GRUB nos arquivos /boot/grub/menu.lst e /boot/grub/device.map e reinstale o carregador de boot com o seguinte comando:

grub --batch < /etc/grub.conf
Inicializando o Windows do segundo disco rígido

Alguns sistemas operacionais, como o Windows, podem ser inicializados apenas do primeiro disco rígido. Se um sistema operacional desse tipo for instalado em um disco rígido que não for o primeiro, você pode efetuar uma mudança lógica na respectiva entrada do menu.

...
title windows
   map (hd0) (hd1)
   map (hd1) (hd0)
   chainloader(hd1,0)+1
...

Nesse exemplo, o Windows é iniciado a partir do segundo disco rígido. Para essa finalidade, a ordem lógica dos discos rígidos é mudada com map. Essa mudança não afeta a lógica dentro do arquivo de menu do GRUB. Portanto, o segundo disco rígido deve ser especificado para chainloader.

11.7. Para obter mais informações

Em http://www.gnu.org/software/grub/, há informações abrangentes sobre o GRUB. Consulte também a página de informações grub. Você também pode procurar a palavra-chave GRUB na Pesquisa de Informações Técnicas em http://www.novell.com/support para obter informações sobre problemas específicos.


SUSE Linux Enterprise Desktop Guia de Administração 11 SP3