Configurando o lilo para inicializar vários sistemas

Uma dúvida freqüente em se tratando de instalação do Linux é sempre como fazer para instalar Windows e Linux em dual boot, ou como instalar várias instâncias do Linux na mesma máquina. Afinal, principalmente quando se está aprendendo, é muito útil ter várias distribuições instaladas para ver as diferenças entre elas e poder testar à vontade.

Os gerenciadores de boot incluídos no Linux, a dupla sertaneja “Lilo e Grub” fazem um bom trabalho em facilitar a instalação de vários sistemas operacionais no mesmo micro. Mesmo com um HD relativamente pequeno, de digamos 13 GB, você pode instalar várias cópias do Windows e várias distribuições Linux no mesmo HD.

Uma instalação típica do Mandrake ou do Red Hat cabe confortavelmente numa partição de 3 GB, enquanto uma instalação compacta do Slackware ou mesmo do Mandrake pode ser feita mesmo numa partição de 500 MB.

Uma vez instalado tudo, você pode inclusive reinstalar as cópias do Linux sem prejuízo para as demais. A excessão à regra é o Windows, que tem um comportamento mais anti-social, regravando a MBR do HD a cada reinstalação.

Vou dar aqui o exemplo de como instalar o Windows 2000, Mandrake 9.0, Red Hat 8.0, Slackware 8.1 e Knoppix num HD de 13 GB. A receita é bem simples e você pode adaptá-la às suas necessidades.

O primeiro passo é decidir a quantidade de espaço que você deseja deixar para cada sistema e o sistema de arquivos que utilizará em cada partição. No meu caso eu fiz o seguinte:

Windows: 2 GB, FAT 32
Mandrake: 3 GB, ReiserFS
Red Hat: 3 GB, EXT3
Knoppix: 3 GB, ReiserFS
Slackware 1,5 GB, ReiserFS
Swap: 512 MB

Depois de planejar no papel, é hora de colocar o plano em prática. Eu recomendo que você crie todas as partições antes de começar as instalações propriamente ditas. Isso facilita as coisas. Você pode fazer isso usando o instalador do Mandrake, que também lhe dá a opção de redimensionar uma partição Windows (FAT 32) já existente, sem perda de dados.

É preferível formatar a partição Windows em FAT32 pois além de poder criar a partição usando o próprio particionador do Mandrake, você poderá acessá-la depois através do Linux com acesso de leitura e escrita. No caso das partições em NTFS você terá apenas acesso de leitura através do Linux, dificultando a troca de arquivos já que o Windows também não é capaz de acessar partições Linux. O acesso de escrita em partições NTFS (no Linux) ainda está em estágio muito primário e por isso não é recomendável tentar usá-lo.

No meu caso estou fazendo a instalação no meu micro de testes, então simplesmente cliquei no “limpar tudo” do particionador do Mandrake e comecei a criar as partições.

Ao criar cada partição você tem a opção de criá-la como uma partição primária ou como uma partição extendida. Lembre-se que você pode ter apenas três partições primárias.

O Windows deve ser obrigatoriamente instalado numa partição primária. No caso do Linux não faz muita diferença então o ideal é deixar a partição Windows logo no início do disco. Caso você queira ter dois Windows, então crie a segunda partição FAT32 logo depois da primeira, não se esquecendo de marcar a opção de criá-la como partição primária:

Depois é só ir criando as partições Linux uma a uma. A partição swap pode ser compartilhada entre todas as instalações, então só é preciso criar uma. Prefira deixar a partição swap no final do disco, onde o desempenho é melhor:

Não se esqueça de anotar o dispositivo de cada partição, que pode ser visto nas propriedades. Você vai precisar destes dados ao configurar o gerenciador de boot. Aproveite para completar a tabelinha que fizemos acima. No meu caso ficou:

Windows: 2 GB, FAT 32 hda1
Mandrake: 3 GB, ReiserFS hda2
Red Hat: 3 GB, EXT3 hda3
Knoppix: 3 GB, ReiserFS hda5
Slackware 1,5 GB, ReiserFS hda6
Swap: 512 MB

Você pode criar também uma partição /home, que assim como a swap poderá ser compartilhada entre todas as instalações do Linux. O uso de uma partição home comum facilita a troca de arquivos e também faz com que as configurações de cada programa sejam compartilhadas entre todas as distribuições. Assim o Evolution por exemplo vai abrir a sua pasta inbox com seus e-mails seja no Mandrake 9.0 ou no Red Hat.

Depois de criar e formatar as partições, aborte a instalação do Mandrake. Lembre-se que a instalação do Windows elimina qualquer gerenciador de boot anteriormente instalado e por isso ele deve ser instalado primeiro.

Depois de concluída a instalação do Windows você pode voltar a instalar as distribuições Linux desejadas, em qualquer ordem.

O grande segredo é que você deve sempre instalar o gerenciador de boot (seja o Lilo ou o Grub) no primeiro setor da partição e não na MBR, que é o default. O Windows instala o seu gerenciador de boot nos dois lugares então você também não precisa se preocupar com ele 😉

No Red Hat e no Mandrake você verá a opção no final da instalação, na parte onde é instalado o gerenciador de boot. O default é instalar no “hda” que corresponde à MBR do HD. Mude a opção para a partição onde a distribuição está instalada (hda1, hda2, hda5, etc.) e ele será instalado no primeiro setor da partição.

No Slackware o default já é instalar o lilo na partição, enquanto no Knoppix (ou Kurumin) basta clicar em “no” quando ele perguntar se você deseja instalar o lilo na MBR.

Agora você precisará instalar uma cópia do Lilo na MBR, que lhe dará a opção de escolher qual sistema você deseja instalar a cada boot. Como até agora instalamos todos os gerenciadores nas partições, precisaremos de um disquete de boot (dos feitos no final da instalação) da distribuição que você tiver mais familiaridade para poder dar boot e gravar o lilo na MBR.

O disquete também vai ser útil caso mais tarde você faça uma barbeiragem qualquer que subscreva a MBR do HD, ou caso precise reinstalar o Windows. Basta inicializar pelo disquete e regravar o lilo.

Logue-se como root e abra o arquivo “/etc/lilo.conf” no seu editor preferido. No meu caso usei o Mandrake instalado no hda2 e o arquivo estava assim:

boot=/dev/hda2
map=/boot/map
vga=normal
default=linux
keytable=/boot/br-abnt2.klt
prompt
nowarn
timeout=100
message=/boot/message
menu-scheme=wb:bw:wb:bw

image=/boot/vmlinuz
label=linux
root=/dev/hda1
initrd=/boot/initrd.img
append=”quiet devfs=mount hdc=ide-scsi”
vga=788
read-only

Veja que o arquivo está dividido em duas seções, a global, onde ficam as configurações do lilo e em seguida uma seção para cada sistema que será inicializado.

O que precisamos fazer é:

a) Alterar a linha “boot=/dev/hda2” para “boot=/dev/hda”, que fará o lilo ser gravado na MBR ao invés da partição.

b) Apagar toda a segunda parte do arquivo e no lugar adicionar uma entrada para cada sistema operacional instalado, indicando a partição onde ele está instalado e o nome com que ele será identificado no menu de inicialização.

c) Editar a linha “default=linux”, indicando qual sistema será iniciado por default.

d) Adicionar a linha “lba32” que elimina a limitação quanto a dar boot a partir de partições depois do cilindro 1024, encontrada em algumas placas mãe.

Depois das alterações o arquivo ficará mais ou menos assim:

boot=/dev/hda
map=/boot/map
vga=normal
default=Mandrake
keytable=/boot/br-abnt2.klt
prompt
nowarn
timeout=100
lba32
prompt
message=/boot/message
menu-scheme=wb:bw:wb:bw

other=/dev/hda1
label=Windows
other=/dev/hda2
label=Mandrake
other=/dev/hda3
label=RedHat
other=/dev/hda5
label=Knoppix
other=/dev/hda6
label=Slackware

Depois de salvar o arquivo, dê o comando “lilo” para gravá-lo:

# lilo

Este “novo” lilo será gravado apenas no setor de boot. Ele não subscreve o lilo do Mandrake que está instalado no hda2.

Neste esquema o lilo principal apenas chama os lilos instalados nas partições e também o gerenciador do Windows, que por sua vez se encarregam de carregar os sistemas operacionais correspondentes.

Lembre-se que fazendo isso você pode reinstalar os Linux à vontade, inclusive mudando as distribuições instaladas em cada partição, desde que sempre tome o cuidado de instalar o gerenciador de boot na primeira trilha da partição.

Alternativamente, você pode aproveitar para configurar o lilo diretamente durante a instalação de uma das distribuições, evitando esta última parte de configuração manual. Neste caso prefira o Mandrake ou o Red Hat, onde esta configuração é mais fácil.

Em ambos basta adicionar mais entradas no gerenciador de boot, apontando a partição e o nome de cada distribuição, como fizemos no arquivo de configuração do lilo. Veja que neste caso a distribuição “principal” passa a ter o lilo instalado apenas na MBR e não na partição. Se você precisar reinstala-la você deverá repetir a configuração, caso contrário perderá o acesso às demais distribuições.

Dual-Boot via BIOS

Caso você seja realmente conservador e não queira saber do menor risco para seus arquivos de trabalho ao configurar o dual boot, existe ainda a opção de usar dois HDs e alternar entre Windows e Linux trocando o dispositivo de boot no setup.

A maioria dos BIOS oferece este recurso, procure na seção “Boot”:

Se você tiver um HD instalado como primary master (/dev/hda), onde está instalado o Windows XP por exemplo e for adicionar um segundo HD onde será instalado o Linux, basta instala-lo numa posição diferente, como secondary master (/dev/hdc) por exemplo.

Simplesmente desconecte o HD do Windows (para evitar qualquer acidente) e proceda a instalação das distribuições Linux desejadas no segundo HD. Depois de terminar, reconecte o primeiro HD, vá ao setup, detecte os HDs instalados e escolha qual será usado para dar boot. A partir daí você pode alternar entre Windows e Linux acessando o setup e alterando o dispositivo.

Não é tão rápido quanto simplesmente escolher no menu do Lilo, mas não deixa de ser uma opção. A vantagem neste caso é que o risco de perda de dados durante a instalação do Linux e configuração do Lilo/Grub é zero. Você simplesmente não toca no HD do Windows.

Dual-Boot com dois HDs

Vendo a solução acima você deve ter ficado pensando se não existe uma solução mais elegante para o problema. Sim, existe e é até mais simples.

Instale o HD que abrigará as distribuições Linux como master da primeira IDE e o HD com o Windows como slave. Deixe a segunda IDE reservada para o CD-ROM ou gravador, o que garantirá um melhor desempenho a partir dos dois sistemas.

Detecte ambos os HDs no Setup e instale as distribuições desejadas no primeiro, configurando o lilo como aprendemos acima.

Depois de terminar, adicione as linhas que iniciarão o Windows. Como ele está instalado no segundo HD, usaremos um pequeno truque que troca a posição dos drivers, fazendo o Windows pensar que o HD onde está instalado continua instalado como primary master:

other=/dev/hdb1
label=Windows
table=/dev/hdb
map-drive = 0x80
to = 0x81
map-drive = 0x81
to = 0x80

Isso funciona com o Windows NT, 2000 e XP, não testei com o Windows 98 mas creio que também funcione sem problemas. Basicamente as linhas carregam a tabela de partição do segundo HD e a partir daí dão boot a partir do drive C: do Windows. As últimas quatro linhas são responsáveis por trocar a posição dos drives.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X