Restaurando o Grub no Ubuntu e enganando o Windows

Segue a dica do Sr.Wander Barbato, publicado no site do Dicas-L.

Tenho um computador com dual boot há algum tempo (Ubuntu + Windows), porém faz uns 2 anos que não uso mais o Windows nele. No entanto, outro dia formatei (sem querer) a partição do Windows e, como estava precisando de um espaço para meu /home, resolvi montá-lo nesta “nova” partição :-)

Até aí tudo bem. Coloquei outro HD no micro e resolvi instalar o Windows, pois periodicamente preciso instalar e homologar alguns softwares “for Windows” que usamos na nossa instituição.

Como era de se esperar eu perdi meu Grub. Usei um Live CD do Ubuntu, conferi o arquivo de configuração do Grub e restaurei o mesmo (vide o artigo Como reinstalar ou restaurar o GRUB.

O problema é que o meu Ubuntu estava instalado no HD mestre (/dev/sda); já o Windows eu instalei no HD escravo (/dev/sdb). Descobri que o Windows só funciona se estiver instalado no primeiro HD (que maravilha, hein…).

Foi aí que descobri a opção map do Grub. No Grub, o primeiro HD é identificado por hd0, o segundo é identificado por hd1 e assim por diante. Na configuração do ponto de partida para o Windows (que está em hd1), eu acrescentei a linha de comando:

map (hd1) (hd0)

Dessa forma, quando é invocado o boot através do Windows, este comando mapeia hd1 em hd0, enganando o Windows.

Veja como ficou o meu arquivo de configuração do Grub (/boot/grub/menu.lst):

default 0 timeout 10 password --md5 senha_cifrada # Boot pelo Linux title Ubuntu 8.04 root (hd0,2) kernel /boot/vmlinuz-2.6.24-24-generic root=/dev/sda3 ro quiet splash locale=pt_PT initrd /boot/initrd.img-2.6.24-24-generic quiet # Boot pelo Windows title Windows XP rootnoverify (hd1,0) map (hd1) (hd0) makeactive chainloader +1
Anúncios

~ por 3c0linux em outubro 16, 2009.

 
%d blogueiros gostam disto: