domingo, 13 de fevereiro de 2011

Dual Boot Com Windows No Grub do Debian Squeeze

Esse fim de semana instalei o Debian Squeeze no micro do meu sobrinho que já tinha o Windows XP instalado e passei uma vergonha. A instalação transcorreu perfeitamente, a partição com o XP foi identificada pelo instalador do Debian, mas na hora do primeiro reboot não surgiu a opção para o sisteminha da MS. 
Pesquisando por aí vi algumas soluções mas a que transcrevo aqui parece-me ser bastante prática.
Primeiro você tem que saber em qual partição o windows está instalado. Para isso digite no terminal:
$ sudo fdisk -l /dev/sda
 Você deve obter algo semelhante a isso:

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00072a41

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2565    20603331    c  W95 FAT32 (LBA)
/dev/sda2            2566       19458   135686145    5  Estendida
/dev/sda5   *        2566        3781     9764864   83  Linux
/dev/sda6            3781        3903      975872   82  Linux swap / Solaris
/dev/sda7            3903       19458   124943360   83  Linux

No meu caso é um micro com apenas um hd e o windows na primeira partição (sda1). Para fazer com que tenhamos a opção de inicializar o windows no menu do grub devemos criar um arquivo no /etc/grub.d/:
$ sudo nano /etc/grub.d/11_Windows
Agora, adicione as seguintes linha no arquivo:
#! /bin/sh -e
echo "Adding Windows" >&2
cat << EOF
menuentry "Windows XP" {
set root= (hd0,1)
chainloader +1
}
EOF
Salve o arquivo e dê permissão de execução com o seguinte comando:
$ sudo chmod a+x /etc/grub.d/11_Windows
Vamos atualizar o grub com mais esse comando:
$ sudo update-grub
Devemos obter uma resposta parecida com essa:

Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686
Found Windows NT/2000/XP (loader) on /dev/sda1
Adding Windows
done
Agora, basta reiniciar o sistema para você ver a opção do windows no menu do grub.

