Codigos Fonte, Artigos e Dicas
Introdução ao Grub2
Entendendo o Grub2
Esse boot loader é novo (já a algum tempinho rs) mas ainda não tinha lido sobre ele… Neste post irei dar uma pequena introdução para se ambientar com ele, principalmente para quem está acustumado com o antigo….-
Introdução
O Grub2 segundo o que eu tenho lido, foi reescrito do zero, porque a arquitetura do antigo Grub já estava legada de mais para permitir tamanho flexibilidade e performance que os novos sistemas estão requerendo…
- Melhorias
- Suporte a inclusão de scripts com declarações condicionais e funções
- Carregamento dinâmico de módulo
- Rescue Mode (modo de recupeação)
- Menus Personalizados
- Temas
- Suporte Gráfico ao menu de boot e melhoria no splash
- Boot de LiveCD ISO diretamente do HD
- Nova estrutura de arquivos de configuração
- GRUB vs GRUB2
- Pressione a tecla SHIFT para mostrar o menu durante o boot (antigamente era utilizado a tecla ESC)
- Não existe mais o /boot/grub/menu.lst ele foi substituido pelo /boot/grub/grub.cfg
- Não há “/find boot/grub/stage1″ no prompt do grub. Stage 1.5 foi eliminado.
- O arquivo do menu principal, /boot/grub/grub.cfg, não é editável, mesmo pelo root.
- grub.cfg pode ser sobrescrito a qualquer momento, por exemplo quando o kernel é adicionado ou removido, ou algum usuário executa o comando ‘update-grub’
- O usuário pode usar um arquivo personalizado, /etc/grub.d/40_custom, do qual o usuário pode colocar suas próprias entradas. Esse arquivo não será sobrescrito.
- O arquivo de configuração principal para fazer modificações nas configurações de visualização do menu é /etc/default/grub (por exemplo o tempo de espera)
- Existem multiplos arquivos de configuração do menu – /etc/default/grub como mencionado acima e todos os arquivos dentro do /etc/grub.d/
- A numeração das partições foram modificadas. A primeira partição agora é 1 ao invés de 0. O primeiro dispositivo ainda é 0.
- Busca automática por outros sistemas operacionais, como o Windows, sempre que o ‘update-grub’ é executado
- Nenhuma modificação nos arquivos de configurações terão efeitos antes da execução do comando update-grub.
- Estrutura de Arquivos
- Cada seção é claramente delimitada com “(### BEGIN)” e referencia o arquivo dentro do diretório “/etc/grub.d” a partir do qual as informações foram geradas.
- grub.cfg é atualizado quando o comando update-grub é executado como root. O comando update-grub é sinônimo para “sudo grub-mkconfig -o /boot/grub/grub.cfg”.
- Por padrão, sempre que o ‘update-grub’ é executado, esse arquivo é feito como somente leitura (read-only). Isto segue de acordo com intenção de que o arquivo não deve ser editado manualmente.
“/etc/default/grub”
- Os arquivos dentro desse diretório são lidos durante a executação do comando ‘update-grub’ e suas instruções são incorporadas dentro do /boot/grub/grub.cfg
- A localização dos itens do menu do grub.cfg são determinados pela ordem da qual os arquivos desse diretório são executados. Arquivos levando numerais são executados primeiros, iniciando do menor número. ’10_linux’ é executado antes de ’20_memtest’, do qual é executado antes do ’40_custom’. Arquivos exsitentes com nomes alfabéticos são executados após os arquivos com nomes numerais.
- Entradas personalizadas podem ser adicionadas no arquivo ’40_custom’ ou em um novo arquivo criado. Baseado no seu nome, a entrada ’40_custom’ por padrão aparece no fundo do menu.
- Somente arquivos executáveis geram saída ao ‘grub.cfg’ durante a execução do ‘update-grub’.
- Os arquivos padrões desse diretório são:
- 00_header -> Configura a aparência inicial dos itens, como o modo gráfio, seleção padrão, timeout, etc. Essas configurações são normalmente importadas de informações do /etc/default/grub. Usuários normalmente não precisam fazer modificações nesse arquivo
- 05_debian_theme -> As configurações deste arquivo são responsáveis pelo ‘splash image’, cor do texto, ‘selection highlighting’ e temas. Na ausência de um ‘splash image’, esse arquivo configura um tema monocromático para o menu inicial. Como configurar a renderização das fonts e splash images serão discutidas no próximo post.
- 10_hurd -> Localiza kernel Hurds.
- 10_linux -> localiza kernel Linux no dispositivo root para o sistema operacional usado atualmente. Ele pega as informações e estabelece o nome a ser mostrado no menu.
- 20_memtest86+ -> Procura por /boot/memtest86+.bin e inclui ele como opção no menu do boot. Não há atualmente nenhuma opção de linha para remover essa entrada do menu. A exibição do ‘memtest86+’ pode ser inibida pela remoção da permissão de execução do arquivo: ‘chmod -x /etc/grub.d/20_memtest86+’ e logo em seguinda um ‘update-grub’
- 30_os-prober -> Esse procura por Linux e outros sistemas operacionais. Os resultados são colocados em grub.cfg baseado no script desse arquivo. O arquivo é dividido em 4 seções, representando os tipos de sistema operacional manipulados pelo script: Windows, Linux, OSX e Hurd. Variáveis neste arquivo determina o formato de visualização dos nomes no /boot/grub/grub.cfg e no menu do Grub2. Usuários familiarizados com scripts básicos podem alterar essas variáveis para mudar o nome apresentado no menu.
- 40_custom -> Um template para adicionar entradas no menu personalizados da qual vai ser inserido no ‘grub.cfg’ na execução do comando ‘update-grub2′. O conteúdo deste arquivo, a baixo da linha “exec tail -n +3 $0″ e os comentários padrão, são importados diretamente dentro do /boot/grub/grub.cfg sem qualquer modificação.
- Arquivos deste diretório devem ter permissão de execução para serem usados pelo update-grub. Arquivos que não tem permissão de execução são ignorados. Para dar permissão de execução, execute “chmor +c /etc/grub.d/diretorio/nomeDoArquivo” como root.
- Configuração do Grub2
Modificações nas configurações são normalmente feitas no /etc/default/grub e nos arquivos localizados em ‘/etc/grub.d’. O arquivo /boot/grub/grub.cfg não deve ser editador por nenhum usuário, modificações neste arquivo são realizados pelos scripts de configuração.
Algmas das modificações mais realizadas, como definir o Kernel padrão e o timeout do menu, podem ser modificadas por um aplicativo com interface gráfica chamado de “StartUp-Manager”, para maiores informações de uma lida no https://help.ubuntu.com/community/StartUpManager
/etc/default/grub (arquivo)
- Este é o arquivo de configuração principal para modificar os valores padrão. Após a instalação, as seguintes linhas estão disponíveis para alteração:
- GRUB_DEFAULT – Configura o menu padrão.
- GRUB_DEFAULT=0 Configura a opção padrão do menu. A primeira opção de entrada no menu é o item 0 do ‘grub.cfg’, o segundo é 1 e etc.
- GRUB_DEFAULT=”xxxx” O nome exato de uma opção do menu, Exemplo: “GRUB_DEFAULT=”Ubuntu, Linux 2.6.31-9-generic”
- GRUB_TIMEOUT=10 Configura o tempo de espera que o menu vai ser apresentado antes da ecolha default ser “bootada”
- #GRUB_GFXMODE=640×480 Você pode remover a tralha da frente para ativar essa entrada…. Essa opção configura a resolução do menu gráfico. A resolução aqui colocada deve ser suportada pela placa de vídeo (ex. 640×480, 800×600, 1280×1024 etc). A resolução aqui configurada se aplica somente ao Grub2 e não a todo o sistema…. Dica: Configure a resolução do Grub2 para a mesma do seu sistema operacional, isso ajuda a diminuir o tempo da inicialização do sistema.
- Mesmo não requirido, o usuário pode dizer a profundidade de cores, como por exemplo: 1280x1024x24 ou 640x480x32
- Você pode também definir multiplas resoluções, se o Grub2 não conseguir utilizar a primeira entrada, ele vai tentar usar a próxima. As configurações são separadas por uma virgula, exemplo: 1280x1024x16, 800x600x24, 640×480
- Se for utilizado um ‘splash image’, tenha certeza que a resolução e o tamanho do splash image são compatíveis
- Se a linha de configuração da resolução é comentada (#) ou a resolução não estiver disponível o GRUB2 usa a configuração padrão determinada pelo arquivo /etc/grub.d/00_header
- GRUB_DEFAULT – Configura o menu padrão.
Por enquanto é só, no próximo post falaremos sobre como adicionar entradas ao menu e configurar temas.. boa sorte!
Fonte: https://help.ubuntu.com/community/Grub2
Posts Relacionados
| Imprimir artigo | Este artigo foi escrito por Alexandre Santos em 25 25UTC abril 25UTC 2010 às 16:28, e está arquivado em Linux. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |
