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.