como configurar o grub - gerenciador de inicialização no Linux
postado por nightnux - comentários
2
detalhes:
O GRUB (GRand Unified Bootloader), assim como o LILO é um gerenciador de boot. Seu trabalho é carregar o kernel do Linux ou iniciar outros sistemas operacionais. Ele surgiu da necessidade de um gerenciador de boot livre e por isso foi criado sob o guarda-chuva do projeto GNU. Com o GRUB, você consegue iniciar vários sistemas diferentes, seja Linux, BSDs, Mac, entre outros. Como neste manual gostamos do Linux, vamos puxar mais o saco dele :) O GRUB tem algumas diversas vantagens sobre o LILO e é por isso que a maioria das distribuições estão substituindo o LILO pelo uso do GRUB. Além do menu bonitinho para a escolha do sistema operacional, tecnicamente o GRUB tem algumas boas vantagens: Ele acessa diretamente o sistema de arquivos e carrega o kernel através dele. Com isso você não precisa ficar re-instalando o gerenciador na MBR toda vez que fizer alguma alteração. Possui uma shell-interativa, ao estilo do bash, que permite o usuário a flexibilidade de controlar todo o gerenciador de boot como queira na inicialização. Através do menu interativo de escolha do sistema operacional, você pode editar as linhas de boot já pré-definidas e alterar caso haja algum contra-tempo. Permite colocar senha tanto para a edição da linha de boot de um sistema, quanto para iniciar este sistema. Suporta boot remoto via o protocolo TFTP.
Então com essas características legais e divertidas, eu aconselho utilizar o GRUB para gerenciar as suas versões de kernel do Linux :) O arquivo de configuração do GRUB geralmente está fixo em um lugar, que é o /boot/grub/menu.lst. Muitas distribuições fazem um link para /etc/grub.conf, então editar os dois arquivos funcionam. A seguir, um exemplo de configuração para dois sistemas operacionais: Linux e Windows: # Exemplo para dois sistemas Operacionais: Linux e Windows! # default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz
# Partição Linux title Fedora Core root (hd0,1) kernel /boot/vmlinuz-2.6.13-1.1532_FC4 ro root=/dev/hda1 vga=791 initrd /boot/initrd-2.6.13-1.1532_FC4.img
# Partição Windows title Windows rootnoverify (hd1,0) chainloader +1
Exemplo de Arquivo de Configuração do GRUB No exemplo acima, assim como no LILO temos duas partes: uma global com as configurações do funcionamento geral do GRUB e uma parte com as definições dos sistemas. Na seção global, podemos definir muitas coisas como senhas, imagem do menu, cores, entre outros. Antes de mais nada, é preciso notar que o GRUB trata as partições de um modo diferente que o Linux. Por exemplo, ao invés de /dev/hda1 ele usa (hd0,0). Veja a tabela abaixo: | Dispositivo | Equivalente no GRUB | | /dev/hda1 | (hd0,0) - Partição 1 da IDE Primária Master | | /dev/hda2 | (hd0,1) - Partição 2 da IDE Primária Master | | /dev/hdb1 | (hd1,0) - Partição 1 da IDE Primária Slave | | /dev/hdc3 | (hd2,2) - Partição 3 da IDE Secundária Master | | /dev/hdd2 | (hd3,2) - Partição 2 da IDE Secundária Slave | Comparação de dispositivos para o GRUB ![[Nota]](http://www.linuxnarede.com.br/artigos/uploads/note.png) | Nota | | O GRUB detecta e identifica seus HDs automaticamente, fazendo a conversão mostrada acima. Caso você tenha dúvidas quanto à essa equivalência, utilize o seguinte comando para verificar: # cat /boot/grub/device.map
| Agora vamos ver com detalhes das partes de configuração do GRUB! Seção de configuração global - default=0
Qual o sistema será iniciado por padrão caso o usuário não escolha nenhum outro. Serve junto com a opção timeout para quando o usuário não fazer nada, ele inicie no sistema padrão. Caso nada seja especificado, o primeiro sistema (número 0) será o padrão. - timeout=5
A quantidade de segundos que o GRUB vai esperar o usuário apertar alguma tecla antes de iniciar no sistema padrão definido pela opção default. - password --md5 $1$QWqsC1$Gtat14yn8l2fy6wUogC080
-
Configura a senha do GRUB criptografada em MD5. Faz com que o usuário tenha que digitar uma senha antes de poder editar algum dos itens do menu. Combinada com a opção lock na configuração das partições, faz com que o usuário só consiga iniciar o sistema digitando a senha. ![[Importante]](http://www.linuxnarede.com.br/artigos/uploads/important.png) | Importante | | Para gerar esses caracteres malucos criptografados é simples, basta executar o comando grub como root e na shell dele digitar: grub> md5crypt Password: ***** Encrypted: $1$QWqsC1$Gtat14yn8l2fy6wUogC080
Então digitando a senha, o programa vai gerar os caracteres malucos e você pode copiar e colar no seu arquivo de configuração como explicado :) | - splashimage=(hd0,1)/boot/grub/splash.xpm.gz
A imagem de fundo para o menu de escolha do sistema. No exemplo está indicando uma imagem no diretório /boot/grub/ em formato .xpm.gz (XPM GZipado). Você pode usar uma imagem de fundo, ou cores. - hiddenmenu
Se colocado, o GRUB não mostrará um menu interativo e vai iniciar o sistema padrão depois de X segundos (especificado na opção timeout). Se você quiser acessar o menu mesmo assim, terá que apertar Esc para mostrar o menu. - color frente/fundo [frente/fundo]
-
Com essa opção você especifica cores para os planos de frente e fundo do menu do GRUB. As cores são especificadas pelos seus nomes em inglês: black, blue, green, cyan, red, magenta, brown and light-gray; dark-gray, light-blue, light-green, light-cyan, light-cyan, light-red, light-magenta, yellow e white. O segundo argumento funciona da mesma maneira que o primeiro, mas apenas para os itens que estiverem selecionados no menu (que você seleciona com as setas do teclado).
Seção de configuração de partições Aqui você vai colocar as partições/sistemas que vai querer bootar. Cada conjunto de linhas corresponde à um sistema diferente (veja no exemplo anterior :)). Vejamos aqui os parâmetros para a partição Linux que definimos: - title Fedora Core
Aqui é o título que vai aparecer no menu. No nosso exemplo usamos o "Fedora Core", mas pode ser qualquer outra coisa! - root (hd0,1)
A partição em que seu root se encontra. Lembrando que essa partição tem que ser onde está o /boot, que é onde fica a imagem do kernel. - kernel /boot/vmlinuz-2.6.13-1.1532_FC4 ro root=/dev/hda1 vga=791
O caminho do kernel para fazer o boot, junto com as opções do kernel. Aqui você vai usar a mesma coisa que no LILO por exemplo :) - initrd /boot/initrd-2.6.13-1.1532_FC4.img
Onde se encontra o arquivo initrd do kernel atual. O initrd contém módulos e informações iniciais para o sistema poder iniciar. Ele é carregado um pouco depois do kernel. - lock (não-especificado no exemplo)
-
Com a opção lock, você faz com que o usuário tenha que digitar uma senha antes de iniciar o sistema. Combine esta opção com o parâmetro global password, explicado anteriormente. ![[Importante]](http://www.linuxnarede.com.br/artigos/uploads/important.png) | Importante | Se for usar o parâmetro lock, use-o logo após a linha do parâmetro title, pois só assim todas as opções de início são bloqueadas. |
Estas foram as opções para uma partição Linux. Se você quiser colocar uma Windows (como no exemplo que usei anteriormente), você só terá que substituir algumas coisinhas, como veremos a seguir: - title Windows
Mesma coisa que anteriormente, é o título, que no caso agora vai ser Windows :( - rootnoverify (hd1,0)
Especifica a partição root do sistema, mas ao contrário da opção root, não monta a partição. Como o boot do Windows é direto e não precisa ser carregado um kernel pelo GRUB (ele tem seu próprio carregador), então é necessário não montar a partição do Windows. - chainloader +1
Carrega a partição chamando um outro gerenciador de boot, que é o caso do próprio do Windows.
E assim com essas opções, você pode ir montando o seu menu de inicialização do GRUB como quiser! :) Vou apresentar um arquivo de configuração para 4 sistemas diferentes, com senha e tudo mais :) # Arquivo de configuração do GRUB
# Seção de parâmetros globais do GRUB default=0 timeout=10 # password boboalegre password --md5 $1$H35tC1$l45i5oNTY0UaNxZ8TjylF.
# Seção de partições do GRUB
# Slackware Linux usando kernel 2.2.16 title Slackware Linux (Kernel 2.2.16) root (hd0,0) kernel /boot/vmlinuz-2.2.16 ro root=/dev/hda1
# Conectiva Linux 5.1 usando kernel 2.2.17 title Conectiva Linux 5.1 (Kernel 2.2.17) root (hd0,1) kernel /boot/vmlinuz-2.2.17 ro root=/dev/hda2 initrd /boot/initrd-2.2.17.img
# Conectiva Linux 5.1 usando kernel 2.2.16-cl6 title Conectiva Linux 5.1 (Kernel 2.2.16-cl6) root (hd0,1) kernel /boot/vmlinuz-2.2.16-cl6 ro root=/dev/hda2 initrd /boot/initrd-2.2.16-cl6.img
# Debian 2.2 usando kernel 2.2.17 title Debian 2.2 (Kernel 2.2.17) root (hd1,0) kernel /boot/vmlinuz-2.2.17 ro root=/dev/hdb1 initrd /boot/initrd.img-2.2.17
# Debian 2.2 usando kernel 2.2.18 title Debian 2.2 (Kernel 2.2.18) root (hd1,0) kernel /boot/vmlinuz-2.2.18 ro root=/dev/hdb1 initrd /boot/initrd.img-2.2.18
# Ruindows e Nojenta e Oitxo title Ruindows e Nojenta e Oitxo rootnoverify (hd2,0) chainloader +1
# Fim da configuração do GRUB
Mega-Exemplo Complexo Alienígena de configuração do GRUB Na maioria das vezes a distribuição quando é instalada, instala o GRUB como gerenciador de boot. Com o grub instalado na MBR do HD, não será mais preciso ficar re-instalando, como é o caso do LILO. Mas se é a primeira vez que você configurou o GRUB e está instalando, aí tudo bem. Para instalar na MBR do HD Master Primário: # grub-install /dev/hda Se por acaso você quiser instalar em um disquete: # grub-install /dev/fd0 Assim você terá um GRUB no disquete para quaisquer eventualidades :) Para desinstalar o GRUB da MBR, basta você instalar outra coisa por cima, LILO ou utilizando o comando fdisk \mbr no DOS/Windows. autor: Hugo Cisneiros (Eitch), hugo arroba devin ponto com ponto br
|