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

< ENFIM, A SOLUÇÃO... >


Vimos que para que um disco de alta densidade possa ser gerenciado por sua máquina é necessário satisfazer a três condições: a placa controladora deve ser capaz de manejar o drive e tanto o sistema operacional quanto o BIOS devem conter o código necessário para manejá-lo. E que basta uma delas não ser cumprida para que você tenha problemas.

De todas, a mais simples de ser identificada e resolvida é a concernente ao sistema operacional: basta verificar a versão. Você somente terá problemas se ela for igual ou inferior à MS DOS 3.2. Se este for o caso, troque seu sistema operacional. E não apenas por isto: afinal, a versão 3.2 já está um bocado ultrapassada.

Em contrapartida, se a placa controladora não conseguir manejar o drive, não há santo que dê jeito: você vai ter que trocá-la. Pois ela é um elo essencial na cadeia e não há como contornar o problema por meio de software. Mas, exceto nos XT mais antigos, isto dificilmente ocorrerá: a maioria das controladoras de fabricação recente são capazes de reconhecer todos os tipos de drives.

Sobrou o BIOS. E é aí que entra o Config.Sys. Sim, pois vocês não esqueceram que continuamos analisando os arquivos de configuração, pois não? E há duas formas de contornar o problema mediante dois diferentes comandos a serem incorporados ao Config.Sys.

O primeiro é o mais satisfatório e pode ser usado quando o sistema trata o drive como se não fosse de alta densidade: você manda formatar um disco de alta e descobre que o bicho formatou como se fosse de dupla. O que na verdade ocorre é que o BIOS tem suporte para gerenciar drives de alta, mas não reconheceu a unidade instalada no sistema como tal. E usa os parâmetros errados. Se este é o seu problema, há uma solução simples que resolve mais de noventa por cento dos casos e deve ser tentada sempre em primeiro lugar: o comando "drivparm". Cujo nome deriva de "drive parameters", e pode ajustar os parâmetros de um drive existente. Para resolver o problema basta incluir no Config.Sys a linha:

DRIVPARM=/D:(n) /F:(f)

Na qual (n) corresponde ao número que o sistema operacional atribui ao drive (0 para o drive A e 1 para o B) e (f) corresponde ao tipo do drive: 0 para 5"1/4 e dupla densidade, 1 para 5"1/4 e 1,2Mb, 2 para 3"1/2 e 720K e 7 para 3"1/2 e 1,44Mb (na verdade a sintaxe completa do comando inclui outros parâmetros, mas em nosso caso estes bastam). Assim, se você acabou de instalar um drive de 1,2Mb no lugar do drive A e sua máquina se recusa a reconhecê-lo corretamente, coloque em seu Config.Sys a linha:

DRIVPARM=/D:0 /F:1

e há uma grande probabilidade de que seu problema seja resolvido.

E se não for? Bem, neste caso a coisa complica um pouco. O que provavelmente aconteceu é que o BIOS não oferece suporte ao tipo de drive e se recusa a reconhecê-lo mesmo com o "drivparm" para informá-lo. Neste caso, a solução é um pouco menos cômoda, mas ainda assim funcional. Vamos a ela.

Você certamente se lembra qual o papel do comando "device", que só pode ser incluído no Config.Sys, pois não? Para os de memória fraca: ele serve para incorporar ao sistema operacional (inclusive à parte carregável do BIOS) o código necessário para gerenciar um dispositivo para o qual o sistema não oferece suporte. E acontece que a partir da versão 3.3 o DOS incorpora um driver para gerenciar drives de alta densidade: chama-se Driver.Sys e pode se carregado também através de uma linha no Config.Sys com o aspecto:

DEVICE=DRIVER.SYS /D:(n) /F:(f)

Ainda neste caso a sintaxe é um pouco mais complexa, mas para nosso objetivo a que aí está basta. Os valores de (n) e (f) são exatamente os mesmos que os usados em "drivparm". Portanto, se você instalou um novo drive B de 1,44Mb e seu sistema não o reconhece como tal, já tentou o "drivparm" e não resolveu, adicione ao seu Config.Sys a linha:

DEVICE=DRIVER.SYS /D:1 /F:7

e vai ficar quase satisfeito. Por que quase? Bem, é que provavelmente agora você poderá usar seu drive como de alta densidade. Só que não poderá continuar chamando-o de "drive B". Pois, ao contrário do comando "drivparm", que simplesmente muda os parâmetros de um drive existente, o driver Driver.Sys cria um novo drive lógico e atribui a ele uma nova designação. E como se "chamará" seu novo drive? Bem, depende da letra correspondente ao último drive lógico quando o comando "device" foi executado. Se você tem dois drives (A e B, incluindo o novo de alta densidade), um disco rígido com três partições (C, D e E) e um comando instalando um disco RAM (F) no Config.Sys antes da linha do Driver.Sys, a primeira letra "livre" será a G, e ela será atribuída a seu drive de alta (se este for o caso, não se esqueça do comando "LASTDRIVE=G" no Config.Sys). Não é lá muito agradável ter que se acostumar a chamar seu segundo drive de "G", mas é melhor que não poder usá-lo como alta densidade.

E se nada disto resolver? Bem, você se lembra, na semana passada, quando foi dito que logo após a partida a máquina testa os periféricos e arrola em uma área de memória aqueles que conseguiu reconhecer? Pois se você tentou tudo isto e nada funcionou, o que muito provavelmente ocorreu é que o BIOS nem ao menos conseguiu identificar seu drive e não o incluiu entre os periféricos detectados. E neste caso a solução é drástica: você vai ter que trocar o BIOS por uma versão mais atualizada. E se não encontrar um chip de BIOS que tenha sido desenvolvido exatamente para sua placa mãe, melhor nem tentar: talvez consiga resolver o problema do drive. Mas poderão surgir tantos outros, que certamente não vai valer a pena...

 

B. Piropo