Grub no Ubuntu

Iniciado por galactus, 26 de Fevereiro de 2006, 19:44

tópico anterior - próximo tópico

galactus

Devido as muitas perguntas sobre como configurar o Grub no Ubuntu e este assunto estar disperso no Fórum, resolvi colocar essas dicas juntas. Esse tutorial foi escrito, produzido e dirigido em parceria com o colega RC2006. :)

Para os interessados em ir afundo no assunto, aqui vão alguns Links para você poder meter a mão na massa e realmente saber o que está fazendo:

- Guia Foca
http://focalinux.cipsga.org.br/guia/inic_interm/ch-boot.htm#s-boot-grub

- Comunidade Linux BSD
http://www.linuxbsd.com.br/portal/?q=node/38

- Tio Morimoto (Entendendo a configuração do Lilo e Grub)
http://www.guiadohardware.net/artigos/304/print.php

Vamos as dicas propriamente ditas:


Como alterar o tempo de espera e a ordem do boot no GRUB (dica mais simples de entender e executar)?
http://aldemirsilva.blogspot.com/2007/01/como-alterar-o-tempo-de-espera-e-ordem.html


Como mudar a password do menu do GRUB em caso de esquecimento?

http://ubuntuguide.org/wiki/Ubuntu_dapper_pt#Como_mudar_a_password_do_menu_do_GRUB.2C_se_a_esquecer.3F

Como restaurar o menu do GRUB depois de uma instalação do Windows?
http://ubuntuguide.org/wiki/Ubuntu_dapper_pt#Como_restaurar_o_menu_do_GRUB_depois_da_instala.C3.A7.C3.A3o_do_Windows.3F

Como adicionar uma entrada do Windows no menu do GRUB?
http://ubuntuguide.org/wiki/Ubuntu_dapper_pt#Como_adicionar_uma_entrada_para_o_Windows_no_menu_do_GRUB.3F


Como desativar todas as modificações interativas do menu do GRUB?
http://ubuntuguide.org/wiki/Ubuntu_dapper_pt#Como_desactivar_a_edi.C3.A7.C3.A3o_interactiva_do_menu_do_GRUB.3F

Como esconder o menu do grub no boot?
http://ubuntuguide.org/wiki/Ubuntu_Edgy_pt#Como_esconder_o_menu_do_grub_no_boot

Como alterar o tempo em segundos do GRUB para boot-up (inicia sem contar os segundos)?
http://ubuntuguide.org/wiki/Ubuntu_Edgy_pt#Como_alterar_o_timeout_de_secondos_no_GRUB_menu_para_boot-up

Como colocar uma imagem no Menu do Grub ao inicializar o sistema?
http://ubuntuguide.org/wiki/Ubuntu_Edgy_pt#Como_display_Splash_Image_for_GRUB_menu_on_boot-up

Como converter um Papel de parede (Wallpaper) para Splash Image (imagem) para o Menu do GRUB?
http://ubuntuguide.org/wiki/Ubuntu_Edgy_pt#Como_converter_um_Wallpaper_para_Splash_Image_para_o_GRUB_menu

Como mostrar apenas um kernel no Menu do GRUB?
http://ubuntuguide.org/wiki/Ubuntu_Edgy_pt#Como_mostrar_apenas_um_kernel_no_GRUB_menu



Questões Clássicas

1 – "Como mudar a ordem de boot dos Sistemas Operacionais?"
Pergunta muito comum, você instala o Ubuntu em Dualboot com o Windows e você quer que o Windows seja o SO padrão para o boot. "Só para pessoal de casa não fica no meu pé".


Primeiro faça o Backup do arquivo. No Terminal

Citar$ sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup


Vamos editar o arquivo de configuração do Grub


$ sudo gedit /boot/grub/menu.lst




Como o Grub usa a primeira distro listada como default basta usarmos uma técnica bem simples .
Recorte a opção do Windows que geralmente é a última e cole-a no início. Você pode fazer isso com qualquer outro SO, usamos o Windows como exemplo por ser o SO que na maioria dos casos o pessoal tem em Dualboot.

