Hoje tive que instalar o Windows num notebook da empresa que está comigo e que já tem Linux instalado.
Instalar Windows num computador que já tem Linux nunca é uma boa idéia, pois aquele nunca reconhece outros sistemas operacionais já instalados no disco. Mas isso não seria problema, bastaria usar um LiveCD com Linux e recuperar o GRUB. O problema e’ que as novas distribuicoes Linux utilizam GRUB2 que utiliza uma configuracao bem diferente do GRUB antigo.
Felizmente ainda existe o GRUB antigo no Ubuntu, bastaria instala-lo.
Entao inicie o notebook via LiveCD abri o terminal e executei:
$ sudo -s
# mknod /dev/sda b 8 0
# mknod /dev/sda1 b 8 1
# mount /dev/sda1 /mnt
# chroot /mnt
# mount proc -t proc /proc
# apt-get install grub
Entao criei o arquivo /boot/grub/menu.lst com o conteudo:
default 0
title Ubuntu kernel 2.6.35
root (hd0,0)
kernel /boot/vmlinuz-2.6.35-24-generic root=/dev/sda1 ro quiet nosplash
initrd /boot/initrd.img-2.6.35-24-generic
quiet
savedefault
boot
Então executei:
# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
Hora de reiniciar:
# reboot
Então ao iniciar o GRUB apareceu e consegui entrar no Ubuntu. Agora é devemos remover o GRUB antigo:
$ sudo apt-get remove grub
Quando o GRUB antigo e’ removido um script de atualizacao e’ executado e o GRUB2 e’ reinstalado e as opcoes antigas sao adicionadas ao menu.lst. Entao ao reiniciar e verificar que as opcoes antigas funcionam, executei um comando para remover as configurar do GRUB legacy:
# upgrade-from-grub-legacy
Depois de fazer isso tudo descobro que o GRUB2 e’ muito mais simples de configurar, possuim mais comandos p/ automatizar a detecao dos sistemas operacionais.