Dual boot Debian e Windows com Grub2

Publicado por Lourival Santos em 10/12/2009

[ Hits: 27.026 ]

 


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

Athansic Ethernet L2 Mbit no Linux

Alterando os botões das janelas no MATE

Bug no Wayland do Fedora 25

Nano com cores (syntax highlight)

Configurando um servidor X

  

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