Primeiro encontre a entrada do Ubuntu no menu.lst. Você deve achar algo assim:

title Ubuntu, kernel 2.6.12-10-386
root (hd0,5)
kernel /boot/vmlinuz-2.6.12-10-386 root=/dev/hda6 ro quiet splash
initrd /boot/initrd.img-2.6.12-10-386
savedefault
boot


E daí por diante.


Depois encontre a entrada do Windows:

Como vemos:
-----------------------------------------------------------
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
chainloader +1

# This is a divider, added to separate the menu items below from the Debian
# ones.
#title Other operating systems:
#root
--------------------------------------------------------------


Estas linhas foram colocadas antes do Ubuntu e o resultado é o que se vê abaixo:

http://img128.imageshack.us/img128/4027/dualboot3bi.jpg

A seguir a listagem do menu.lst como ele ficou.



------------------------------------------------------------
# menu.lst - See: grub(Cool, info grub, update-grub(Cool
# grub-install(Cool, grub-floppy(Cool,
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
default 0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specifiv kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
# kopt=root=/dev/hda6 ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,5)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery mode) single
# altoptions=(recovery mode) single

## nonaltoption boot targets option
## This option controls options to pass to only the
## primary kernel menu item.
## You can have ONLY one nonaltoptions line
# nonaltoptions=quiet splash

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true

## ## End Default Options ##

**** Olha o Windows aqui gente! Essa linha não existe no GRUB, coloquei isso aqui pra chamar sua atenção! :) ****

# Essas linhas, devem permanecer nesta posição para que o windows seja o default
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
chainloader +1

# Essas linhas devem ser comentadas
# This is a divider, added to separate the menu items below from the Debian
# ones.
#title Other operating systems:
#root

**** Olha o Ubuntu aqui gente! Essa linha não existe no GRUB, coloquei isso aqui pra chamar sua atenção! :) ****
title Ubuntu, kernel 2.6.12-10-386
root (hd0,5)
kernel /boot/vmlinuz-2.6.12-10-386 root=/dev/hda6 ro quiet splash
initrd /boot/initrd.img-2.6.12-10-386
savedefault
boot

title Ubuntu, kernel 2.6.12-10-386 (recovery mode)
root (hd0,5)
kernel /boot/vmlinuz-2.6.12-10-386 root=/dev/hda6 ro single
initrd /boot/initrd.img-2.6.12-10-386
boot

title Ubuntu, kernel 2.6.12-9-386
root (hd0,5)
kernel /boot/vmlinuz-2.6.12-9-386 root=/dev/hda6 ro quiet splash
initrd /boot/initrd.img-2.6.12-9-386
savedefault
boot

title Ubuntu, kernel 2.6.12-9-386 (recovery mode)
root (hd0,5)
kernel /boot/vmlinuz-2.6.12-9-386 root=/dev/hda6 ro single
initrd /boot/initrd.img-2.6.12-9-386
boot

title Ubuntu, memtest86+
root (hd0,5)
kernel /boot/memtest86+.bin
boot

### END DEBIAN AUTOMAGIC KERNELS LIST




2 - "Posso instalar o GRUB em outro lugar, que não seja no MBR?"
Sim, você pode. Ao final da instalação do Ubuntu, o instalador pergunta onde o Grub deve ser instalado. A opção padrão é o *MBR. Mas se você não quiser gravar ele aí, você deve responder "não" e optar pela instalação no Disquete.

Se a resposta for não, aparecerá na próxima página alguns dizeres explicativos e uma linha pontilhada onde você pode escolher a partição em que será instalado o GRUB. Basta digitar /dev/fd0 na linha e continuar com um disquete previamente formatado (pode ser DOS) que o boot desta instalação ficará apenas pelo disquete.

Vantagem: Seu boot do Windows ou de outra distribuição ficará inalterado, você só dará o boot no Ubuntu se usar o disquete (e claro, tiver alterado o BIOS para dar o boot pelo disquete).

Desvantagem:[/u] Boot mais lento, e já que o disquete é uma mídia um tanto "volátil" é bom se precaver e ter mais de uma cópia do seu disquete de boot!