26 comentários:

  1. Coitado do sobrinho, instala Ubuntu :P

    ResponderExcluir
  2. Felipe,
    Eles são usuários finais e não se importam qual seja a distribuição, contanto que seja Gnome. Anteriormente havia instalado o Ubuntu 10.04 e substitui pelo Debian Squeeze.
    Pra você ter uma idéia, o micro é do meu sobrinho de 14 anos, mas o de 8 anos também utiliza o Debian tranquilamente. E usam-no melhor que o windows, que está ali só por causa dos jogos (coisas que eles nem ligam tanto assim depois do PS3).
    Além do que, depois de instalado, não há muita diferença entre Debian ou Ubuntu!

    ResponderExcluir
  3. Muito bom, perfeito... vou colocar essa dica em meu blog, e direcionarei os créditos ao seu SITE, pode ser??

    ulissesvicente@yahoo.com.br

    ResponderExcluir
  4. O procedimento é o mesmo com o windows 7 ?

    ResponderExcluir
  5. Sim, @Pedro Henrique, o procedimento funciona em qualquer versão do Windows, inclusive do Seven.

    ResponderExcluir
  6. Legal a dica, problemas acontecem. Mas aqui em casa instalei o Squeeze ao lado do W7 e o boot rolou sem problemas.

    ResponderExcluir
  7. Esta solução funcionaria no Mandriva ?

    ResponderExcluir
  8. garibaraujo,
    Não tenho certeza quanto ao Mandriva, mas os comandos utilizados são próprios do grub 2. Teoricamente deveria funcionar em qualquer sistema que o utilize. Mas como o Mandriva possue ferramentas próprias para gerenciamento do bootloader, não tenho plena certeza disso. Só vai tentando.

    ResponderExcluir
  9. Também pensei nisso. Apesar das ferramentas próprias, os comandos no terminal diferem pouca coisa. Vou tentar. E lamento dizer que estou deixando o debian de lado por não conseguir estabelecer a rede wireless. Mas não estou reclamando, apenas comentando. O mandriva, por sua vez, não disponibiliza o windows no boot, por isso vou tentar a configuração que voce disponibilizou. Fiz aqui no squeeze e deu certo.
    Mas não vou deixar de ser suas dicas porque estou indo para o mandriva. Continuo seu leitor.
    Um forte abraço.

    ResponderExcluir
  10. Que confusão heim ? Às vezes o google aparece com o nome de minha mulher, a juliana, porque ela está logada no gmail. Mas sou eu, o garibaraujo.
    Forte abraço.

    ResponderExcluir
  11. Tudo certo, Juliana... ops; garibaraujo. kkk
    É como eu falei, os comandos para o grub2 funcionam em qualquer distro. Mas há distros que utilizam ferramentas próprias para gerenciar muitas das configurações e, mesmo que você altere o arquivo específico de algo, a ferramenta volta a sobre escrevê-lo com o backup. Já usei o Mandriva na época em que ele utilizava o Lilo como bootloader e não adiantava nada mudar o lilo.conf por causa da ferramenta gráfica que existia para isso (não recordo o nome agora). Mas faça a tentativa e depois nos conte sua experiência.

    ResponderExcluir
  12. Eu, faço de outra maneira:

    1) Após instalar o Win;
    2) Reinicio o PC;
    3) Ao aparecer as 2 opções do grub, escolho a de baixo;
    4) Coloco minha senha;
    5) Digito...
    6)update-grub
    7) Depois digito "reboot" (sem aspas;
    8) Pronto.

    ResponderExcluir
  13. Essa não ficou muito clara para mim, McGraner.

    ResponderExcluir
  14. Isso é genial. Cada vez gosto mais do Debian.
    Já usei algumas vezes mas por motivos diversos sempre buscava uma distro mais amigável, mas, aos poucos, vou aprendendo a resolver as instalações de programas (adicionando coisas ao sources.list) e configurando.
    Agora só falta mesmo esta maldita (hahahaha) placa broadcom 4312. Mas eu chego lá.
    Muito obrigado e um forte abraço.

    ResponderExcluir
  15. É isso mesmo que voce está pensando. Nem precisa responder ao meu último comentário.
    No espaço de poucos dias fui ao Mandriva e voltei pro querido Debian. Não posso deixar uma plaquinha wireless me derrotar.
    Um forte abraço pra voce e desculpe pela encheção de saco.
    Estou no Debian. O Bom!!!

    ResponderExcluir
  16. Não tenho experiência com a Broadcom 4312, @Gariba Araujo, mas na wiki do fórum Debian há um tutorial para instalá-la: http://goo.gl/SNuCH

    ResponderExcluir
  17. Já segui o wiki e a parada não funcionou.

    ResponderExcluir
  18. Boa noite amigo,
    Funcionou perfeitamente, mas gostaria de perguntar se voce pode ""desmembrar" o que voce fez ..
    Obrigado

    ResponderExcluir
  19. Ola amigo, sou um usuário iniciante do Linux e gosto de computadores.
    Os comandos funcionaram e o Windows XP foi reconhecido pelo debian, ou seja, apareceu o nome Windows XP abaixo do Linux Debian na tela do grub onde e possivel escolher o sistema operacional. Porem ao escolher o Windows, aparece a seguinte mensagem: "error-no device is set. press any key to continue". Ao pressionar enter, eu retorno para a tela do grub.
    Se vç puder disponibilizar alguma dica para que eu possa resolver este problema ficarei agradecido. Um forte abraço e ate uma próxima vez!

    ResponderExcluir
  20.  Bastante esquisito, Evanildo Tavares.
    Você, por acaso, não formatou sem querer a partição do Windows?!
    Bom, inicialize seu Linux, certifique-se que está tudo ok com a partição do Windows montando-a e verificando a existência de arquivos. Se tudo estiver ok faça no terminal:

    $ sudo update-grub

    Também pode ser que você não tenha indicado a partição correta do windows lá no arquivo /etc/grub.d/11_Windows.

    ResponderExcluir
  21. Valeu amigo, grande dica. 

    Driver de vídeo... done.
    Dual boot win... done.
    wireless rtl8187 error.

    Parafraseando nosso colega Gariba Araújo: "Não posso deixar uma plaquinha wireless me derrotar."

    E a luta continua!

    ResponderExcluir
  22.  Veja se isso ajuda:
    http://goo.gl/gJwAj

    ResponderExcluir
  23.  Olá Lex, obrigado pela ajuda, mas infelizmente a performace desse driver com ndiswrapper é igual ao módulo rtl8187 nativo do debian, ou seja, muito ruim.
    Eles só conectam se eu estiver muito perto do modem, muito perto mesmo, algo tipo 2 m. Como estou a 10 m do ponto de acesso, não dá.

    ResponderExcluir
  24.  Meu notebook anterior, @Geovane Jair, era muito ruim e vinha com uma placa semelhante à sua. Nem no Windows ele funcionava legal. Eu praticamente tinha que ficar abaixo do AP para me conectar. Depois de anos de frustração com esse notebook (principalmente por conta de um chip gráfico SiS que vinha nele) eu adquiri um DELL e estou muito feliz.

    ResponderExcluir