A BIOS é certamente a parte do nosso computador mais antiga comparando com muitas outras coisas que um computador moderno hoje têm. BIOS entende-se por Basic Input Ouput System, e serve para iniciar os dispositivos do nosso computador como discos, memória, placa gráfica, CPU, entre outras funções como iniciar os registos do chipset da motherboard como timings, etc
Antigamente a BIOS tinha mais importância do que simplesmente iniciar os dispositivos básicos de um computador. Por exemplo na era de sistemas operativos como DOS algumas aplicações beneficiavam bastante se certas partes da BIOS eram copiadas para a RAM do sistema, já que muitos programas acediam a BIOS e para acelerar as coisas então parte do código era copiado para a RAM do sistema. Opções como "Shadow Ram" devem ser muito familiares para muito utilizadores pois hoje em dia essas opções ainda existem, no entanto não trazem nada em performance já que actualmente não existem programas em Windows a aceder à BIOS.
A BIOS não existe apenas em motherboards. As placas gráficas também o têm e também dispositivos como leitores de CD e discos rígidos, embora nestes o nome BIOS não é o nome mais correcto mas sim firmware. Notem que neste artigo não vou incluir firmwares.
Nas placas gráficas antigamente, a BIOS tinha também muita importância pois para jogos DOS actualizar para uma nova versão podia corrigir incompatibilidades, trazer mais performance, entre outras coisas, no entanto hoje em dia os jogos usam API como DirectX ou OpenGL para aceder ao hardware da placa gráfica pelo que a BIOS de uma placa gráfica hoje em dia serve apenas para a iniciar e outras coisas básicas como velocidades de relógio.
No caso dos firmwares em discos rígidos e outros por exemplo pode trazer mais benefícios hoje em dia como correcção de incompatibilidades, melhor performance, embora na maioria dos casos nunca é necessário actualizar o firmware, a não ser para adicionar novas funcionalidades.
A BIOS em motherboards está localizada num pequeno chip a qual se dá o nome de CMOS e esse mesmo chip poderá ser escrito, reescrito, apagado quantas vezes quisermos. O CMOS ao longos dos tempos não têm sofrido muitas alterações a não ser em aumentar a capacidade do chip já que algumas novas funções foram sendo adicionadas enquanto outras que surgiram nos anos 80 ainda estão presentes. Actualmente e pelo que conheço os chips das motherboards podem ir até 512Kb de informação enquanto que em placas gráficas actuais pode ir até uns 64Kb/128Kb.
Fisicamente até houve uma alteração no chip como está nas imagens seguintes:
Actualmente o tipo de chip que se vê mais em motherboards actuais é o da direita e têm o nome de PLCC (Plastic Leaded Chip Carrier). Não quer dizer que o modelo mais antigo, o rectangular de nome DIP (Dual In-Line Package) deixou de existir de um momento para o outro mas é muito raro de encontrar, já que o chip mais moderno começou a aparecer em certas motherboards para Pentium III, e desde a saída deste CPU até hoje já se considera muito tempo!
Para se poder ler/escrever no chip assim como manter as configurações, desde sempre que se usa uma pilha como esta:
A pilha pode estar próximo do chip assim como pode estar longe e isto é indiferente. Também é muito raro ser necessário trocar a pilha. Vocês devem saber que ainda existem computadores "do tempo dos dinossauros" a funcionarem à tempo inteiro como 486s, e de certeza que estes não irão deixar de funcionar por causa de uma pilha. Pode haver casos que seja necessário trocar a pilha, mas uma pilha destas e pelo uso que têm dá mesmo para imenso tempo.
Outra situação relacionada com a BIOS é a presença de um "jumper" que serve para se colocar novamente as opções da BIOS de fábrica, no caso de ter havido algum problema como terem colocado mal a velocidade de relógio do CPU, timings de ram, etc. Neste caso a única opção é moverem o jumper para outra posição, esperarem uns segundos, colocam o jumper na posição inicial que o computador já deverá arrancar. Como a posição deste jumper vária de motherboard para motherboard, convém consultar o manual da vossa board que de certeza diz onde está localizado esse jumper... normalmente têm o nome de CMOS Clear jumper. No manual deve também explicar como fazer um "Clear a CMOS".
Cuidados a ter
Fazer um flash de BIOS em motherboards e placas gráficas não fazem explodir o vosso PC, mas fazer isto sempre requer algum cuidado. A primeira coisa a ter em conta é que enquanto se processa a escrita no chip (flash), o computador não deve ser desligado, fazer-se um reset, etc. É que assim a informação no chip poderá ficar corrompida, e será bem provável que o computador não arranque mais. Por isso convém fazer o flash quando não houver problemas na instalação eléctrica da casa, mau tempo como trovoada, isto para evitar males de maior.
A nova imagem/ficheiro que irão obter por download ao fabricante da vossa motherboard, terá que ser o correspondente ao modelo da vossa motherboard, assim como por vezes terá que se ter atenção à outros pormenores como revisões, se têm LAN, som e coisas assim. Convêm perder algum tempo em se informarem melhor sobre a vossa motherboard assim como os ficheiros disponíveis e darem atenção aos avisos/recomendações do fabricante em vez de fazerem tudo à pressa e possivelmente fazerem uma valente asneira.
Como então fazer o flash?
Desde que o flash de BIOS começou a ser mais frequente, que os métodos para fazer isto também têm evoluído mas não tanto assim. Regra geral para se poder fazer um flash a BIOS, é necessário uma disquete de arranque para DOS, o programa para se poder fazer o flash e o novo ficheiro que irá ser escrito no CMOS que pode ter a extensão *.bin ou *.rom.
Um site onde há ficheiros para criar disquetes de arranque e tudo mais é aqui, no bootdisk. Têm por lá diversos ficheiros alguns especiais para fazer flash de BIOS, etc.
1º Terão que fazer uma disquete de arranque DOS. Então para criar a disquete de arranque irão necessitar de uma disquete formatada e em boas condições (sem sectores danificados). Se estiverem a usar o WinXP clicam com o botão direito do rato sobre o ícone da drive de disquetes, "Formatar ou Format" e terão algo com isto:
Escolhem a opção para fazer a disquete de arranque MS-Dos. Depois de feito, terão que copiar para a mesma disquete de arranque, o programa para fazer o flash e o ficheiro de actualização. O programa a usar depende do fabricante de BIOS, mas o fabricante mais frequente é a Award/Phoenix, existindo também a AMI. Quanto ao ficheiro de actualização, como disse, terão que ir buscar o ficheiro apropriado ao site do fabricante da vossa motherboard.
2º Assim que tiverem feito o passo anterior reiniciam o vosso PC e terão que ir a BIOS. No menu ... ou outro semelhante deverá haver alguma opção para alterar qual o dispositivo de arranque (Disco, CD-Rom), que por definição deverá ser o vosso disco onde se inicia o SO. Mudam então para Floppy (Disquete), salvam a nova configuração que depois o computador na próxima ronda irá arrancar pela disquete.
3º Depois de ter arrancado pela disquete devem ter disponível a linha de comandos de DOS aparecendo como A:. Então considerando que o nome do programa para fazer o flash é "Awdflash", escrevem o nome e deverá aparecer isto:
O programa depois pede o nome do ficheiro que irá ser escrito no chip. Se por acaso se esqueceram do nome do ficheiro antes disto convêm anotar o nome do ficheiro ou para facilitar podem renomear o ficheiro para um nome mais fácil. Outra coisa a ter em conta (e isto é uma limitação do DOS) é que se o nome do ficheiro tiver mais do que 8 letras, o nome aparece truncado. Terão que ter a certeza que o nome que estão a escrever no programa de flash é igual ao ficheiro e se quiserem saber como aparece em DOS no caso de ter mais de 8 letras, basta escrever na linha do comandos A:dir que depois verão os ficheiros da disquete entre eles o ficheiro de BIOS.
Depois de terem colocado o nome do ficheiro e o terem confirmado, ele pede para salvar a BIOS actual do sistema. É recomendado que o façam pois nunca se sabe o que pode acontecer se algo correr mal ou se não gostarem de usar o PC com a nova BIOS.
Nesta fase andarão sem pinga de sangue, com arrepios pela espinha acima, a suar, tanto faz. Se por acaso a luz falhar ou fizerem reset ao computador enquanto se faz o flash poderá haver problema da grossa, embora ocorrências como esta são muito pouco prováveis, mas enquanto se processa o flash é normal que se anda com aquele sensação de que tudo pode acontecer!
Se por acaso houve alguma falha de escrita ou actualização durante o flash e o programa indicar algum problema, não reiniciem o computador! Experimentem flashar novamente ou tentem fazer o flash com a BIOS anterior no caso de tiverem salvo antes de fazer o flash. Por isso é que é recomendado salvarem a BIOS anterior. Pessoalmente nunca dei uso à BIOS anterior no caso de ter corrido algo mal mas nisto nunca se sabe.
Outras maneiras
Como disse atrás, as coisas relacionadas com este assunto têm evoluído e de facto também desde há algum tempo que é possível fazer flash pelo próprio Windows usando um programa para isso. Alias até alguns fabricantes de motherboards têm utilitários para fazer a actualização automática da BIOS, fazendo o download da BIOS para a motherboard que a pessoa possui para além de fazer o flash automaticamente. Papinha mais feita do que esta não deve haver, no entanto e pelo que me parece é que há ainda muita gente que opta ainda fazer um flash de BIOS usando uma disquete de arranque DOS com aqueles passos todos que expliquei atrás.
O problema é que por se estar num ambiente Windows há muita coisa a correr neste sistema operativo ao contrário do DOS que corre apenas um programa de cada vez. Pelo facto do Windows correr mais aplicações pode haver o risco desses programas interferirem enquanto o flash se processa e embora esse risco seja muito pequeno convêm fechar todos os programas que estejam a correr em segundo plano antes de fazer o flash. Um programa para fazer update à BIOS pelo Windows é o WinFlash da Award. Claro que se por acaso a motherboard veio com algum utilitário para fazer o flash pelo Windows pode usa-lo, mas o WinFlash é genérico.
A outra maneira para fazer o flash é algo restrita, ou seja, só algumas motherboards suportam embora esteja a ver mais motherboards com opções como esta:
Neste caso na minha motherboard (EPoX 8KRA2+) carregando ALT+F2 ao mesmo tempo durante o POST pode-se fazer o flash automaticamente. Basta ter uma disquete com o novo ficheiro, que depois o programa faz o resto.
Hotflash
Hotflash é daquelas coisas que nem aquece e nem arrefece. Pelo nome fica-se com a ideia que é um flash que consiste que a motherboard esteja ligada enquanto se retira o chip (dai o nome). Isto de retirar um chip enquanto a motherboard está ligada parece uma ideia arriscada, mas quando bem feito, o hotflash pode poupar tempo e dinheiro.
Por vezes acontece que a informação do chip fica corrompida seja por um flash que não tenha corrido bem, seja por outros problemas. É que no momento em que o computador não arranca mais por causa de um mero chip pode causar alguns transtornos como a demora de receber a motherboard a funcionar do RMA, assim como poderemos ter que comprar uma nova motherboard ou suportar os custos e demora de enviar/receber um novo chip de BIOS.
Não se pretende que o hotflash seja o remédio santo para estes problemas já que se puderem usar a garantia usem-na, se não se importarem de esperar por receber uma nova motherboard.
Para fazer um hotflash é necessário duas motherboards em que uma delas está funcional e a outra é a que tem o problema no chip. Como é evidente o tipo de chip terá que ser igual: um chip PLCC não irá encaixar no conector do chip DIP e vice-versa.
Depois precisam de uma ferramenta que têm o nome de IC Extractor Tool e que está na imagem seguinte:
Se não tiverem esta ferramenta não há problema... quer dizer, se usarem um outro instrumento para retirar o chip como uma faca poderão danificar o encaixe/socket do chip e muitos fabricantes de motherboards não aceitam RMAs por causa disto. Com algum jeito é possível fazer na mesma com uma faca, mas o ideal mesmo é usando aquela ferramenta acima que infelizmente é algo difícil de encontrar mas que vale bem a pena se tiverem uma.
Irão necessitar de uma disquete de arranque com o programa de flash e a imagem para a motherboard que não arranca, evidentemente. Também para fazer o hotflash irão necessitar de alguma paciência e sangue frio. :)
1º Terão que ter algum espaço amplo e ter o hardware básico fora da caixa para fazer o trabalho.
2º Retiram o chip danificado da motherboard que não arranca (neste caso é de uma Asus A7N8X-X).
3º Usam o computador funcional, e arrancam o computador com a disquete de arranque em que contêm o programa para se poder fazer o flash e a imagem de BIOS do chip danificado.
4º Agora é que as coisas aquecem. Usam a ferramenta para remover o chip da motherboard funcional com bastante cuidado. Notem que a motherboard têm que estar mesmo ligada para poderem fazer isto e tenham em atenção para não provocarem algum curto-circuito por aí. Se por acaso usarem o IC Extractor não haverá esse risco, agora usando uma faca ou outro objecto que conduza electricidade, podem provocar um curto-circuito, dai se não se sentirem a vontade com isto não façam!
5º Depois de retirado o chip bom, colocam o chip danificado na motherboard em funcionamento. Isto é mais fácil do que retirar um chip da motherboard em funcionamento como é evidente.
E acerca da colocação do chip notem uma coisa muito importante. Nos chips vêm gravado uma marca que serve para orientar para que sentido deve ser instalado o chip, assim como perto do encaixe deverá haver outra marca como uma pequena seta a indicar o sentido de instalação do chip. Como é evidente o chip deve ser instalado na mesma posição em que estava anteriormente. Nos chips PLCC (os chips quadrados), normalmente conseguem-se instalar apenas num só sentido devido à forma do encaixe e é pouco provável que errem nestes. Nos chips DIP (aqueles chips rectangulares), deverão ter mesmo muita atenção à marcação do chip se coincide com a marca na motherboard já que se colocarem o chip em outro sentido e ligarem o PC, digam adeus ao chip. Já aconteceu eu ter colocado um chip DIP ao contrário, e o que acontece é que o chip começa à aquecer imenso mal se liga o computador que é provável que o chip derreta! Bem, ficam avisados!
6º De seguida terão que forçar o flash no chip danificado. Se usarem o awdflash normalmente, e chegarem ao momento em que vão fazer o flash não irá resultar, já que o programa queixa-se que a imagem que está na disquete não é compatível com a da motherboard, mas isso é normal. Para conseguirem fazer o flash terão que forçar o programa para que o sistema aceite aquela imagem.
Então na linha de comandos em vez de escrevem simplesmente awdflash e esperar pelas instruções, terão que escrever o seguinte na linha de comandos para forçar o flash:
E pronto. Agora é normal quando reiniciarem o computador que ele não arranque, caso as motherboards sejam diferentes. Desligam o computador, retiram o chip que provavelmente já estará bom e colocam o chip na motherboard de origem que não arrancava. E se tudo estiver bem já poderá arrancar! Não se esqueçam é de colocar também o chip na outra motherboard funcional!
Tenham em conta que se as motherboards em questão forem iguais não é necessário escrever estes comandos. Basta executar o awdflash como se estivessem à fazer um flash a bios normalmente já que desta vez o programa não se queixará que a imagem de bios é incompatível com a motherboard como acontece caso tenham motherboards distintas. Como é pouco provável que alguém tenha duas motherboards iguais disse logo como fazer o hotflash caso tenham motherboards diferentes o que servirá para a maioria das pessoas.
Pessoalmente já fiz o hotflash duas vezes com motherboards distintas (uma EPoX 8KRA2+ que recuperei de uma EPoX 8K3A+ e uma ASUS A7N8X-X que recuperei com a mesma EPoX 8KRA2+ que foi anteriormente recuperada) e tive sucesso nos dois em motherboards que não arrancavam por causa de bios corrompidas. Fazer isto pela primeira vez é complicado já que fazer algo com o sistema ligado não me soou bem, mas vale bem a pena quando bem feito, tal o tempo e dinheiro que se pode poupar com o hotflash.
Mas como disse usem o hotflash como último recurso considerando o risco que isto representa.
Flash à BIOS em placas gráficas
Fazer flash à BIOS em placas gráficas é semelhante ao que se faz em motherboards. Assim terão que criar uma disquete de arranque, e dentro dessa disquete estará o programa para se fazer o flash e o ficheiro de actualização.
Antes de fazer um flash à uma placa gráfica convém ter à mão uma placa gráfica PCI (ou ISA se tiverem), isto no caso de algo correr mal no flash da placa AGP. Não quer dizer que seja obrigatório... o problema é que se o flash na placa principal correr mal, depois deixam de ver qualquer coisa no ecrã do computador para além de certas motherboards quando há algum problema com a placa gráfica, o computador recusa-se a arrancar, dai ser necessário ter uma outra placa gráfica à mão (PCI ou ISA).
Havendo nesta altura dois principais rivais em placas gráficas que são a Nvidia e a ATI, para se poder fazer flash nestas placas gráficas usassem programa diferentes. No caso da Nvidia é o nvflash e no caso da ATI temos o atiflash ou o flashrom, em que neste último o que aconselho é o flashrom já que pela experiência que tive é mais compatível do que o atiflash.
Como é evidente as imagens de BIOS que irão obter terão que ser compatíveis com a vossa placa gráfica. As vezes até é preciso ter em conta o fabricante das memórias da placa gráfica e ainda bem que isso vêm referido nos ficheiros. Um site onde poderão obter as imagens assim como os utilitários é aqui. Outro site com bastantes imagens de BIOS para placas gráficas é este aqui.
Então, depois de terem arrancado o PC com a disquete de arranque terão que escrever algo como isto:
Neste caso é com uma placa ATI usando o flashrom. Escrevem flashrom -f -p 0 radeon.bin, (o "radeon" é um exemplo de nome para o ficheiro assim como a extensão do ficheiro que pode ser *.rom ou *.bin), confirmam carregando no "Enter" e reiniciam o vosso PC. Normalmente é apenas necessário escrever flashrom -f 0 radeon.bin, já que o comando -p, serve para forçar o flash no caso de haver algum problema como o programa recusar o flash. Caso seja necessário fazer um backup da BIOS original (e convêm obviamente) escrevem flashrom.exe -s 0 backup.rom.
O comando -f é para executar o flash normalmente, enquanto que o 0 é a identificação da placa se fazer o flash. Se tivessem duas placas gráficas e quisessem flashar a placa secundária seria 1 por exemplo. Existem outros comandos no flashrom mas estes que referi são os que importam e caso queiram saber os outros comandos do programa escrevem flashrom -?. No caso de usarem o comando -p e se programa ainda recusar o flash ou ter havido alguma falha pode ser que o ficheiro que estão a usar está danificado assim como pode haver outras razões especificas, mas isto é raro acontecer.
No caso das placas Nvidia, e usando o nvflash que é o mais comum escrevem na linha de comandos, nvflash -f nvidia.rom, isto para proceder ao flash. Notem que "nvidia" é apenas um exemplo e pode ser um nome qualquer para o nome do ficheiro. Caso queiram fazer um backup da BIOS original da placa Nvidia escrevem nvflash -b backup.rom.
Existem alguns utilitários de flashing de placas gráficas para Windows, mas os utilitários que há são específicos para cada fabricante. Pelo meu conhecimento não existe por enquanto um utilitário geral.
Editar BIOS de placas gráficas
Editar BIOS em placas gráficas não têm nada de complicado. Normalmente editam-se bios no caso de se querer alterar as velocidades de relógio que a placa gráfica têm por definição, alterar o sistema de TV (PAL ou NTSC), timings, etc. No caso de se editar bios de placas ATI usa-se o "ATI BIOS Editor", enquanto que no caso de placas Nvidia, o editor mais conhecido é o X-Bios Editor.
Aqui está um exemplo do ATI BIOS Editor:
Claro que se quiserem que a vossa placa por definição, arranque com maior velocidade de relógio convém é que saibam que a placa aguenta com essas velocidades fazendo um overclocking prévio à vossa gráfica para saber até onde vai. Existe um parâmetro no programa que talvez suscite algum interesse que é o "Memory timings". Pelo que li várias vezes alterar para CAS1 não altera a performance, mas já ouvi que até se ganhava overclocking com isto. No meu caso e numa placa R9500 com memórias Hynix 3.6ns para ser sincero não ganhei nada em alterar para CAS1 seja em performance seja em ganhos de overclocking.
Depois de terem feito as alterações guardam o ficheiro e fazem um flash à placa gráfica usando o ficheiro modificado.
Por vezes pode acontecer que o programa que estejam a usar para editar a bios da placa gráfica, queixe-se que o ficheiro que queiram editar não é compatível. Neste caso experimentem outros programas que tenham a mesma função, outras versões, se não pode ser que o ficheiro que queiram editar esteja corrompido.
E pronto. Esta dúvida sobre flash à BIOS pareceu-me ser frequente em forums e decidi escrever este guia. Caso tenham alguma dúvida, sugestão ou flamming podem colocar uma mensagem no nosso forum.