terça-feira, 13 de setembro de 2011

Guia de atualização de BIOS


ATENÇÃO! O leitor fica ciente que este tutorial possui apenas fins educativos, de forma que a utilização das informações aqui contidas é de sua inteira responsabilidade. O autor não poderá ser responsabilizado por quaisquer danos devidos à utilização direta ou indireta do presente texto.

OBSERVAÇÃO: Aos poucos, os fabricantes estão disponibilizando aplicativos que atualizam o BIOS sobre Windows. Esta guia trata apenas do processo com programas que rodam sobre DOS, usando uma mídia adequada de boot. Para informações sobre como usar os programas para Windows, consulte a documentação da sua placa-mãe.

Índice:

1 - RAM e ROM
2 - BIOS, Setup e POST
3 - RTC e NVRAM
4 - Tipos de ROM
5 - Introdução
6 - DOS
7 - Atualizando a partir do pendrive
8 - Atualizando a partir do CD-ROM
9 - Programas de atualização embutidos
10 - Descobrindo o modelo da placa-mãe
11 - Proteção
12 - Atualização
13 - Recuperando BIOS corrompido
14 - Recuperação avançada (hot swap)
15 - Linux
16 - Opções de linha de comando dos programas
17 - Referências


1 - RAM e ROM

Existem basicamente duas classes de memórias usadas nos computadores: RAM (Random Acess Memory) e ROM (Read-Only Memory). A diferença entre ambas é que a RAM precisa ser alimentada para manter os dados nela gravados e estes podem ser alterados, enquanto a ROM é justamente ao contrário, ou seja, não precisa de alimentação para guardar dados bem como não pode ter seus dados alterados. As memórias usadas para armazenar BIOS em placas-mãe são um tipo de ROM que permitem alteração de seu conteúdo.


2 - BIOS, Setup e POST

Toda placa-mãe possui uma memória ROM onde fica gravado a primeira camada de software do computador. Este software chama-se BIOS (Basic Imput/Output System, ou em português, Sistema Básico de Entrada/Saída). Cabe ao BIOS inicializar todos os dispositivos básicos do sistema (processador, chipset, placa de vídeo, unidades de disco) e em seguida entregar o comando ao sistema operacional. Setup é o programa de configuração do BIOS. POST (Power-On Self Test) é um programa de diagnóstico embutido no BIOS, que é executado logo que a máquina é ligada. Serve para checar os principais componentes de hardware, além do próprio código do BIOS, antes de prosseguir com o boot.


3 - RTC e NVRAM

O relógio que configuramos no Setup não é um componente do BIOS. Existe um circuito dedicado só para este fim, chamado RTC (Real Time Clock — Relógio de Tempo Real).

Para armazenar as configurações que fazemos no Setup existe uma pequena memória RAM (tipicamente de 128 ou 256 bytes) chamada NVRAM (Non-Volatile Random Access Memory — Memória Não-Volátil de Acesso Aleatório), também conhecida por "memória CMOS". Como a NVRAM é uma memória RAM, precisa ser energizada para não perder seus dados, o que é feito por uma bateria presente na placa-mãe.

Ambos, o circuito RTC e a NVRAM, nas placas antigas, consistiam em um circuito integrado dedicado. Hoje em dia, fazem parte do chipset, especificamente da ponte sul.


Quando damos um clear CMOS o que o jumper faz é interromper a alimentação da memória NVRAM. Sendo ela uma RAM, ao ter sua alimentação cortada, perde todos os dados armazenados. Assim, ao restabelecermos a alimentação (jumper na posição normal) e ligarmos a placa-mãe, o Setup (programa de configuração do BIOS) irá perceber que não existe configuração nenhuma salva na memória e emitirá um aviso de "Checksum Bad", avisando que a soma de verificação dos dados anteriormente gravados não correspondem aos atuais (já que a memória está vazia agora). Podemos usar a opção para carregar as configurações padrão e então reconfigurar o que for necessário no Setup.

O termo "memória CMOS" vem de Complementary Metal Oxide Semiconductor (Semicondutor de Óxido Metálico Complementar), que é a tecnologia usada para fabricar a NVRAM. É uma mera convenção, usada até hoje, que surgiu quando circuitos integrados fabricados com a técnica CMOS eram raros (e caros).

Informações DMI (Desktop Management Interface) — que identificam o fabricante, o modelo, etc. — e a organização dos dispositivos Plug & Play (ESCD — Extended System Configuration Data) são armazenadas no próprio chip flash ROM, em dois blocos chamados DMI Block e ESCD Block, respectivamente.


4 - Tipos de ROM

PROM (Programable ROM): É vendida em branco a empresa que pretende utiliza-la. Aceita uma gravação apenas; portanto, depois de progamada, não há como alterar seu conteúdo. Chamada também de OTP (One Time Programmable) ROM.

EPROM (Erasable Programable ROM): Ao contrário da PROM, a EPROM pode ser apagada jogando-se luz ultra violeta numa pequena janela transparente localizada em sua superfície, assim o circuito pode ser regravado através de equipamento especial.

EEPROM ou E2PROM (Electric Erasable Programable ROM): Difere da EPROM pelo fato de poder ser apagada eletricamente, por isso pode ser regravada sem o uso de equipamento especial.

Flash ROM: tipo de EEPROM cuja granularidade do apagamento é menor. Este tipo de circuito é o mais usado em placas-mãe para armazenamento do BIOS. Chamadas de "Parallel Flash ROM", são comuns tanto no formato DIP-32 quanto PLCC-32. Hoje, entretanto, são mais comuns tipos de Flash ROMs que usam barramentos seriais.
Flash ROM LPC → As memórias Flash ROMs usavam originalmente um barramento paralelo (tipicamente 8 bits) para comunicar-se com o sistema usando o barramento ISA. Em 1997, a Intel criou o barramento LPC (Low Pin Count), um barramento serial de dados, para substituir o ISA na comunicação de todos os componentes "lentos" de entrada/saída, como o BIOS e dispositivos acessados atraves de um chip Super I/O (drive de disquete, portas PS/2, paralela, serial, etc). Sua vantagem é usar menos linhas de dados e possuir melhor velocidade, o que facilita o projeto para os fabricantes, além de abandonar o arcaico ISA. A maioria dos chips Flash ROM LPC usa o formato PLCC-32.

Flash ROM FWH → FWH (Firmware Hub) é uma modificação na interface do barramento LPC, que mantém compatibilidade com a interface original. Ao contrário do barramento LPC, que é uma especificação aberta livre de royalties, a interface FWH é uma tecnologia proprietária da Intel. Por isso, apenas algumas placas com chipsets Intel usam chips Flash ROM FWH.

Flash ROM SPI → Mais recentemente, mais uma mudança no barramento usado para acessar a Flash ROM onde o BIOS é armazenado. Muitas placas de 2006~2007 para frente estão usando Flash ROMs que usam o barramento SPI (Serial Peripheral Interface), também serial. A diferença é que os chips SPI são menores, usando geralmente o formato DIP-8.

Encapsulamentos mais usados

Da esquerda para direita: DIP-32, PLCC-32, DIP-8

5 - Introdução

Uma atualização de BIOS tem por finalidade basicamente duas coisas: adicionar suporte a novos dispositivos, tendo os maiores exemplos o suporte a novos processadores e o suporte a HDs de maior capacidade, e corrigir incompatibilidades, tanto com hardware quanto com software. Como algum bug que torna o sistema instável com determinado modelo de placa de vídeo, ou que faça determinado Windows/Linux funcionar de forma errônea. Paralelamente, podem haver algumas outras mudanças, como adição de opções ao Setup.