Existe ainda outra opção.
Depois, já com o Ubuntu rodando via disquete, pode-se escolher uma outra opção de boot que pode ser no MBR ou na raiz.

Se a opção for o MBR:

# sudo grub-install /dev/hda

(troque o hda por sda se seu HD for SATA)

E o Grub também será instalado na trilha inicial.


Se a opção for a raiz:

Digamos que o Ubuntu ocupou a partição hda6, você usaria o comando:

# sudo grub-install /dev/hda6

Com este procedimento, eu estou incluindo o Ubuntu a fazer parte de um leque de opções feito por outras distros usando inclusive o lilo no MBR.

Explicando melhor: Se tenho 2 linux e um windows instalado no meu micro.

Ordem de instalação:

1. Windows xp (hda1)
2. Ubuntu 5.10 (disquete + hda6)
3. Kurumin 6.0 (MBR)

No caso do link abaixo, o lilo foi instalado na MBR usando o kurumin, e o Ubuntu está com o boot em hda6.

http://img356.imageshack.us/my.php?image=3boot6pu.jpg


Conclusão: Fico com 3 SOs convivendo harmoniosamente com um quadro de opções do lilo. A cada vez que formatar e reinstalar a partição do Kurumin por uma versão mais atualizada, as partições do Windows e Ubuntu permanecem preservadas.

*MBR (Master Boot Record): O que é o MBR?
No final da rotina de inicialização do ROM BIOS, o BIOS lê e executa o primeiro setor físico do primeiro disquete ou disco rígido no sistema. Esse primeiro setor do disco rígido é chamado de registro mestre de inicialização (ou, algumas vezes, de tabela de partição ou bloco mestre de inicialização). Existe um pequeno programa no início desse setor do disco rígido. A informação particionada, ou tabela de partição, é armazenada no final desse setor. Esse programa usa as informações de partição para determinar qual partição pode ser iniciada (normalmente a primeira partição primária do DOS) e tenta iniciar a partir dela.


3 – "Como alterar o tempo em que o GRUB aparece no boot?"

Primeiro faça o Backup do arquivo. No Terminal


$ sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup


Vamos editar o arquivo de configuração do Grub


$ sudo gedit /boot/grub/menu.lst


Procure pela seguinte Linha:

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 3



Você deve alterar o número (que representa o tempo em segundos) depois do "timeout". Maior ou menor de acordo com o tempo em que você quiser que o Grub seja mostrado. Se você colocar zero, o Grub não mostrará opção nenhuma (será como um piscar de olhos) e passará de imediato para o boot. Essa opção só é válida se você quiser um boot mais rápido, mas vemos mais desvantagens que vantagem nisso. Pois se você não quiser esperar é só teclar ENTER na contagem dos segundos. Se quiser entrar nas opções tecle ESC.

4 - "Posso inserir outra distro Linux no MENU.LST do Ubuntu?"
Sim, você pode. Para melhor entendimento, temos que entender a correspondência entre o nome das partições linux e o nome que o Grub conhece. Veja esta tabela tirada da Guia Foca.

No Linux - No GRUB

/dev/hda - (hd0)
/dev/hda1 - (hd0,0)
/dev/hda2 - (hd0,1)

/dev/hdb - (hd1)
/dev/hdb1 - (hd1,0)
/dev/hdb2 - (hd1,1)

/dev/sda - (hd0) # Disco SCSI ID 0
/dev/sda1 - (hd0,0) # Disco SCSI ID 0, partição 1
/dev/sda2 - (hd0,1) # Disco SCSI ID 0, partição 2

/dev/sdb - (hd1) # Disco SCSI ID 1
/dev/sdb1 - (hd1,0) # Disco SCSI ID 1, partição 1
/dev/sdb2 - (hd1,1) # Disco SCSI ID 1, partição 2

/dev/fd0 - (fd0)

Neste caso vou incluir o Kurumin 6.0 alpha6 que está em hda7, o Ubuntu em hda6 e o windows em hda1

1.Verificar em que partição está instalado o Kurumin -> hda7
2.Entrar no Kurumin e se assegurar que o boot está na raiz de sua partição.
Use o comando no kurumin

