| Migrar para GRUB 2 |
|
|
|
| Escrito por Roderick W. Smith, Consultant and autho | ||||
| Sex, 04 de Fevereiro de 2011 22:58 | ||||
|
Resumo: As ferramentas usadas para inicializar Linux® estão mudando. Especificamente, o Grand Unified Bootloader (GRUB) está agora oficialmente apenas no modo de manutenção, e os desenvolvedores de GRUB abandonaram o GRUB original em favor de um pacote totalmente reescrito, conhecido como GRUB 2. Descubra os novos recursos de GRUB 2 e como usá-los Para a maioria das pessoas, os loaders de boot são o aspecto mais estimulante de um sistema operacional, mas eles são extraordinariamente importantes. Sem um loader de boot em operação, nada mais funciona. Atualmente, uma transição da ferramenta Grand Unified Bootloader (GRUB) Legacy antiga para o novo GRUB 2 está em andamento. GRUB 2 é o loader de boot padrão no Ubuntu 9.10 e uma opção na maioria das outras distribuições principais de Linux. Cedo ou tarde, outras distribuições implementarão GRUB 2 como o loader de boot padrão.
A Figura 1 mostra o processo de boot como implementado pelo GRUB Legacy e GRUB 2. O sistema básico de entrada/saída (BIOS) está no primeiro código a ser executado no computador e armazenado no firmware do computador. O BIOS carrega o primeiro setor do dispositivo de boot e executa o código contido. No caso de um disco rígido, esse primeiro setor é também conhecido como o registro de boot mestre (MBR) e contém o primeiro estágio do loader de boot e a tabela de partições do MBR. Como a maioria dos dispositivos de disco usa um tamanho de setor de 512 bytes, o código do loader de boot de primeiro estágio deve ser muito pequeno. A maioria dos loaders de boot, incluindo GRUB Legacy e GRUB 2, coloca código adicional em todas as partes do disco. No caso de GRUB Legacy, esse código adicional é conhecido como stage 1.5 e é geralmente colocado em uma área não alocada imediatamente após o MBR. Mais código, conhecido como stage 2, ainda é armazenado nos arquivos na partição de boot de Linux (geralmente no diretório /boot), embora a Figura 1 omita esses arquivos para fins de simplicidade. Da mesma forma, em uma configuração com vários sistemas operacionais, o loader de boot secundário pode armazenar arquivos de configuração adicionais em qualquer lugar.
GRUB 2 é similar a GRUB Legacy de maneira geral, mas elimina stage 1.5 e implementa uma abordagem de configuração modular em que o código para manipular vários sistemas de particionamento, sistemas de arquivos e outras extensões é armazenado em arquivos de disco — geralmente, em /boot/grub.
As variantes na configuração que acabaram de ser descritas são possíveis com GRUB Legacy e GRUB 2. Por exemplo, é possível instalar o código de stage 1 de GRUB em um setor da primeira partição de boot Linux em vez de no MBR. Usado dessa forma, outro loader de boot reside no MBR, e o menu de GRUB aparece somente quando esse loader de boot carrega GRUB em cadeia. Devido à Extensible Firmware Interface (EFI), que provavelmente deve substituir o BIOS como o firmware de PC padrão, fornece um boot de loader padrão, uma configuração similar a essa está disponível para GRUB 2 nos sistemas baseados em EFI. Se quiser substituir GRUB Legacy por GRUB 2 em um sistema em funcionamento, será preciso instalar um novo pacote GRUB 2, configurar seus arquivos e executar um comando especial para que GRUB 2 substitua o MBR de GRUB Legacy existente e o código oculto especial pelos equivalentes de GRUB 2. Se estiver mudando para GRUB 2 por estar instalando uma nova distribuição que use GRUB 2 como o seu loader de boot padrão, você não precisará lidar com estas etapas. Em qualquer um dos casos, é preciso entender o novo formato do arquivo de configuração GRUB 2 e também os novos recursos gerais do loader de boot. Para sistemas somente Linux, GRUB Legacy lida com a tarefa do loader de boot perfeitamente bem. O motivo da transição está parcialmente relacionado ao desenvolvimento do loader de boot. GRUB Legacy tem código que os desenvolvedores consideram confuso e que não pode ser mantido. Para adicionar novos recursos, eles optam por reescrever o loader de boot do zero em vez de criá-lo em uma base Como uma questão prática para administradores de sistema, GRUB 2 oferece suporte a vários recursos que são importantes agora ou que podem se tornar importantes no futuro:
Se já estiver familiarizado com GRUB Legacy, você verá que o arquivo de configuração de GRUB 2 é similar em linhas gerais, mas varia em muitos detalhes. É preciso estar ciente também dos significados alternativos da configuração de GRUB 2. Um arquivo de configuração de exemplo O local padrão do arquivo de configuração GRUB 2 é /boot/grub/grub.cfg. Algumas distribuições Linux usam /boot/grub2/grub.cfg, permitindo instalações lado a lado de GRUB Legacy e GRUB 2. A Lista 1 mostra um arquivo de configuração GRUB 2 de amostra.
Se estiver familiarizado com GRUB Legacy, achará este arquivo de configuração GRUB 2 básico similar. Assim como os arquivos de configuração GRUB Legacy, o arquivo GRUB 2 começa com uma seção que define várias opções globais — nesse caso, a configuração de um valor de tempo limite de 10 segundos e a configuração da entrada no menu padrão.
O arquivo continua com uma série de entradas de menu. A forma dessas entradas é diferente daquelas de GRUB Legacy, mas a finalidade é a mesma: Cada uma define um único sistema operacional ou variante de boot, como um kernel Linux diferente. Cada entrada de menu começa com a palavra-chave Mudanças no arquivo de configuração Diversas alterações entre os formatos de arquivo de configuração de GRUB Legacy e GRUB 2 merecem ser mencionadas:
Outra alteração é extremamente importante, mas não óbvia na Listagem 1: As partições são numeradas a partir de 1 em GRUB 2, ao passo que a numeração da partição começa com 0 em GRUB Legacy. Uma mudança equivalente na numeração do disco não é implementada. Assim, a primeira partição no primeiro disco é Obviamente, GRUB 2 implementa muitos recursos novos. Alguns deles não têm muita coisa em uma instalação Linux padrão ou não afetam diretamente o arquivo de configuração. Algumas opções importantes que podem precisar de ajuste são as seguintes:
Métodos alternativos de reconfiguração de GRUB 2
Ubuntu 9.10 usa o utilitário
Em alguns casos, a execução deliberada de Caso seja preciso efetuar mais alterações específicas, você poderá editar diretamente os arquivos em /etc/grub.d. Esses arquivos são na verdade scripts de bash. Cada um informa ao sistema como localizar tipos específicos de kernels ou sistemas operacionais e adicionar entradas apropriadas a /boot/grub/grub.cfg.
Um arquivo adicional conhecido como Terceiros escreveram algumas ferramentas e scripts para ajudar a gerenciar as instalações de GRUB 2. Um exemplo é o StartUp Manager. Essa ferramenta de interface gráfica do usuário (GUI) vem com o Ubuntu e fornece uma interface de apontar e clicar para gerenciar as instalações GRUB Legacy e GRUB 2. GRUB 2, assim como GRUB Legacy, deve ser instalado uma vez. Daí em diante, o loader de boot lê seu arquivo /boot/grub/grub.cfg para apresentar o menu de boot a você. Entretanto, antes da instalação, é possível considerar o layout da partição. Após a instalação de GRUB 2, fique por dentro de alguns recursos básicos para operação de tempo de boot. Preparando partições para GRUB 2 Nenhuma preparação especial é necessária para instalar GRUB 2 em um disco que usa o esquema de particionamento do MBR. O mesmo é tecnicamente verdadeiro para GPT; entretanto, se um disco GPT tiver uma partição de boot de BIOS, GRUB 2 armazenará código extra nessa partição. Se a partição de boot de BIOS não estiver presente, GRUB 2 usará uma lista de setores de disco correspondente a um arquivo no diretório /boot. Se você alguma vez ajustar esse sistema de arquivos, a lista de setores se tornará inválida, resultando na incapacidade de GRUB de realizar o boot. Assim, o uso de uma partição de boot de BIOS é altamente recomendado em discos GPT.
Sua partição de boot de BIOS deve ter tamanho de pelo menos 31 KB. Torná-la maior não causará nenhum prejuízo e poderá ser útil caso as necessidades de GRUB mudem no futuro. Em versões recentes de GNU Parted, é possível definir a opção
Instale GRUB 2 no MBR de um disco da mesma forma que GRUB, usando o comando É possível normalmente instalar GRUB Legacy no setor de boot de uma partição (como /dev/sda4) digitando:
(alterando o nome de arquivo do dispositivo da partição de acordo com a necessidade). Entretanto, isso não funciona com GRUB 2. É possível superar esse problema digitando: |
grub-setup --force /dev/sda4
|
(alterando o nome de arquivo do dispositivo de acordo com necessidade); entretanto, esse método nem sempre funciona.
Uso de GRUB 2 no tempo de execução
Durante o uso normal, GRUB 2 tem funcionamento muito parecido com GRUB Legacy: Quando o computador é inicializado, logo após o BIOS realizar suas verificações, aparece um menu de sistema operacional e opções de kernel. Selecione uma opção de boot usando as teclas de seta e pressione Enter. Caso nada seja selecionado, o padrão poderá ser inicializado, dependendo das opções do arquivo de configuração.
Se uma entrada não funcionar, será possível efetuar uma mudança única nela usando o modo de edição GRUB 2. Em vez de pressionar a tecla Enter para inicializar uma entrada, pressione a tecla E para editá-la. Você verá um editor simples que aceita opções de edição semelhantes a Emacs. Quando terminar, pressione Ctrl-X para inicializar sua entrada alterada.
Se GRUB 2 não conseguir localizar seu arquivo de configuração, ele apresentará um prompt grub>. É possível digitar comandos de GRUB 2, incluindo os que você usaria em uma entrada de menu no arquivo de configuração. Se estiver familiarizado o suficiente com GRUB 2, o computador poderá ser inicializado. Infelizmente, uma descrição completa da solução de problemas usando o modo de linha de comando de GRUB 2 será várias vezes o tamanho deste artigo.
Os principais motivos para se usar GRUB 2 são se você está usando uma distribuição que o instala por padrão ou se precisa de acesso a um de seus recursos incomuns, como a capacidade de inicializar diretamente um kernel XNU. Na maioria dos outros casos, GRUB 2 pouca ou nenhuma vantagem em relação a GRUB Legacy. Um caso no meio termo é o uso de GPT em um computador baseado em BIOS. GRUB 2 oferece suporte a essa configuração, mas o GRUB Legacy padrão não. As versões com correção do GRUB Legacy com suporte GPT estão disponíveis e vêm com a maioria das distribuições modernas, mas é possível que você prefira o uso de um loader de boot com suporte oficial de GPT.
O resultado é este: Se o que você já instalou já funciona, é melhor continuar usando-o. Alterar loaders de boot pode tornar um sistema não inicializável, e corrigir esse problema é algo tedioso.
Portanto, é provável que GRUB 2 substitua GRUB Legacy na evolução. Dessa forma, é possível se familiarizar com GRUB 2, apenas se estiver em um sistema de testes ou em uma máquina virtual. Cedo ou tarde, é possível que perceba que o formato do seu arquivo de configuração GRUB mudou porque a sua distribuição mudou o loader de boot. Uma pequena pesquisa avançada o ajudará a passar por essa alteração com impacto mínimo.
Aprender
-
Em GRUB 2 e EFI, saiba como usar GRUB 2 em sistemas baseados em EFI.
-
GNU GRUB 2 é um site voltado para Ubuntu com documentação detalhada sobre muitos tópicos de GRUB 2.
-
"Learn Linux, 101: Boot managers" (developerWorks, abril de 2010) apresenta o processo de boot e os dois loaders de boot mais comuns, LILO e GRUB, incluindo como eles funcionam, como configurá-los e como recuperar de problemas comuns.
-
"Make the most of large drives with GPT and Linux" (developerWorks, julho de 2009) mostra como ter certeza de que o seu sistema Linux está totalmente preparado para o futuro do armazenamento em disco.
-
Na zona Linux do developerWorks, encontre centenas de artigos de como proceder e tutoriais, bem como downloads, fóruns de discussão e muitos outros recursos para desenvolvedores e administradores Linux.
-
Mantenha-se atualizado com os eventos técnicos e webcasts do developerWorks focados em uma variedade de produtos IBM e assuntos da indústria de TI.
-
Participe de uma orientação gratuita do developerWorks Live! para atualizar-se rapidamente sobre produtos e ferramentas da IBM, assim como tendências da indústria de TI.
-
Assista às demos on-demand do developerWorks que abrangem da instalação do produto e demos de configuração para iniciantes à funcionalidade avançada para desenvolvedores experientes.
-
Siga o developerWorks no Twitter ou se inscreva em um feed de tweets Linux no developerWorks.
Obter produtos e tecnologias
-
StartUp Manager é uma ferramenta de configuração GRUB 2.
-
O site principal de GRUB tem documentação e links para download para GRUB Legacy e GRUB 2.
-
Avalie os produtos da IBM da forma que melhor lhe convém: Faça o download de uma versão de teste de produto, experimente um produto on-line, use um produto em um ambiente de nuvem ou passe algumas horas no SOA Sandboxaprendendo como implementar Arquitetura Orientada a Serviço de forma eficiente.
Discutir
-
Envolva-se na comunidade My developerWorks. Entre em contato com outros usuários do developerWorks enquanto explora os blogs, fóruns, grupos e wikis dos desenvolvedores.
Roderick W. Smith é consultor e autor de dezenas de livros sobre UNIX e Linux, incluindo The Definitive Guide to Samba 3, Linux in a Windows World e Linux Professional Institute Certification Study Guide. Ele é autor do software de particionamento GPT fdisk. Atualmente, Roderick reside em Woonsocket, Rhode Island.