A atualização é feita por um programa especial chamado utilitário ou programa de gravação. Cada desenvolvedor de BIOS disponibiliza seu próprio programa para atualização: AwardBIOS Flash Utility, para Award; AMI Firmware Update Utility, para AMI; Phoenix Flash Utility, para Phoenix.

Para atualizar o BIOS, primeiramente seus endereços são apagados para depois serem programados com a nova versão. Então se acontecer qualquer problema durante a atualização, como uma queda de energia ou qualquer erro, e esta não for terminada corretamente, você ficará um BIOS incompleto, o que significa que provavelmente a máquina não irá mais dar boot depois que reiniciar. A mesma coisa vale para o caso de uma atualização com o arquivo errado, feito para outro modelo de placa-mãe. Assim, na ocasião de qualquer erro de gravação, não reinicie nem desligue o computador: tente novamente e, se persistir o problema, experimente outras versões do programa de atualização. Fica evidente que é recomendável atualizar o BIOS apenas se realmente for necessário. Se o seu PC estiver funcionando bem e a nova versão não trazer mudanças significativas, evite riscos atualizando sem motivo.

É importante frisar que, mesmo no caso de uma atualização mal sucedida, sua placa-mãe não estará estragada. Na pior das hipóteses, se os métodos de recuperação mencionados mais adiante não resolverem, você terá que retirar o chip que armazena o BIOS e levar a alguém que tenha um gravador de EEPROM fazer o serviço, regravando o chip com a versão que você pedir, ou então simplesmente comprar um novo chip igual (ou compatível) com o devido BIOS já gravado. Para placas que usam chips soldados (PLCC-32 e, recentemente, SOIC-8), é necessário serviço especializado em retrabalho em componentes SMD (Surface Mounted Device — Componentes de Montagem de Superfície). É um serviço mais caro, devido à maior mão de obra, haja vista que é preciso dessoldar o chip, regravá-lo e depois soldá-lo novamente.


6 - DOS

Os programas de gravação devem ser executados sobre um sistema DOS "puro", ou seja, sem nenhum driver de dispositivo bem como gerenciadores de memória (EMM386, HIMEM) carregados. Isso é fundamental antes de tudo. O DOS mais comum é o MS-DOS da Microsoft, principalmente a versão 7.10 (embutida no Windows 95/98) e o MS-DOS 8.00 (usado pelo Windows Millennium e XP ao criar um disquete do boot). Este último não é recomendado, pois possui o gerenciador de memória estendida (HIMEM) embutido no kernel. Além do MS-DOS, existem outros sistemas DOS compatíveis, porém o que nos interessa aqui é o FreeDOS (versão 1.0). Para o propósito de um boot mínimo, apenas o kernel (KERNEL.SYS) e o interpretador de comandos (COMMAND.COM) são usados.

NOTA: Por não usar os arquivos CONFIG.SYS/AUTOEXEC.BAT, ao ser carregado, o FreeDOS aqui disponibilizado apresenta duas linhas para alterar a data e a hora do sistema. Ignore as duas pressionando <Enter> em cada uma delas.


7 - Atualizando a partir do pendrive

Para este método funcionar, a placa-mãe precisa ter um BIOS que suporte boot através da opção USB-HDD. Placas com suporte geralmente possuem um menu de boot, que é acessado pressionando durante o boot a tecla ESC/F8/F11/F12 dependendo da placa (preste atenção que a tecla correta costuma ser mostrada durante o boot). Basta deixar o pendrive plugado, ligar o PC e entrar no menu de boot. Ali o pendrive estará listado como um disco rígido.

NOTA: Caso você não consiga dar boot pelo pendrive e o BIOS for AMI, confira se a opção "USB Function For DOS" está habilitada (Enabled).

ESC to enter Boot Menu


Menu de boot


Boot terminado


A maioria dos pendrives sai de fábrica formatada em FAT ou FAT32. Até aí nenhum problema. O que ocorre é que o particionamento feito pelo fabricante geralmente costuma não possuir um MBR (Master Boot Record) nem o código necessário no setor de boot da partição (FAT Boot Sector), que permitem que seja possível dar boot pela mídia.

A HP possui um excelente programinha de menos de 100 KiB que particiona e formata qualquer dispositivo USB Mass Storage (não só pendrives, mas discos rígidos externos também), adicionando um MBR adequado e uma partição FAT ou FAT32 (ou NTFS, que não serve neste caso, pois não é suportado pelo DOS) com um setor de boot funcional na partição. Tudo numa interface simples.

Para criar o pendrive de boot, baixe:

- hp_format_tool_2.2.3.zip - HP USB Disk Storage Format Tool 2.2.3
- fdos_files.zip - KERNEL.SYS e COMMAND.COM (FreeDOS 1.0)

Descompacte o programa da HP. Depois descompacte os arquivos do FreeDOS para outra pasta qualquer.

Rode o executável HPUSBFW (a partir do Vista: botão direito, "Executar como Administrador").


"Device" → confira se o pendrive selecionado é o correto
"File system" → selecione FAT ou FAT32; para pendrives maiores que 2GB, selecione FAT32
"Volume label" → nome do volume (partição), pode ficar em branco

Marque as caixas:
"Quick Format" → faz uma formatação rápida; pendrives em boas condições não precisam de formtação lenta
"Create a DOS startup disk using system files located at:" → e aponte para a pasta com os arquivos do FreeDOS anteriormente descompactados

Clique em "Start", confirme e aguarde.

Está terminado. Agora você só precisa copiar para o pendrive os arquivos necessários para a atualização e dar boot com ele. Lembrando que ao dar boot, serão apresentadas duas linhas para configuração de date e hora; simplesmente tecle <Enter> nas duas para ignora-las cair no prompt.

NOTA: Caso você tenha problemas ao dar boot com o FreeDOS (principalmente ao usar FAT32), use o MS-DOS 7.10: msdos_files.zip


8 - Atualizando a partir do CD-ROM

Os programas de gravação de CD possuem opção para criar um CD de boot a partir de uma imagem de disquete. Para isso, pegamos uma imagem do FreeDOS, adicionamos a ela os arquivos necessários para a atualização e depois gravamos. Veja que não é possível criar o CD com emulação de boot e adicionar os arquivos para atualização diretamente no disco (fora da imagem), pois o FreeDOS que estamos usando é mínimo e não possui driver para CD-ROM, o que impede a leitura dos arquivos, a menos que estejam dentro da imagem que será emulada.

Para começar, baixe a imagem de disquete contendo o FreeDOS (fdos_img.zip). Depois de descompactado, apesar do tamanho de exatos 1,40 MiB, o espaço usado na imagem é de apenas 110 KiB, sobrando espaço suficiente para adicionarmos os arquivos necessários para a atualização.

Para editar a imagem do FreeDOS no Windows será usado o WinImage. Com ele, abra o arquivo da imagem:


Agora adicione os arquivos necessários, através do menu "Image → Inject...".

No meu exemplo, 765F1P09.BIN e AFU892.EXE, baixados do site da Foxconn para o modelo 45CMX.


Salve a imagem (File → Save) e feche o WinImage. Agora a imagem está pronta para ser gravada no CD.

Um bom programa para criar o CD é o CDBurnerXP. Para usá-lo, é necessário ter o .NET Framework 2.0 ou superior. Você pode usar o Nero, Easy Media Creator ou outro programa de gravação de sua preferência, procurando em cada um deles a opção para criar um CD de boot usando emulação de disquete 1.44MB.

Na primeira tela, selecione "Disco de Dados".


Na compilação recém criada, vá em "Disco → Opções de Boot...".

Aponte o caminho para a imagem do FreeDOS e configure as opções assim:


Aparecerá esta tela perguntando se deseja alterar o tipo de sistema. Responda sim.


Não adicione nenhum arquivo na compilação. Vá ao menu "Disco → Gravar disco...", depois mande finalizar:

Feito, o CD está pronto para ser usado.

Ao dar boot, depois de pressionar <Enter> para ignorar a configuração de data e hora, você cairá no prompt:


A partir daqui, o procedimento é o mesmo quando usamos disquete, com exceção que não será possível fazer backup.

NOTA: Caso você tenha problemas ao dar boot com o FreeDOS, use o MS-DOS 7.10: msdos_img.zip


9 - Programas de atualização embutidos

O processo de funcionamento consiste em carregar o programa usando uma combinação de teclas durante o POST ou a partir do Setup. Antigamente, eles buscavam os arquivos apenas no drive de disquete. Contudo, em placas recentes, são capazes de carregar o arquivo com o BIOS de qualquer dispositivo USB Mass Storage, como pendrives.

Se sua placa possuir este recurso, é o método recomendado, pois você não precisa se preocupar com mídia de boot.

Em todos eles, você precisa baixar o arquivo com o BIOS a ser atualizado, descompacta-lo se necessário e copia-lo para um pendrive formatado em FAT ou FAT32 com uma única partição. Deixe o pendrive plugado e reinicie o PC. A seguir, procedimentos de acordo com o programa.


9.1 - Gigabyte Q-Flash


NOTA: A versão 1.x do Q-Flash suporta apenas drive de disquete. Já a versão 2.x suporta dispositivos USB Mass Storage, como pendrives.

Durante o POST, pressione <End>. Ou, dentro do Setup, pressione <F8>.

No menu do Q-Flash, selecione "Update BIOS from Drive" e pressione <Enter>. Nessa tela aparecerá listado o pendrive (aparece como "HDD <número>"), selecione-o e pressione <Enter>. Selecione o arquivo com o BIOS e pressione <Enter>. Quando aparecer "Are you sure to update BIOS?", pressione <Enter> e espere.

A mesagem "!! Copy BIOS completed - Pass !!" indicará que a atualização ocorreu com êxito. Pressione qualquer tecla para voltar ao menu principal e, por fim, <Esc> e depois <Enter> para sair do Q-Flash e reiniciar o PC.

Para fazer backup do BIOS atual, selecione "Save BIOS to Drive" no menu principal.


9.2 - Asus EZ Flash 2


Durante o POST, pressione <Alt> + <F2>. Ou acesse o Setup, vá à guia "Tools", selecione "ASUS EZ Flash 2" e pressione <Enter>.

Para navegar na interface use as setas e a tecla <Tab>. Selecione o pendrive na coluna da esquerda ("PATH"). Selecione o arquivo com o BIOS e pressione <Enter>. Será perguntado "Are you sure to update BIOS?", selecione "Yes" e pressione <Enter>.

Para fazer backup do BIOS atual tecle <B>.


9.3 - MSI M-Flash


A teclas usadas são as para navegar no Setup: setas para navegar, <Enter> para selecionar, <Esc> para voltar/abortar.

No Setup, vá ao menu "M-Flash". Na opção "M-Flash function as" selecione "BIOS Update". Agora, aparecerá abaixo a opção "Load BIOS source file from"; nela, selecione o pendrive. Depois selecione o arquivo correto. Finalmente, confirme com a opção "I want flash BIOS.". Quando a atualização terminar, o PC será reiniciado automaticamente.

Para fazer backup do BIOS atual: no menu "M-Flash", verifique se o pendrive está selecionado na opção "Save File to Selected Device". Vá em "Start to save file" e pressione <Enter>. Quando o backup for finalizado, será exibida a mensagem "!!! ROM image has been saved to media successfully !!!".


9.4 - Biostar BIO-Flasher


Durante o POST, tecle <F12>. Selecione o pendrive na tele seguinte e pressione <Enter>. Na tela do programa, aparecerá listado o arquivo de atualização na coluna "File". Selecione-o usando as setas (caso exista mais de um) e tecle <Enter>. Quanto pedir confirmação, pressione <Y> para atualizar.


10 - Descobrindo o modelo da placa-mãe

Primeiramente, se possível, faça uma inspeção visual na placa. É a melhor forma de identificá-la, incluindo eventuais revisões de hardware.

Alguns programas podem ajudar:

- AIDA64
- CPU-Z

Fora os programas, procure na tela do POST (aperte "Pause/Break" para facilitar) na última linha algo como o destacado na figura abaixo:


Anote esta linha e pesquise-a no site de busca de sua preferência.


11 - Proteção

Algumas (poucas) placas têm um mecanismo de proteção que impede que o chip Flash ROM seja regravado. Esta proteção pode ser habilitada ou desabilitada através de um jumper, ou então através de uma opção no Setup.

Quando é uma opção no Setup, a configuração correta para ser possível atualizar o BIOS depende da opção usada pelo fabricante. Se for algo como "BIOS Update", deverá ser configurado como "Enabled" (habilitado). Já se for algo como "Flash BIOS Protection", então deve ficar "Disabled" (desabilitado).

Asus P4S533-X
BIOS Update → Enabled

Nas placas que usam jumper para isso a ideia é a mesma. Consulte o manual para ter informação precisa.

Se você não configurar corretamente, verá uma tela como esta ao tentar atualizar:

Flash ROM is Write-Protected


12 - Atualização

De posse do modelo da placa-mãe, agora você precisará procurar por uma atualização, o que deve ser feito visitando o site do fabricante. Para placas muito antigas, talvez você tenha que catar no Google e baixar de algum site alternativo.

Procure sempre usar o programa de gravação na versão recomendada pelo fabricante, geralmente disponível para download junto com o BIOS. O arquivo contendo o BIOS a ser atualizado possui extensões variadas, pode ser .rom, .bin, .awd, .bio. De fato a extensão não quer dizer nada.

backup.xxx: arquivo que armazenará uma cópia do BIOS atual
bios.xxx: arquivo com o BIOS a ser atualizado
(adapte os nomes)

Para saber qual programa você tem em mãos, execute o seguinte comando no DOS, substituindo <programa> pelo nome do arquivo do programa de atualização.

<programa> /?


AwardBIOS Flash Utility

Backup:
awdflash - backup.bin /pn /sy

Atualização:
awdflash bios.bin /py /sn /cc


ASUS ACPI BIOS FLASH MEMORY WRITER

Backup:
-

Atualização:
aflash /auto bios.bin


ASUSTeK BIOS Updater for DOS

Backup:
bupdater /oBACKUP.ROM

Atualização:
bupdater /iBIOS.ROM /pc


GIGABYTE SPI Flash BIOS Update Utility

Backup:
flashspi /s

Atualização:
flashspi bios.bin /c /e


AMI Flash EPROM Programming Utility, Flash Utility Ver.895

Backup:
amiflash /sBACKUP.ROM

Atualização:
amiflash bios.rom /a /e


AMI Firmware Update Utility

Backup:
afudos /oBACKUP.ROM

Atualização:
afudos /iBIOS.ROM


AMI Firmware Update Utility 4.xx

Backup:
afudos backup.rom /o

Atualização:
afudos bios.rom /p /c


Phoenix Phlash16 Utility

Backup:
phlash16 /ro=backup.rom bios.rom

Atualização:
phlash16 /c bios.rom


IFLASH2

Backup:
-

Atualização:
iflash2 /pcf bios.bio


13 - Recuperando BIOS corrompido

O BIOS divide-se geralmente em quatro partes. A primeira é o Boot Block, uma pequena área que contém rotinas necessárias para inicializar apenas os componentes mais críticos da placa-mãe, como processador, memória, algumas placas de vídeo ISA, além do drive de disquete. O Boot Block é protegido contra gravação ao serem usados os programas da AMI e Award. Para forçar a atualização do Boot Block com eles é preciso uma chave especial via linha de comando (ver próximo capítulo).

Depois temos o DMI Block e o ESCD Block, que armazenam dados DMI e ESCD.

Por fim, o System Block (ou Main Block), que contém o resto do código responsável por inicializar todos os outros subsistemas, como placa de vídeo, dispositivos de entrada e armazenamento, etc.

No caso de uma atualização mal sucedida, se o Boot Block estiver preservado, a placa ainda conseguirá inicializar. O procedimento de recuperação é diferente para BIOS AMI e Award.


AMI

A placa-mãe não dará vídeo, apenas lerá o drive de disquete logo após ser ligada (se não o fizer, tente Ctrl+Home para forçar o processo). Formate um disquete e copie para dentro dele o arquivo com o BIOS que você quer gravar, renomeando-o para AMIBOOT.ROM. Esse é o nome de referência do código da AMI, que os fabricantes podem alterar. Modelos da Asus, por exemplo, geralmente usam um nome igual (ou truncado para entrar no limite 8.3 do DOS) ao modelo da placa. Dê uma olhada no manual para confirmar.

Placas atuais também podem buscar o arquivo em CDs (prefira gravar usando ISO9660 Level 1 sem Joliet e Rock Ridge) ou mesmo dispositivos USB (FAT, FAT32). Dependerá do que o fabricante tiver habilitado do código da AMI ao customizar o BIOS para seu modelo.

Reinicie o PC com o disquete/CD/pendrive e aguarde. Depois de alguns minutos serão emitidos quatro bips e logo depois o sistema será reiniciado. Se tudo ocorrer conforme o esperado, o BIOS estará recuperado.

Award

Ao ligar a placa, será exibida a seguinte mensagem:

Award BootBlock BIOS v1.0
Copyright © 2000, Award Software, Inc.

BIOS ROM checksum error

Detecting floppy drive A media...

É necessário criar um disquete de boot DOS (Windows: FreeDOS, MS-DOS; Linux: ver capítulo 15), porém o processo deverá ser automatizado, pois com o Boot Block dificilmente temos dispositivos de entrada ativos, como o teclado.

Para automatizar o disquete, depois de copiar o programa de gravação e o arquivo com o BIOS, crie um arquivo de texto chamado AUTOEXEC.BAT com o seguinte conteúdo e copie-o para dentro do disquete.

awdflash bios.bin /py /sn /cc /r

Onde:

awdflash       Programa de gravação
bios.bin       Arquivo com o BIOS a ser gravado
     /py       Confirma automaticamente a atualização
     /sn       Ignora etapa que faz backup do BIOS atual
     /cc       Executa um clear CMOS após a atualização
     /r        Reinicia ao final do processo

Os nomes dos arquivos, awdflash.exe e bios.bin, não precisam ser necessariamente esses. Trata-se de um exemplo. Você pode usar os nomes dados pelo fabricante da placa ou renomear para o que achar mais conveniente, lembrando do formato 8.3 (limite DOS): máximo de 8 caracteres para nome e 3 para extensão. Arquivos executáveis (.exe) não precisam ter a extensão especificada ao serem chamados.


14 - Recuperação avançada (hot swap)

Tendo uma placa cobaia que use o mesmo tipo de soquete para o chip flash e que os mesmos sejam compatíveis eletricamente e logicamente (tensão e protocolo usado), hot swap pode ser uma opção. Você dá boot com o chip original da placa cobaia e cai no prompt do DOS. Com a placa ligada, retira com cuidado o chip original e coloca no lugar o chip a ser reprogramado. Então, roda o programa de atualização.

Os softwares oficiais têm proteções que costumam abortar quando o BIOS presente no chip não confere com o modelo da placa. Aqui vão as opções que você deve levar em conta ao fazer atualização via hot swap com eles:

AwardBIOS Flash Utility
/wb - Write Boot Block
/qi - Qualify Image
/nbl - No BIOS-Lock
awdflash bios.bin /wb /qi /nbl

AMI Flash EPROM Programming Utility
/a - Auto detecting&Programming flash ROM
/b - To force Boot Block Programming
/i - Identification BIOS file is right for this system or not.
amiflash bios.rom /a /b /-i

AMI Firmware Update Utility
/n - Don't Check ROM ID
/pb - Program Boot Block
afudos /iBIOS.ROM /n /pb

AMI Firmware Update Utility 4.xx
/p - Program main BIOS image
/b - Program Boot Block
/x - Don't Check ROM ID
afudos bios.rom /p /b /x

O Uniflash já foi um programa útil para isso, mas não é mais desenvolvido e está muito desatualizado. Não funciona com mais nada usado hoje em dia.


15 - Linux

Atualizando a partir do pendrive

Identifique o nome do pendrive com o comando:

# parted -l

Usarei no exemplo /dev/sdc — ATENÇÃO! APAGARÁ TUDO QUE ESTIVER NO DISPOSITIVO!

# parted -a cylinder -s /dev/sdc -- mklabel msdos mkpart primary fat32 0% 100% set 1 boot on
# mkdosfs -v -F 32 /dev/sdc1

Baixe o GRUB4DOS. Entre na pasta grub4dos-0.4.5c descompactada e instale-o no MBR do pendrive para torna-lo booteável:

# ./bootlace.com --no-backup-mbr --mbr-disable-floppy --time-out=0 /dev/sdc

Pode ser necessário dar permissão de execução ao binário: chmod +x bootlace.com

Copie o arquivo grub4dos-0.4.5c/grldr para a raiz do pendrive. Crie um arquivo de texto com o nome menu.lst com o conteúdo a seguir e salve-o na raiz do pendrive. Por fim, descompacte o arquivo fdos_files.zip também na raiz do pendrive e está pronto.

menu.lst

default 0
timeout 0

title FreeDOS
find --set-root /kernel.sys
chainloader /kernel.sys


Atualizando a partir do CD-ROM

Baixe a imagem do FreeDOS (fdos_img.zip) e descompacte em uma pasta qualquer.

Para editar a imagem é necessário que estejam carregados os módulos vfat e loop, que adicionam suporte ao sistema FAT e loopback device (usado para montar uma imagem):

# modprobe vfat
# modprobe loop

Crie uma pasta temporária no diretório /mnt para a imagem ser montada:

# mkdir /mnt/temp

Agora, na pasta onde você salvou a imagem, monte-a:

# mount -t vfat -o loop fdos.img /mnt/temp

O ponto de montagem /mnt/temp passa a ser a imagem do FreeDOS, para onde você deve copiar os arquivos relativos à sua placa-mãe. Por exemplo:

# cd /home/usuario
# cp 765F1P09.BIN AFU892.EXE /mnt/temp

Agora desmonte a imagem:

# umount /mnt/temp

Volte a pasta onde está a imagem e, por fim, crie o arquivo ISO:

$ genisoimage -b fdos.img -o bootcd.iso fdos.img

Grave o arquivo bootcd.iso com o seu aplicativo favorito.


Descobrindo o modelo da placa-mãe

Use o lshw, disponível em várias distribuições.

# lshw

Na saída do comando, olhe em *-firmware

Outra alternativa é o dmidecode:

# dmidecode -t system
# dmidecode -t baseboard


Atualizando a partir do disquete

Primeiro zere o disquete com o comando:

$ fdformat /dev/fd0

Em seguida grave o conteúdo da imagem do FreeDOS (fdos_img.zip):

$ dd if=fdos.img of=/dev/fd0


flashrom

Aos poucos o flashrom, programa de atualização universal, está amadurecendo. É um programa desenvolvido primariamenete para sistemas Unix-like, como Linux, BSDs, Mac OS X, mas que tem ports para DOS e Windows (o último ainda incompleto).

Algumas distribuições Linux possuem pacote dele em seus repositórios. Para obter o mais recente suporte a hardware, entretanto, é melhor compilar no braço a versão de desenvolvimento. São necessárias, além das ferramentas básicas de desenvolvimento (gcc, make) e do Subversion, o pacote de desenvolvimento do pciutils.

Debian e derivados:

# apt-get install build-essential libpci-dev subversion

Fedora e derivados:

# yum install gcc make pciutils-devel subversion

Então, compile:

$ svn co svn://coreboot.org/flashrom/trunk flashrom
$ cd flashrom
$ make

O binário pode ser chamado direto da pasta, com ./flashrom

Se quiser instalar (em /usr/local):

# make install

Antes de continuar, confira se você tem o pacote dmidecode instalado, pois o flashrom precisa dele.

Ajuda/man:

$ flashrom -h
$ man flashrom

Consultar o chipset/chip flash, sem realizar nenhum procedimento:
(aparecerão listados se forem suportados)

# flashrom -p internal

Salva o conteúdo do chip flash no arquivo bios.rom no diretório atual:

# flashrom -p internal -r bios.rom

Apaga o chip flash:
(use com cuidado!)

# flashrom -p internal -E

Grava e verifica o arquivo bios.rom no chip flash:
(use com cuidado!)

# flashrom -p internal -w bios.rom

Em cada comando é possível adicionar a opção -V para ativar o modo verbose, ficando, -V, -Vr, -VE e -Vw, respectivamente.

Placas de rede 3Com podem ser usadas como gravadores caseiros para chips de memória flash paralelos de até 128KiB (1Mbit), que usem o encapsulamento DIP-32. Chips com esse protocolo, capacidade e encapsulamento não são usados mais em placas-mãe para armazenar BIOS desde o tempo dos Pentium II, mas não deixa de ser interessante. Tendo uma placa da 3Com compatível, basta alterar a opção -p com o programador adequado (no caso, nic3com), que o programa passa a trabalhar com a flash ROM espetada na placa de rede ao invés do BIOS da placa-mãe. Testei com dois chips diferentes e realmente funciona. Os modelos suportados são as 3C90xB, 3C905C e 3C980C.

Além da 3Com, chips Realtek RTL8139 também são, em teoria, suportados, junto com dois modelos de chips de rede da National Semiconductor e três da Intel. É também possível programar chips em outros controladores, como placas RAID da Highpoint, Silicon Image. Olhe a man page para informações.

Uma velha 3Com 3C905B-TXNM

Pelo menos serve para gravar ROM de boot com o gPXE para brincar. Instruções: http://www.etherboot.org/wiki/romburning/3com


16 - Opções de linha de comando dos programas

AWDFLASH v8.92 (03/26) (C)Phoenix Technologies Ltd. 2008 All Rights Reserved

 Usage:  AWDFLASH [FileName1] [FileName2] [/<sw>[/<sw>...]]
      FileName1 : New BIOS Name For Flash Programming
      FileName2 : BIOS File For Backing-up the Original BIOS
  <Swtches>    ?: Show Help Messages
   py: Program Flash Memory               pn: No Flash Programming
   sy: Backup Original BIOS To Disk File  sn: No Original BIOS Backup
   Sb: Skip BootBlock programming         Wb: Always Programming BootBlock
   cd: Clear DMI Data After Programming   cc: Clear CMOS Data After Programming
   cp: Clear PnP(ESCD) Data After Programming
   LD: Destroy CMOS Checksum And No System Halt For First Reboot
       After Programming
   QI: Qualify flash part number with source file
    E: Return to DOS After Programming     R: RESET System After Programming
  cks: Show update Binfile checksum  cksXXXX: Compare Binfile CheckSum with XXXX
 vgaXX: Change to VGA mode XX(Hex value). ch: Update HOLE.
    Hx: Only update the specified Hole(0~7). custid:xxxxxxxx
 NVMAC:XXXXXXXXXXXX                   NVGUID:XXXXXXXXXXXXXX
       Support nForce Input MAC,GUID Function,with "/wb" to update MAC and GUID.
 MacAdd0~7:XXXXXXXXXXXX    Common input MAC address support.
 Example: AWDFLASH 6A69R000.bin /py/sn/nvmac:xxxxxxxxxxxx/wb


ASUS ACPI BIOS
FLASH MEMORY WRITER V2.21
Copyright (C) 1994-2002, ASUSTeK COMPUTER INC.

USAGE: AFLASH [Options] [ROMFile]
 /AUTO ROMFile Automated update BIOS without Boot Block and ESCD
 /BOOT  Update BIOS including Boot Block and ESCD


ASUSTeK BIOS Updater for DOS V1.30 [2011/12/22]
Copyright (c) 2009-2011 ASUSTeK Computer Inc. All rights reserved.

 Usage: bupdater /i<ROM filename> [/o<backup filename>] [/pc] [/g]


GIGABYTE SPI Flash BIOS Update Utility v1.32

<Options> :
  /C - Clear DMI Data after BIOS Update
  /D - Load CMOS Defaults after BIOS Update
  /E - Clear CMOS after BIOS Update
  /R - Reboot System after BIOS Update
  /S - Save Original BIOS Image to Disk


                      Flash EPROM Programming Utility
Copyright (C)2000 American Megatrends Inc. All Rights Reserved.  Ver.8.27.00P
-------------------------------------------------------------------------------
Usage: AMIFLASH ROM_FILE /<COMMAND1> /<COMMAND2> .....
Sample: AMIFLASH AMIBIOS.ROM /A      -> Auto Detecting&Programming flash ROM
-------------------------------------------------------------------------------
<Command>  ?|H : Help
             A : Auto detecting&Programming flash ROM.
             B : To force Boot Block Programming.
             C : Load BIOS CMOS default values without warning the user about
                 any configuration change.
             D : Clear passwords during loading CMOS defaults.
             E : Clear CMOS after programming done.
             G : GPNV data area reserving.
             I : Identification BIOS file is right for this system or not.
             N : To force NVRAM programming.
             O : Flash functions call from BIOS file.
             P : To make [Security] item visible.
             R : Force reboot after programming done.
  S[File_name] : To save Flash ROM data into file AND quit.
T[RetryNumber] : Retry if programming fails. The [RetryNumber] can be 0 - 65535
                 . This function is only for command line mode.
  U[File_name] : To update utility's modules data.
             V : Verify BIOS checksum.
             X : Enter utility's user interface without system checking.
    -<Options> : Disable flags
                 <Options>:[b]/[C]/[D]/[E]/[G]/[i]/[N]/[O]/[R]/[V]
-------------------------------------------------------------------------------


+------------------------------------------------------------------------+
| Flash Utility Ver.895                                                  |
| (C)Copyright 1985-2004, American Megatrends Inc. All Rights Reserved.  |
+------------------------------------------------------------------------+
Usage: Flash895 ROM_FILE /<COMMAND1> /<COMMAND2>... 
A: Command Line Mode
B: Flash Boot Block
D: Load CMOS Defaults
E: Clear CMOS After Flashing
G: Keep DMI Data
R: Reboot After Flashing
S<File_name>: Save Flash ROM Data To File
  -<Options>: Disable Flag. e.g. -A: Enable Window Mode, -G: Don't Keep DMI


AMI Firmware Update Utility - Version 1.33
Copyright (C)2004 American Megatrends, Inc.  All rights reserved.

 Usage: afudos /i<ROM filename> [/o<save ROM filename>] [/n] [/p[b][n][c]] [/s]
[/k[N]] [/c[N]] [/q] [/h] [/t] [/u<ROM filename>] [/d]

        /n    - Don't check ROM ID
        /pbnc -
                b - Program Boot Block
                n - Program NVRAM
                c - Destroy System CMOS
        /k    - Program all non-critical blocks only
        /kN   - Program N'th non-critical block only (from k0 upto k7)
        /s    - Leave signature in BIOS
        /q    - Silent execution
        /h    - Print help
        /t    - Display ROM ID string
        /c    - Program Main BIOS and all Non-critical blocks
        /cN   - Program Main BIOS and N'th Non-critical block (from c0 upto c7)
        /d    - Compare ROM file (skips flashing)
        /u<ROM filename>   -Display ROM ID


 +---------------------------------------------------------------------------+ 
 |                     AMI Firmware Update Utility  v4.40                    | 
 |      Copyright (C)2011 American Megatrends Inc. All Rights Reserved.      | 
 +---------------------------------------------------------------------------+ 
 +---------------------------------------------------------------------------+ 
 | Usage: AFUDOS <ROM File Name> [Option 1] [Option 2]...                    | 
 |           or                                                              | 
 |        AFUDOS <Input or Output File Name> <Command>                       | 
 |           or                                                              | 
 |        AFUDOS <Command>                                                   | 
 | ------------------------------------------------------------------------- | 
 | Commands:                                                                 | 
 |         /O - Save current BIOS into file                                  | 
 |         /C - Refer to Options: /C                                         | 
 |         /U - Display ROM file's ROMID                                     | 
 |         /S - Refer to Options: /S                                         | 
 |        /Ln - Refer to Options: /Ln                                        | 
 |         /M - Refer to Options: /M                                         | 
 |       /MAI - Display System ROM and ROM file's MA information             | 
 |     /HOLE: - Update specific ROM Hole according to given name.            | 
 |              NewRomHole1.BIN /HOLE:RomH1                                  | 
 |  /HOLEOUT: - Save specific ROM Hole according to given name.              | 
 |              NewRomHole1.BIN /HOLEOUT:RomH1                               | 
 |      /NCB: - Update specific Non-Critical Block according to given name.  | 
 |              NewNcb1.BIN /NCB:Ncb1                                        | 
 |   /NCBOUT: - Save specific Non-Critical Block according to given name.    | 
 |              NewNcb1.BIN /NCBOUT:Ncb1                                     | 
 |         /D - Verification test of given ROM File without flashing BIOS.   | 
 | /CLNEVNLOG - Refer to Options: /CLNEVNLOG                                 | 
 | Options:                                                                  | 
 |         /P - Program main BIOS image                                      | 
 |         /B - Program Boot Block                                           | 
 |         /N - Program NVRAM                                                | 
 |         /C - Destroy CMOS checksum                                        | 
 |         /E - Program Embedded Controller Block                            | 
 |         /K - Program all non-critical blocks                              | 
 |        /Kn - Program n'th non-critical block only(n=0-7)                  | 
 |         /Q - Silent execution                                             | 
 |    /REBOOT - Reboot after programming                                     | 
 |         /X - Don't Check ROM ID                                           | 
 |         /S - Display current system's ROMID                               | 
 |        /Ln - Load CMOS defaults:(n=0-3)                                   | 
 |              L0: Load current optimal                                     | 
 |              L1: Load current failsafe                                    | 
 |              L2: Load optimal from ROM file                               | 
 |              L3: Load failsafe from ROM file                              | 
 |         /M - Update bootblock MAC address if it exists                    | 
 |              Example: /M1234ABCD will update MAC to 1234ABCD              | 
 |         /R - Preserve ALL SMBIOS structure during NVRAM programming       | 
 |      /ECUF - Update EC BIOS when newer version is detected.               | 
 |  /SHUTDOWN - Shutdown after programming.                                  | 
 |        /EC - Program Embedded Controller Block. (Flash Type)              | 
 | /CLNEVNLOG - Clear Event Log.                                             | 
 |      /MEUF - Program ME Ignition Firmware Block.                          | 
 |        /ME - Program ME Entire Firmware Block.                            | 
 +---------------------------------------------------------------------------+ 


Phoenix Phlash16 Utility Version 1.7.0.41
Copyright (c) Phoenix Technologies Ltd., 2000-2009
USAGE: Phlash16 [options] [@rspfile] [romfile]
   romfile      Override the default BIOS image name BIOS.WPH with "file".
   @rspfile     Response file containing more options
   /A:address   32 bit address where to put the File Image.
   /B:file      Override the default BIOS image name BIOS.WPH with "file".
   /BBL         Program boot block.
   /BU[=name]   Backup flash memory into BIOS.BAK before programming.
                If "name" specified, override the default filename BIOS.BAK.
   /C           Clear CMOS checksum after programming.
   /CS          Verify BIOS.WPH image checksum.
   /DMC:string  Specify chassis manufacturer DMI string.
   /DMM:string  Specify motherboard manufacturer DMI string.
   /DMS:string  Specify system manufacturer DMI string.
   /DOxx:string Specify OEM DMI string number xx.
   /DPC:string  Specify chassis asser tag number.
   /DPM:string  Specify motherboard product ID DMI string.
   /DPS:string  Specify system product ID DMI string.
   /DSC:string  Specify chassis serial number DMI string.
   /DSM:string  Specify motherboard serial number DMI string.
   /DSS:string  Specify system serial number DMI string.
   /DUS:string  Specify UUID DMI string.
   /DVC:string  Specify chassis version DMI string.
   /DVM:string  Specify motherboard version DMI string.
   /DVS:string  Specify system version DMI string.
   /DESC          Check the descriptor mode.
   /DEV           Display device information from WPH file.
   /EXIT          Exit without rebooting.
   /E2            Generate a new UUID when current UUID is (FFF...FFF).
   /H or /?       Help screen.
   /I             Verify image size matches flash part size.
   /MODE=n        Specify mode n (0, 1, 2, 3).
   /MFG           Manufacturing mode - Automatically reboot without keypress.
   /N             Program only if BIOS.WPH is different than system BIOS.
   /NOB           Do not allow an older BIOS to be flashed to the platform.
   /NIC           Update network controller driver with *.lom files.
   /NOBIOSINFO    Do not display BIOS date and part number while flashing.
   /O             Override (disable) all options from BIOS.WPH.
   /P             Production mode (minimize messages and delays).
   /PF=string     String to pass on to command line.
   /PN            Program only if same BIOS part number.
   /REMOTE        Specify remote operation over RS232 
   /RO[=name]     Read contents of flash part and save to a file.
   /R=n           Retry flashing a block n times if flash fails.
   /S             Silent operation (turn off speaker).
   /SWAP=NO       Disable Axx autodetection.
   /T             Show debug timing info (Warning: flash is done TEN TIMES!)
   /V             Verify each block after programming it.
   /VBL           Show warning for Vista Bitlocker.
   /VGA           Update VGA module with *.dat files.
   /X             Ignore XMS memory manager check.
   /Z             Zero before erasing a block.
   /UUID          Generate a new UUID .
   /DOSKEY        Ignore DOSKEY check .
   /Mod:filename  Update current system BIOS with the module specified by 
                  filename. 
   /Fbin:filename Update current system BIOS DMI with the interface file 
                  specified by filename, do not need image file.
   /FileUUID      Generate a new UUID to BIOS image(Will not flash).
   /ShowFileUUID  Show UUID of a BIOS bin file.
   /Force         Update BIOS from image file directly without any modification.
   To update entire system BIOS you also need the following file:
   BIOS.WPH (the interface file with the BIOS image)


IFLASH2 Version 2.4 - Build 064

Command Line Options:
 /p filename_1 [filename_2[... filename_n]]   - Valid DOS path to the files to flash.
 /i  - Get the currently installed BIOS information.
 /s  - Check the status of the last update performed.
 /c  - Continue without pausing for user confirmation.
 /q  - Prevent beeps during flash update process.
 /md - Load default modules only (like recovery).
 /nr - Perform a flash update without rebooting the system.
 /f  - Force BIOS defaults after flash update.


        UniFlash v1.40 (c) 2005 Rainbow Software (http://www.uniflash.org)
        Original version by Pascal van Leeuwen & Galkowski Adam

        UNIFLASH [-H|-?|[-PCIROM [B D F]|-AMI|-ASUS|-BASE xxxxx|CTFLASH [xxx]]
         [-E fname][-SAVE fname|-CHIPLIST|-FORCE xxxx][-REPAIR][-LOG][-MONO]
         [-CMOSS fname][-CMOSR fname][-CMOSC]][-UNLOCK][-QUIT][-REBOOT]

        -H or -?        Shows this help screen
        -E fname        Flashes fname to Flash ROM with no prompts
        -LOG            Enables auto-logging to UNIFLASH.LOG
        -CTFLASH [xxx]  Flash ROM in c't Flasher 8-bit ISA card [xxx=port]
        -PCIROM         Flash ROM on a PCI card instead of system ROM
          [BUS DEV FUN] Manually specify PCI device (decimal numbers)
        -AMI, -ASUS     Use AMI Flash Interface, Use Asus Flash Interface
        -CHIPLIST       Show list of supported flash chips with their numbers
        -FORCE xxxx     Force using routines for chip xxxx (4 hex digits)
        -BASE xxxxx     Set ROM Base to address xxxxx (at least 5 hex digits)
        -REPAIR         Repair erased chip ID (Winbond and SST chips)
        -SAVE fname     Write current bios image to file fname
        -CMOSS/R fname  Save/restore CMOS settings to/from file fname
        -CMOSC          Clears CMOS settings
        -UNLOCK         Unlock locked bootblocks (e.g. on W29C020)
        -QUIT           Quits (e.g. UNIFLASH -SAVE BACKUP.BIN -QUIT)
        -REBOOT         Reboot after flashing (use together with -E)


flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Please note that the command line interface for flashrom has changed between
0.9.5 and 0.9.6 and will change again before flashrom 1.0.

Usage: flashrom [-h|-R|-L|-p <programmername>[:<parameters>] [-c <chipname>]
[-E|(-r|-w|-v) <file>] [-l <layoutfile> [-i <imagename>]...] [-n] [-f]]
[-V[V[V]]] [-o <logfile>]

 -h | --help                        print this help text
 -R | --version                     print version (release)
 -r | --read <file>                 read flash and save to <file>
 -w | --write <file>                write <file> to flash
 -v | --verify <file>               verify flash against <file>
 -E | --erase                       erase flash memory
 -V | --verbose                     more verbose output
 -c | --chip <chipname>             probe only for specified flash chip
 -f | --force                       force specific operations (see man page)
 -n | --noverify                    don't auto-verify
 -l | --layout <layoutfile>         read ROM layout from <layoutfile>
 -i | --image <name>                only flash image <name> from flash layout
 -o | --output <logfile>            log output to <logfile>
 -L | --list-supported              print supported devices
 -p | --programmer <name>[:<param>] specify the programmer device. One of
    internal, dummy, nic3com, nicrealtek, gfxnvidia, drkaiser, satasii, atavia,
    it8212, ft2232_spi, serprog, buspirate_spi, dediprog, rayer_spi, pony_spi,
    nicintel, nicintel_spi, nicintel_eeprom, ogp_spi, satamv, linux_spi,
    usbblaster_spi, pickit2_spi, ch341a_spi.

You can specify one of -h, -R, -L, -E, -r, -w, -v or no operation.
If no operation is specified, flashrom will only probe for flash chips.


17 - Referências

Hospedagem dos arquivos
http://www.000webhost.com

FreeDOS
http://www.freedos.org

LPC/FWH
http://www.intel.com/design/chipsets/industry/lpc.htm
http://download.intel.com/design/chipsets/datashts/29065804.pdf

Programas
http://www.xbitlabs.com/articles/mainboards/display/ami-bios-update.html
http://www.xbitlabs.com/articles/mainboards/display/award-bios-update.html
http://www.cybertechhelp.com/tutorial/article/flash-award-bios
http://www.ami.com/support/downloads/txt/AFU_README.TXT
http://www.foxconnchannel.com/support/faq_detail.aspx?ID=en-us0000066
http://www.ami.com/support/doc/AMIBIOS8_Flash_Recovery_Whitepaper_v10.pdf

Linux
http://linux.inet.hr/how-to-flash-motherboard-bios-from-linux-no-dos-windows-no-floppy-drive.html
http://www.mayrhofer.eu.org/Default.aspx?pageindex=6&pageid=45
http://www.linux-sxs.org/hardware/flash_boot_cd.html
http://www.debian.org/releases/sarge/i386/ch04s04.html
http://www.flashrom.org/Flashrom

Imagens
http://www.twcarpc.com/forum/showthread.php?t=653
http://www.expresshd.com/EFiX-Installation-Guide/CDpath4/p10/Motherboard-Bios-Update/pages.html
http://www.xbitlabs.com/articles/mainboards/display/biostar-tp45hp_9.html
http://www.xbitlabs.com/articles/mainboards/display/asus-p5e_7.html

23 comentários:

  1. Olá amigo! Obrigado pela atenção lá no FórumGdH. Esse guia aq de atualização de BIOS eu havia conferido por lá, mas confesso que compreendi muito pouco, pois apesar de gostar de computador e informática, sou novo nesse mundo e tudo ainda é muito confuso pra mim. Acho q fui bem claro naquele tpc lá do fórum, onde disse estar precisando de uma atualização BIOS da minha placa mãe. Essa é a questão, ouvi um membro do fórum da própria HP dizendo q teria aumentado a capacidade de memória RAM de 2GB para 4GB fazendo essa atualização. Estou com um tópico em aberto por lá mas em 7 dias ninguém ainda se manifestou pra ajudar. Na atualização de drivers q a própria HP disponibiliza não tem atualização BIOS. E no site da ECS já procurei e não consigo achar tbm. A placa mãe é essa: RC415ST-HM (Alhena5) e as especificações do PC é esse: http://h10025.www1.hp.com/ewfrf/wc/product?product=3401287&lc=pt&cc=br&dlc=pt&task=&lang=pt&cc=br - a REVISÃO BIOS atual é 5.4 4//11/07 assim que puder ajudar o amigo, fico muito agradecido, muito obrigado pela atenção dispensada. Abraços. Giuliano.'.

    ResponderExcluir
  2. Com estes PCs de grife, como HP, Compaq, Dell, é sempre mais seguro usar atualizações de BIOS deles. Na maioria das vezes, eles usam placas comuns de OEMs conhecidos, como Foxconn ou ECS (como no seu caso). Em teoria, se for um modelo público, que o OEM coloca no mercado, pode ser possível usar o BIOS "normal" da placa do PC de grife, mas só recomendo se você tiver absoluta certeza e não existir outra alternativa. Mesmo a placa aparentando ser igual, vá lá saber quais customizações foram feitas especificamente para o fabricante.

    A ECS não tem nenhum modelo que confira esta "RC415ST-HM (Alhena5)" da HP. Na seção "Archives" do site da ECS

    http://www.ecs.com.tw/ECSWebSite/Product/ProductArchive.aspx?CategoryID=1&MenuID=24&LanID=0

    para socket 775 com chipset ATi, tem as seguintes:
    RC410-M2(V1.0), RC410-M2(V3.0), RC410L/800-M(V2.0), RC410L/800-M2(V1.0), RC410L/800-MGF(V2.0) e RS400-A(V1.0).

    Nenhuma delas parecida com a sua. Então acho que não tem jeito...

    ResponderExcluir
  3. Alguem sabe afirmar se o gravador de eeprom EZP2010 pode ser utilizado para atualizar a bios igual dessas placas asus que tem chip DIP8?

    http://img.dxcdn.com/productimages/sku_160442_1.jpg

    ResponderExcluir
    Respostas
    1. Opa, vi sua mensagem só agora. Pela lista de chips que ele suporta, sim a maioria dos modelos mais comuns estão lá. Alguns muito usados: W25X40, W25X80, W25X16, MX25L4005, MX25L8005, MX25L1605, EN25F40, EN25F80, EN25F16.

      Excluir
    2. Cara, cheguei no seu blog numa cagada totalmente perdido. E minha dúvida tem pouco haver com o tópico mas vou postar talvez você posso me ajudar. Possuo uma placa Giga Byte GA-MA78GM-S2H. Criei um pen drive bootavel para acessar o linux. Criei com a distribuição tails, espeto ele vou na bios e ela não identifica o pen-drive, no caso o mesmo funciona pois testei em outra maquina. Ao mesmo tempo não sei se é possível acessar pois não sei se a placa fornece este suporte, vi no seu blog que:

      "NOTA: A versão 1.x do Q-Flash suporta apenas drive de disquete. Já a versão 2.x suporta dispositivos USB Mass Storage, como pendrives."

      Essa placa que possuo está incluida em qual dessas versões? Se puder ajudar agradeço.


      Excluir
  4. Ujio Sanada, sua placa é recente e dá boot por pendrive sim, independente do Q-Flash. O pendrive precisa ser criado corretamente, com um MBR para ser booteável como USB-HDD. Se a distribuição que quiser usar for suportada pelo UNetbootin, use-o.
    http://unetbootin.sourceforge.net/

    ResponderExcluir
  5. Placa mãe gigabyte M61PME-S2P, nã tenho drive de disquete e já fiz o cd automatizado. A Placa não dá vídeo. Só ligando com o CD não tem efetuado a recuperação (bios corrompida). tem alguma dica??

    Edenilson

    ResponderExcluir
    Respostas
    1. Não. Mande regravar o chip ou troque-o.

      Excluir
  6. Depois de atualizar a Bios aparece isso, toda vez que o pc é ligado: "Verifying DMI pool data... MAC Address in flash rom failed! Please input address next time, press [F1] to continue"
    Apertando F1 uso o pc normalmente.

    Pesquisei como resolver isso e pede-se para usar awdflash seguinte codigo.

    awdflash YYY.bin /py/sn/nvmac:XXX/wb

    Porém aparece a janela de Bios ,pc bipa 2x seguida e informa algum erro acho q na .bin

    Como resolver este problema de Mac Address ??

    ResponderExcluir
  7. Parabéns embora seja aficionado em informática ainda não tinha visto um Tutorial tão completo e didático. Mas tenho umas dúvidas e gostaria de pedir orientação: 1º Se eu atualizo a BIOS na versão 32 bits do Win Vista e formato para 64 bits ela continua valendo? 2º Se essa atualização pode ser feita no hd atual, porém o PC será formatado com um novo HD, também continua valendo? 3º Ou primeiro formato para 64 bits com o novo HD e depois atualizo a BIOS? 4º Como tenho o Win Vista Ultimate 32/64 FPP original já comprei Upgrade para Win 8 Pro 64 bits. Essa atualização de BIOS com o Win Vista 64 bits também valerá para o Win 8 Pro 64 Bits? Um grande abraço. Fico no a guardo pois não quero me precipitar. Valeu.

    ResponderExcluir
  8. Olá amigos , tenho um programador EZP2010 o problema é que não consigo instalar ele na minha maquina Windows 7 antes era XP funcionava legal alguém pode me ajudar.....

    ResponderExcluir
  9. Muito obrigado pelas informações. Recomendado para todos aqueles que querem atualizar BIOS.

    ResponderExcluir
  10. Boa tarde amigos, estou com um acer e1-510 não consigo mudar o Mode boot pois só tem a opção UEFI, e também não consigo atualizar a bios para a versão 2.11, alguém pode me ajudar.....?

    ResponderExcluir
  11. Alguém tem a bios da placa h61h2-m2 da sti010433??

    ResponderExcluir
    Respostas
    1. http://www.ecs.com.tw/website2008/Product/Product_Detail.aspx?CategoryID=1&DetailID=1228&DetailName=Feature&MenuID=24&LanID=12

      Excluir
  12. Ola, alguém saberia me informar qual é o tipo chip de memória para armazenar o firmware das placas mães de hoje em dia, continua sendo o EEPROM ou é algo mais atual?

    ResponderExcluir
    Respostas
    1. Mais uma pergunta, a memória que armazena os dados do RTC, "memória CMOS", das placas de hoje em dia continua sendo volátil?

      Excluir
  13. Urgente! Placa biostar g41d3c ver:7.0 tenho gravadora ch341a e e o chip dip8 facil de gravar se não fosse por um detalhe. A rom da bios!! Não consigo localizar na net, será que terei que achar uma placa igual e tentar a sorte retirando o chip com ela ligada????

    ResponderExcluir
    Respostas
    1. http://www.biostar.com.tw/app/pt/mb/introduction.php?S_ID=518#download

      Excluir
  14. cara preciso de ajuda,minha placa as vezes liga as vezes nao preciso atualizar a bios para ver se vai ficar melhor,(Phitronics N68C-M3)fiz todos os procedimento e quando dou boot nao reconhece ,baixei ate varias versões que é executavel pelo windows e diz bios nao compativel ,quando eu coloco no setup para instalar via flash,acha o pen driver mas nao acha a bios ,oque eu faço agora ?

    ResponderExcluir