sudo lilo -b /dev/hda7

Se não houver mensagem de erro, você ficou com o boot do kurumin alternativamente em hda7.
3.Vá para o Ubuntu, edit o menu.lst

sudo gedit /boot/grub/menu.lst

e inclua este grupo de linhas e salve.


title Kurumin, kernel 2.6.14-kanotix-6
root (hd0,6)
kernel /boot/vmlinuz-2.6.14-kanotix-6 root=/dev/hda7 ro
initrid /boot/initrid-ksplash
boot


Teriamos um quadro de opções igual a este:

http://img353.imageshack.us/img353/2567/grub3boot5al.jpg

Pronto, na sua lista de opções de boot do GRUB está incluido também o Kurumin.


-------------------- THE END --------------------

:D


Seria isso pessoal. Mais uma vez, obrigado ao colega RC2006, sem as dicas dele esse tutorial não seria possível. Se vocês encontrarem algum erro ou mais dicas que enriqueçam o tutorial, fiquem a vontade para nos avisar.

Abraços e façam bom proveito!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

galactus

#1
Sim eu sei, o objetivo não é o de fazer as perguntas pararem, mas ter um local pra apontar onde tirar dúvidas.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

Daniel/iniciante


"Procure pela seguinte Linha:

Código:
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 3

Você deve alterar o número (que representa o tempo em segundos) depois do "timeout". Maior ou menor de acordo com o tempo em que você quiser que o Grub seja mostrado. Se você colocar zero, o Grub não mostrará opção nenhuma (será como um piscar de olhos) e passará de imediato para o boot. Essa opção só é válida se você quiser um boot mais rápido, mas vemos mais desvantagens que vantagem nisso. Pois se você não quiser esperar é só teclar ENTER na contagem dos segundos. Se quiser entrar nas opções tecle ESC. "




... e se eu quiser que o Grub NÃO faça contagem regressiva, coloco um número enorme? Ou é possível desabilitar a função?

Obrigado!

galactus

Citação de: "Daniel/iniciante"
"Procure pela seguinte Linha:

Código:
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 3

Você deve alterar o número (que representa o tempo em segundos) depois do "timeout". Maior ou menor de acordo com o tempo em que você quiser que o Grub seja mostrado. Se você colocar zero, o Grub não mostrará opção nenhuma (será como um piscar de olhos) e passará de imediato para o boot. Essa opção só é válida se você quiser um boot mais rápido, mas vemos mais desvantagens que vantagem nisso. Pois se você não quiser esperar é só teclar ENTER na contagem dos segundos. Se quiser entrar nas opções tecle ESC. "






... e se eu quiser que o Grub NÃO faça contagem regressiva, coloco um número enorme? Ou é possível desabilitar a função?

Obrigado!


Ué, não etendi a sua dúvida :!:

Este trecho mesmo que você separou, tá respondendo.  :roll:
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

temp.

Hm, muito bom. Parabéns para vocês dois. Gostei muito mesmo. Talvez, daqui a um tempo, agente poderia pegar tudo isso e fazer um grande PDF com dicas nossa comunidade, o que acham?

josevitor

óTimo.. até me animei a mexer nisso na casa da namorada.. posto a resposta aqui..

caso apareça um "solteiro" no meu profile vocês saberão que eu não consegui e ainda fiz eca!!
José Vitor Lopes e Silva
Advogado - Florianópolis/SC
http://josevitor.blog.br

Quer sugerir documentação para o wiki em português?? Envie para sugestoeswiki@ubuntubrasil.org !!
Quer aprender mais sobre Ubuntu?? Acesse http://wiki.ubuntu-br.org/ComeceAqui

Lex Luthor

Galactus, eu acho que o Daniel quer é que apareça o menu para escolher, mas fique nele eternamente sem contagem regressiva. Dar boot só depois que escolher o sistema.
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

galactus

Citação de: "Lex Luthor"Galactus, eu acho que o Daniel quer é que apareça o menu para escolher, mas fique nele eternamente sem contagem regressiva. Dar boot só depois que escolher o sistema.

Nem tinha pensado nisso, mas ele não respondeu mais né!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

