Dual boot Debian e Windows com Grub2

Publicado por Lourival Santos em 10/12/2009

[ Hits: 26.936 ]

 


Dual boot Debian e Windows com Grub2



Estou usando Debian 5.3 atualizado com os repositórios testing e Windows 7 Ultimate. São dois HDs.

O primeiro HD está com Debian e o segundo com Windows.

Vamos considerar que você já instalou tanto o Debian no primeiro hd, como já instalou o Windows no segundo hd tudo normal.

Mais aí você deseja que o Grub reconheça a existência do Windows no seu segundo hd, sendo o Windows padrão e será iniciado automaticamente.

Exemplo:

sda1=Debian (hd0,1)
sdb1=Windows (hd1,1)

Use o seu editor de texto preferido como root, mas antes mude o arquivo de somente leitura para leitura e escrita, pois ele por padrão se encontra somente em leitura e mesmo como root você não conseguirá salvar as mudanças.

Normalmente ele se encontra em /boot/grub/grub.cfg.

Exemplo de um trecho de configuração do qual Windows é o padrão, grub.cfg:

menuentry "Windows " {
   set root=(hd1,1)
   chainloader +1
}

menuentry "Debian GNU/Linux, Linux 2.6.30-2-686-bigmem" {
   insmod ext2
   set root=(hd0,1)
   search --no-floppy --fs-uuid --set c90061bd-85ab-4725-85e9-5bfe524e460b
   linux   /boot/vmlinuz-2.6.30-2-686-bigmem root=UUID=c90061bd-85ab-4725-85e9-5bfe524e460b ro  quiet
   initrd   /boot/initrd.img-2.6.30-2-686-bigmem
}

Depois é só fazer o reboot e conferir os resultados!

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Forçando o Firefox em Português

Configurando o LILO com Windows no segundo HD

Salvando configurações de brilho - Ubuntu 14.04

Problema ao instalar o Enlightenment 17

VirtualBox - Ubuntu convidado em Alta Resolução

  

Comentários
[1] Comentário enviado por goc em 30/12/2009 - 23:22h

Ola,

Aproveitando o assunto, gostaria de tentar resolver meu problema.

Sou novo usuario do Linux e estou tendo dificuldades para fazer um Dual Boot entre Windows XP e o Ubuntu 9.10. Tenho lido varias e varias paginas sobre o assunto, mas ainda nao consegui resolver meu caso.

Aqui vai um pouco de como eh meu sistema e como configurei o Ubuntu.

Sistema:
2 HDs: 1 com 250Gb para o Windows (eh meu master HD) e um outro de 40Gb para o Ubunto.

Baixei o ubunto 9.10 e usei um software de boot (netbootin ou algo parecido) para fazer o boot. NEste software, escolhi a imagem ISO e mandei ele criar os arquivos de boot no HD do Windows (ao inves de usar alguma midia removivel como USB e CD/DVD).

Entao fiz o tal do LiveCD boot do Ubuntu. Uma vez lah, cliquei naquele icone pra instalar o Ubuntu. Apos aqueles passos iniciais de configuracao de idioma, teclados, etc cai na parte das particoes. Entao, minhas particoes ficaram como segue:

HD 40 Gb (na verdade, eh uns 38Gb):
_ / -> eh de 11Gb e definida como primary para poder ser Boot e eh do tipo ext4 com journing
_ /home -> eh de uns 20 Gb do tipo logica e ext4 com jouring
_ /fat32 -> eh uma fat32 de uns 4Gb para interacao Linux/Windows
_ /swap -> de uns 4 gb tb.

Entao, apos criar, naquela parte mesmo antes da instacao dos arquivos, aparece uma janela onde ha um botao AVANCADO pra vc escolher opcoes de boot. Cliquei la e mandei o GRUB ser instalado na particao (SDB1 que seria o meu / do segundo HD) - na verdade, tb jah tentei mander instalar o GRUB mais geral em SDB, mas tb nao deu certo.

Pronto, feito isso, o sistema foi instalado e entao reiniciei. A primeira tela de Boot aparece a janela do Boot antigo do Windows com a opicao do Windows XP e do NEtbootin (o software de boot) e nada do Ubuntu. Cliquei em Windows XP e desistalei o NEtbootin com a esperanca dele sumir e aparecer o Ubuntu.

CONTUDO, isso nao deu certo. Apos reinicializar o sistema, o sistema entra direto no Windows XP sem opicao de boot.

O que ha de errado? Como configurar o GRUB entao que eu tenha um Dual Boot?

Meu grub.cfg lista o seguinte:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default=”0″
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd1,1)
search –no-floppy –fs-uuid –set a993b5a3-0413-4d76-a311-f89d56fee80c
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640×480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don’t
# understand terminal_output
terminal gfxterm
fi
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry “Ubuntu, Linux 2.6.31-14-generic” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd1,1)
search –no-floppy –fs-uuid –set a993b5a3-0413-4d76-a311-f89d56fee80c
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=a993b5a3-0413-4d76-a311-f89d56fee80c ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd1,1)
search –no-floppy –fs-uuid –set a993b5a3-0413-4d76-a311-f89d56fee80c
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=a993b5a3-0413-4d76-a311-f89d56fee80c ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry “Memory test (memtest86+)” {
linux16 /boot/memtest86+.bin
}
menuentry “Memory test (memtest86+, serial console 115200)” {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry “Microsoft Windows XP Professional (on /dev/sda1)” {
insmod ntfs
set root=(hd0,1)
search –no-floppy –fs-uuid –set b2dc5078dc5038b5
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the ‘exec tail’ line above.
### END /etc/grub.d/40_custom ###

Parece estar certo, mas nao funciona. O windows esta subreescrevendo a tabela do MBR? Se for o caso, Como fazer pro Grub sobreescrever essa Tabela?

Uma ajuda seria bem vinda,
Grato a todos,
Goc

[2] Comentário enviado por anjo2009 em 11/01/2010 - 18:49h

caro amigo eu tentaria assim , windows no hd grande , o linux no hd pequeno , com os seus respectivos boots funcionando, deixaria o linux sendo o padrão no bios , assim vai ser iniciado o grub, ai sim vc altera o grub e acrescenta a partição, lembrando que ha diferenças na configuração do grub para o grub2. pelas minhas esperiencias tentar fazer o windows dar boot no linux e muito frustrante exige mais esforço, mais alterar o grub pra dar boot do windows e mais facil..

abraços...

[3] Comentário enviado por piratex em 23/02/2010 - 00:34h

galera esse grub.cfg até onde entendi não é pra ser editado!!!!

temos que usar os scripts que estão em /etc/grub.d
depois de configurar temos que executar o script grub-update ( esse é quem faz o trabalho de editar o /boot/grub/grub.cfg )

os scripts dentro de /etc/grub.d são usados com chmod -x e +x para desativar e ativar.

creio que deu pra clarear as idéias agora não é ?

[4] Comentário enviado por flipe em 17/06/2011 - 13:37h

valeu pela dica, testei aqui usando o VB foi bacana! valeu!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts