Micro Cosmo
Volte
12/02/96

< Boot Duplo >


Se, atraído pelo fecho da última coluna, você veio até aqui ávido para deslindar a mágica do dual boot, vai descobrir que embora ilustrativa, é das mais bestas. O fecho, confesso, foi a forma de interessá-lo pela coluna de hoje, um engodo aprendido com os filmes em série da minha infância, cujos episódios terminavam sempre com o herói em situação desesperadora, enredado em terríveis perigos engendrados pela mente maléfica do vilão. Dos quais, no início do capítulo seguinte, escapava da forma mais besta possível, em geral com um simples pulinho para o lado enquanto passava o trem desabalado sobre os trilhos onde ele estava pouco antes tão solidamente amarrado.

Mas, enfim, vamos ao dual boot. Que funciona assim: depois de instalados os sistemas operacionais - como vimos semana passada, ambos na mesma partição - alterna-se entre eles através de um comando. Digitado na linha de comando como nos bons e velhos tempos do DOS (na verdade pode-se passar do OS/2 para o DOS clicando-se no ícone que representa o dual boot, mas isto nada mais faz que acionar o comando como se ele tivesse sido emitido da linha de comando, também disponível no OS/2). O comando é o mesmo no DOS e no OS/2 e seu nome não é nada surpreendente: BOOT. O que varia é o modificador. Assim, passa-se do DOS para o OS/2 emitindo-se o comando “BOOT /OS2”. E passa-se do OS/2 para o DOS emitindo-se o comando “BOOT /DOS”. Em ambos os casos a máquina inicia um novo boot depois do qual, como por milagre, surge o novo sistema operacional. Como isto seria possível?

No fundo a coisa é simples. Tão simples que nossos parcos conhecimentos sobre o processo de boot bastam para descobrir o truque. Veja lá: sabemos que o boot é uma seqüência de ações que culminam com a carga do sistema operacional, que consiste na transposição para a memória de seu código executável gravado em disco. Trocando em miúdos: carregar o sistema operacional nada mais é que ler no disco o conteúdo dos arquivos que o constituem, os chamados “arquivos de sistema”, e copiá-lo na memória. Seja qual for o sistema. Naturalmente, os arquivos de sistema do DOS são diferentes dos arquivos de sistema do OS/2, mas o procedimento é basicamente o mesmo. E sabemos ainda que quem procura no disco estes arquivos e os copia na memória é o bootstrap record, um trecho de código gravado no setor de boot.

Pronto: isto é tudo que precisamos saber para decifrar o mistério. O que você, leitor atento, já deve ter feito.

Mas é claro! Pois estando instalados na mesma partição (que como você bem sabe, para que a coisa funcione, além de partição primária tem que ser obrigatoriamente a primeira partição do primeiro disco rígido, ou seja, o “drive C:”), os arquivos de sistema de ambos os sistemas operacionais estão gravados em lugares diferentes, mas no mesmo disco lógico. Ou seja, em setores e trilhas diferentes do mesmo “drive”, no caso o drive “C:”. Para dar o boot por um sistema ou pelo outro, tudo o que se precisa é ler e transpor para a memória os arquivos correspondentes ao sistema desejado.

Ora, mas se quem faz isso é o código gravado no setor de boot, como se troca de sistema através de um comando? Muito simples: o comando BOOT nada mais é que um programa que executa sempre a mesma seqüência de ações: copia em um lugar seguro, onde possa encontrá-los mais tarde, o setor de boot atual e certos arquivos de configuração que “moram” no diretório raiz do drive C (já veremos quais), lê neste mesmo lugar seguro uma segunda cópia do setor de boot e a grava no seu devido lugar (como você sabe, o primeiro setor da trilha zero da face zero do disco rígido), assim como novas cópias daqueles arquivos de configuração, que grava no diretório raiz do drive C. Isto feito, força a máquina a executar uma partida à quente - depois da qual surge lépido e fagueiro o novo sistema operacional. Que ressurgirá sempre a cada novo boot, até que se execute novamente o comando BOOT.

Evidentemente o novo setor de boot contém as instruções para carregar os arquivos de sistema do outro sistema operacional, assim como pertencem a ele as novas cópias dos arquivos de configuração. Estes arquivos, que um dia discutiremos em detalhe, chamam-se Config.Sys e Autoexec.Bat. São arquivos texto contendo instruções que o sistema operacional usa para configurar a máquina enquanto está sendo carregado e que obrigatoriamente devem residir no diretório raiz. Tanto o OS/2 quanto o DOS usam estes arquivos, que embora tendo o mesmo nome e obrigatoriamente residindo no diretório raiz, têm conteúdos inteiramente diferentes (ou seja: o Config.Sys do OS/2 é diferente do Config.Sys do DOS, assim como são diferentes os respectivos Autoexec.Bat). Por isso a necessidade de recopiá-los no diretório raiz cada vez que se alterna de sistema operacional e guardar os atuais em lugar seguro a cada boot, já que ao contrário dos arquivos de sistema que jamais trocam de lugar no disco ou mudam seu conteúdo, os arquivos de configuração podem ser alterados pelo usuário.

Pois é isso. Como você vê, não há mistério algum no dual boot.

Como não há no Boot Manager, que discutiremos semana que vem.

B. Piropo