julianodorneles

O problema é ... como recuperar o Grub após uma reinstalação de Windows ... mas em um HD SATA ?
Já que ao entrar no sistema de arquivos original via Live CD, usando o chroot o dispositívo /dev/sda não existe ....

[ ]'s
[color=gray]AMD Athlon64 3000+, Abit AX8, 1Gb RAM (2x512Mb Dual Channel), GF 6800XTreme Edition 256Mb, HD SATA 80Gb Samsung, LG 1752TX LCD.[/color]

Lex Luthor

Não tem como entrar no fdisk, setar a partição do Ubuntu como BOOT, bootar no Ubuntu e reinstalar o windows ? Eu sempre fiz isso, mas nunca tive um SATA...
Abraços....
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

e.daniel-ct

olha so vo pergunta talvez vc's ate digam q ta escrito ai em cima maz ainda fico a duvida, como eu faço pra instala o windows sem perde a inicializaçao do grub depois q eu instala o windows nao vai zera a MBR e como eu faço pra seta o boot por partiçao,


   
Re: Grub no Ubuntu
« Responder #10 em: 19 de Julho de 2006, 13:50 »
   Responder com citaçãoCitar
Não tem como entrar no fdisk, setar a partição do Ubuntu como BOOT, bootar no Ubuntu e reinstalar o windows ? Eu sempre fiz isso, mas nunca tive um SATA...
Abraços....

nao e so por hd "inteiro", cd, disket etc..

galactus

Citação de: e.daniel-ct online 23 de Julho de 2006, 22:59
olha so vo pergunta talvez vc's ate digam q ta escrito ai em cima maz ainda fico a duvida, como eu faço pra instala o windows sem perde a inicializaçao do grub depois q eu instala o windows nao vai zera a MBR e como eu faço pra seta o boot por partiçao,


   
Re: Grub no Ubuntu
« Responder #10 em: 19 de Julho de 2006, 13:50 »
   Responder com citaçãoCitar
Não tem como entrar no fdisk, setar a partição do Ubuntu como BOOT, bootar no Ubuntu e reinstalar o windows ? Eu sempre fiz isso, mas nunca tive um SATA...
Abraços....

nao e so por hd "inteiro", cd, disket etc..

Se você instalar o Windows depois do Linux no mesmo HD, vai perder o Grub na MBR. E terá que reinstalar o grub depois, tem essa dica aí em cima.
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

chuckao

Citação de: julianodorneles online 07 de Julho de 2006, 15:13
O problema é ... como recuperar o Grub após uma reinstalação de Windows ... mas em um HD SATA ?
Já que ao entrar no sistema de arquivos original via Live CD, usando o chroot o dispositívo /dev/sda não existe ....

[ ]'s
Olá,

Usando o LiveCD do Dapper você pode fazer assim:


sudo -i
mkdir -p /media/disk
mount /dev/sdaX /media/disk #troque o X pelo numero da tua particao /
mount -o bind  /dev /media/disk/dev
mount -o bind /proc /media/disk/proc
chroot /media/disk
grub-install /dev/sda


E é isso. Claro, estou considerando que o /boot é um diretório que está dentro da partição /

abraços

LedStyle

Boa rapaz! Parabéns! Obrigado pelo trabalho de organizar tudo isso ai pra gente.

Claro que o pessoal vai continuar postando sobre grub, 90% dos usuários tem preguiça de procurar ou não sabem o significado das palavras "busca" e "pesquisa", mas pelo menos agente pode indicar esse link aqui pra esses caras hehehe.

Grande abraço!

gony64

boa galera...
'e o seguinte, reinstalei o linux aqui, mas... tive que configurar o grub, ai comecou o dilema  Independente de usar um disco sata o grub sempre sera (hd0), bom... as entradas pra o windwos como disse estao iguais, mas quando escolho iniciar windows,  aparece GRUB GRUB ERRO... travando o grub, o meu linux ta ok, mas no windows da caca.

title Microsoft Windows
root(hd0,0)
savedefault
makeactive
chainloader   +1

a particao windows monta beleza no linux, consigo mover gravar etc, mas boot nao da....