sábado, setembro 06, 2008

GRUB com Linux e Windows em HDs separados

A maioria dos artigos que encontramos na web ensina como configurar o GRUB em computadores com Windows e Linux no mesmo HD. Porém, alguns usuários como eu utilizam Linux e Windows em HDs separados.
Como o GRUB faz parte do Linux, obviamente o boot deve estar direcionado para o HD onde o Linux está instalado. Porém, o GRUB de modo geral não funciona bem no momento de carregar o Windows.
Este problema acontece porque o sistema da Microsoft faz uma resistência quando não está presente no HD principal - que efetua o boot. Mas, isto pode ser resolvido da seguinte forma:
No meu caso, utilizo a distribuição Linux Ubuntu 8.04 no HD principal e Windows XP no HD secundário.
O primeiro passo é carregar o Linux, entrar em modo terminal (consola - no caso do Ubuntu 8.04 em modo gráfico) e digitar o comando abaixo para editar o arquivo menu.lst, que é onde ficam as instruções do GRUB. É aconselhável fazer um backup deste arquivo antes da edição.

sudo gedit /boot/grub/menu.lst

Lembrando que o comando sudo é utilizado no Ubuntu para que se possa trabalhar com privilégios de root.

Estando com o arquivo aberto deve-se adicionar as linhas abaixo, que conectarão o Windows.

title Windows /XP
root (hd1,0)
makeactive
chainloader +1
map (hd1) (hd0)
map (hd0) (hd1)

Note que o macete está nas duas últimas linhas.

No meu caso o objetivo era que o Windows XP fosse o Sistema Operacional padrão, ou seja, aquele que deveria ser carregado em caso de não intervenção do usuário no carregamento do GRUB. Portanto, inseri as seis linhas adicionais no final do arquivo menu.lst, entre as linhas comentadas e as que conectam o Ubuntu. Dessa forma, o menu do GRUB ficou assim:

Windows /XP
Ubuntu
Ubuntu (Recovery Mode)
Memory Test

Também pode-se trocar o Sistema Operacional padrão alterando, no arquivo menu.lst, a linha "default 0". Onde 0 corresponde ao primeiro da lista (Windows XP no caso acima), 1 seria Ubuntu, 2 Ubuntu (Recovery Mode) e 3 Memory Test.

Nenhum comentário: