sábado, 3 de janeiro de 2009

2 Linux em dual boot com Lilo

As vezes a gente acha que certas coisas são automáticas e na hora de por em uso ... quebra a cara e acaba tendo um trabalhão.
Tenho o Slackware e Windows XP instalado no meu computador, comprei um novo hd enorme (80 GB rsrsr!) e acabou sobrando espaço, resolvi então instalar outro Linux pra testar, pois estou tentando encontrar uma distro que seja realmente eficiente para o usuário final.
Instalei então o Mandriva 2008, achei uma ótima distro, mas tive um problema em relação ao lilo, não conseguia bootar as duas distros de forma alguma, quando configurava uma a outra não funcionava. Iniciei algumas pesquisas e fui tirando conclusões de várias soluções apresentadas, algumas meio estranhas, mas conclui que no momento de configurar o lilo ele deveria encontrar os arquivos do kernel do outro Linux ("não entendi muito bem o porquê, mas..."). Pensei que essa necessidade poderia ser só na hora de instalar, pois imaginei que ele copiaria alguma coisa de lá para o setor de boot, e ... Eu estava certo!! Então criei minha própria solução, que divido aqui com vocês:

Mãos a obra:

Ambiente:
Computador semprom 3000, hd 80GB.
Slackware 12, Mandriva 2008 e Windows XP já instalados e funcionando corretamente.
LInux LOader: instalado a partir do slackware mas não consegue administrar corretamente os 2 linux.
Partições principais:
hda1= swap
hda3=Windows XP (NTFS)
hda5=Mandriva (Ext3)
hda8=Slackware (ReiserFs)


Problema apresentado:
Os 2 sistemas até que inicializam, mas o mandriva não consegue localizar os módulos, o que faz que os únicos periféricos que funcionem sejam o monitor e o teclado, nem mesmo o mouse funciona, se uso o comando "lsmod" não mostra nenhum módulo carregado.

Solução:
Inicialize pelo Slackware;
Monte a partição hda5 em /mnt/hda5 (mount -t auto /dev/hda5 hda5);
Edite o lilo.conf e deixe-o com a seguinte configuração:

boot = /dev/hda
prompt
timeout = 300
vga = 773
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/hda8
label = Slackware12
initrd = /boot/initrd.gz
read-only # Partitions should be mounted read-only for checking
# Linux bootable partition config ends
# Linux bootable partition config begins
image = /mnt/hda5/boot/vmlinuz
root = /dev/hda5
label = Mandriva
initrd = /mnt/hda5/boot/initrd.img
read-only # Partitions should be mounted read-only for checking
# Linux bootable partition config ends
# Windows bootable partition config begins
other = /dev/hda3
label = WindowsXP
table = /dev/hda
# Windows bootable partition config ends

*Observe que a imagem do mandriva está com o caminho direcionado para o ponto de montagem e não ao dispositivo onde ele está. (Esse é o segredo). Claro que a parte mais importante é que está em negrito, as demais depende de seu sistema.

Agora basta carregar o lilo.

Prontinho, agora é só reiniciar o computador e escolher qual sistema que utilizar.

Ps. Parece-me que esse problema acontece, normalmente, quando se tem uma partição ReiserFS, já que o Mandriva usa Ext3.

Nenhum comentário: