Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
21/12/1992


< Um presente de Natal >


Após instalar um programa compressor de arquivos em tempo real aceitando as opções default, a única mudança evidente é a capacidade do drive C, que, para todos os efeitos práticos, dobrou. Mas sabemos que, por trás desta aparente simplicidade, muita coisa aconteceu: ao ser instalado, o programa comprime todos os arquivos do disco rígido C, espremendo-os em um arquivão. Depois, a cada boot, o driver do programa compressor de arquivos é carregado e faz com que o sistema "enxergue" o arquivão como um novo drive que recebe inicialmente o designador "D". E, para terminar, um programa auxiliar troca as letras dos drives C e D.

Talvez você ache que é mesmo esta a melhor maneira de usar um destes programas. Afinal, se tudo o que se tinha antes no drive C continua aparecendo como se lá ainda estivesse, pouco importa se aquilo é mesmo o drive C ou um arquivão que simula um drive. Estes detalhes, no fundo, só interessam aos escovadores de bits. E de fato é assim. Pelo menos enquanto tudo corre bem. Porém...

E sempre há um porém. Um exemplo: imagine que um programa, ao se instalar, precisou modificar o Config.Sys. Naturalmente, vai procurá-lo no diretório raiz do drive C. Se encontrar, faz a modificação e vai em frente todo fagueiro. E quebra a cara. Percebeu onde o carro pega? Não? Raciocine: na hora do boot, aquilo que aparece como drive C durante o uso normal ainda não existe. Naquele momento, antes da carga dos drivers do programa de compressão e do utilitário que troca os designadores de drives, o que aparece como drive C é o próprio drive C, o real, aquele que contém os arquivos originais de sistema. E o Config.Sys que vai ser lido é o contido neste drive, não aquele que foi modificado. Em outras palavras: o Config.Sys usado para o boot não é o que aparece no diretório raiz do drive C durante o uso do micro, mas naquilo que aparece como drive D, já que seus designadores são trocados. Achou que eu estou fazendo tudo parecer muito confuso? Lamento, mas a culpa não é minha: a coisa é meio confusa mesmo.

Para evitar problemas como este, o Stacker, por exemplo, após cada boot, compara os dois Config.Sys: o do drive C real e o contido no arquivão, que mais tarde "vira" o drive C. Se acha diferenças, avisa e solicita novo boot para atualizar. E faz o mesmo com o Autoexec.Bat, de modo que o exemplo só serviu para mostrar que as coisas não são tão simples como parecem. Mas há ainda outras sutilezas. Por exemplo: uma linha do Config.Sys que carrega um arquivo do drive C pode ter significado completamente diferente se for inserida antes ou depois das linhas que carregam o driver do programa compressor de arquivos e do utilitário que troca os designadores de drives. Pense um pouco e logo perceberá porque.

O fato é que um usuário menos experiente pode achar que a instalação default é mais simples, já que tudo parece correr como se nada houvesse mudado. Mas, cedo ou tarde, vai se deparar com algum problema devido à troca de identidade do disco de boot. Na verdade, esta coisa do drive C durante o boot ser diferente daquilo que aparece como drive C no restante do tempo, é a maior fonte de problemas quando se usa um programa de compressão de arquivos em tempo real. O que não é razão para se deixar de usar um destes programas. Muito pelo contrário: são todos muito seguros e resultam em enorme economia. Basta tomar alguns cuidados.

A melhor maneira de evitar problemas é manter o drive C fora da brincadeira, impedindo a compressão de seus arquivos. Quando uso um programa destes, consigo isto com um expediente muito simples. Dá mais trabalho, mas torna as coisas muito mais fáceis e, sobretudo, mais seguras. Talvez não seja a forma ideal. Mas evita um bocado de problemas. Por isso vou descrevê-la. Quem gostar, use.

Depois de um backup completo do HD, divido o disco rígido em duas partições com o Fdisk. Na partição C, de cerca de 8Mb, instalo o DOS, QEMM e alguns utilitários que permitem investigar o sistema e corrigir problemas eventuais, como o Checkit, XTree e Norton. A partição D ocupa o resto do disco rígido e fica vazia. Em seguida instalo o programa compressor de arquivos, mas não uso as opções default. Ao invés disso, mando comprimir toda a segunda partição. Nela é então criado um arquivão vazio, que "vira" o disco "E" e apresenta o dobro da capacidade real da partição. Depois, mando trocar apenas os designadores dos drives "D" e "E". E restauro todos os arquivos restantes do meu HD para "novo" drive D. Com isto o drive C permanece intocado, desde o boot até se desligar a máquina. Lá moram, no lugar que tradicionalmente lhes compete, todos os arquivos do DOS, o Autoexec.Bat, Config.Sys, Command.Com, drivers e gerenciador de memória. E mais alguns utilitários que, se surgir algum problema, estarão sempre a mão. O disco simulado pelo arquivão aparece como drive D. É verdade que ele foi criado originalmente como "E", mas isto não faz a menor diferença: como ocupa toda a partição, o drive D "de verdade" (que durante a operação do micro assume o designador "E") não será usado para mais nada, portanto pode ser esquecido.

Há uma alternativa que leva quase ao mesmo resultado, com a vantagem de evitar o particionamento do HD e a troca de quaisquer designadores: basta, depois do backup, apagar todos os arquivos e diretórios do drive C, exceto o raiz e aqueles diretórios que se pretende manter no drive C. Em seguida, instala-se o programa compressor de arquivos mas, ao invés de comprimir todo o drive C, cria-se nele um arquivão "vazio", ocupando quase todo o espaço livre (Sugiro deixar apenas um total de cerca de 8Mb sem comprimir). O arquivão vai simular um disco que assume o designador D. Depois, restaura-se os demais arquivos originalmente no drive C para este novo drive D. Tudo se passa como se houvesse duas partições: a única diferença é que o arquivão não ocupa uma partição independente, mas é criado dentro do próprio drive C.

É verdade que, em ambos os casos, após restaurar os aplicativos no drive D, deve-se reconfigurar alguns deles para avisá-los que mudaram de drive e editar a PATH do Autoexec,Bat, trocando alguns "C" por "D" (se você acha complicado, ao invés de restaurar os programas para o drive D, instale-os de novo neste drive que eles mesmos se encarregarão de reconfigurar-se e editar a PATH). Mas vale a pena. No fim, em vez de um único disco de, digamos, 80Mb, aparecem dois: o primeiro, que continua sendo C, com cerca de 8 Mb, guarda os arquivos mais preciosos, e o outro, o drive D, com mais de 140Mb, armazena todos os demais. Lucro líquido: mais de 70Mb. E sem problemas de trocar o designador do disco de boot.

Gostou da idéia? Use-a. Fica sendo o meu presente. Com os votos que Papai Noel traga muitos outros. Feliz Natal.

B. Piropo