Home | Arquitetura | Periféricos | Montagem | Configuração | Manutenção | Defeitos do PC |
Como ocorre o processo de BOOT no hardware do Computador Conhecer a dinâmica do boot em um computador auxilia muito a detectar defeitos no micro, principalmente ao se basear nas mensagens de erro que são produzidas pela BIOS. Claro que neste caso, estamos falando de um micro com defeito, mas com sinal de vídeo. O termo "boot" serve para designar o método pelo qual o PC se torna operacional. Ao ligar o computador, ou pressionar o reset, o PC carrega um grande sistema operacional, após primeiramente carregar um programa pequeno que carrega o sistema operacional na memória do micro. A sucessão de eventos se inicia com a energia alimentando a placa-mãe e finaliza em um completo sistema com programas carregados e rodando. Cada evento, dentro do processo de hardware, é iniciado com a finalização do evento anterior, e sua finalização, significa o início do próximo numa cadeia de processos. A primeira parte da seqüência de inicialização é independente do sistema operacional, o que significa que esses passos são os mesmos para qualquer PC, independente do sistema operacional que ele use: Linux, Windows, etc... A segunda parte, já é dependente do sistema operacional instalado na máquina, o que significa que esses passos posteriores vão variar de computador para computador. O computador é ligado A fonte ATX executa um auto-teste nas tensões de alimentação. Quando todas as voltagens e níveis de corrente estão aceitáveis, a fonte indica que a energia de alimentação aos periféricos está ok e emite o sinal power_good para a placa-mãe. O tempo entre o botão de liga/desliga ser pressionado até a liberação do sinal power_good é normalmente entre 0.1 e 0.5 segundos. O microprocessador começa a executar o código da ROM BIOS, iniciando no endereço de memória FFFF:0000. Como este endereço é localizado nos últimos 16bytes de espaço disponível na ROM, há uma instrução JMP (jump-salto) para o endereço inicial da ROM. A ROM BIOS executa testes em todo o hardware para verificar a funcionalidade do sistema de hardware como um conjunto. Qualquer falha encontrada será indicada por beeps, porque o sistema de vídeo ainda não foi inicializado. Se a BIOS for plug and play (PnP), os passos a seguir, serão executados. A BIOS PnP verifica a memória RAM em relação aos endereçamentos das portas de entrada/saída, IRQ´s (interrupt request lines - linhas de requisição de interrupção utilizada pelos programas, posteriormente, para requerer espaço de carga na memória RAM, DMA (direct memory Access - acesso direto a memória), e todos os seus canais, e diversas outras configurações necessárias para inicializar dispositivos plug and play no computador. Todos os dispositivos Plug and Play encontrados pela BIOS são desabilitados, para evitar potenciais conflitos. É criado um mapa de recursos de hardware usados e não usados. Os dispositivos de hardware plug and play são configurados e reabilitados um por vez. A BIOS executa uma verificação no endereço destinado a vídeo ROM´s, em busca de programas de ROM BIOS, que podem estar contidos tanto em uma ROM BIOS de vídeo de uma placa de vídeo onboard, como em uma placa de vídeo plugada em qualquer slot na placa mãe. Encontrando uma vídeo ROM BIOS, a mesma é testada através de um procedimento de checksum (este procedimento verifica a integridade de cada área de endereçamento da memória ROM). Se a video BIOS passar no teste de checksum, a ROM será executada, e vai inicializar a controladora de vídeo, então um cursos aparece na tela. Se o teste de checksum falhar, a seguinte mensagem aparecerá: - "C000 ROM Error" Se a BIOS não encontrar nenhum vídeo ROM de placas off-board, então usará os drivers da vídeo ROM da placa mãe, para inicializar o hardware do monitor de vídeo, e o cursor vai aparecer na tela. A ROM BIOS da placa mãe verifica os endereçamentos de memória C800:0000DF80:0000 incrementando 2KB, para buscar outros tipos de ROM BIOS, que possam estar em qualquer outra placa controladora (como por exemplo, placas SCSI, placas recovery cards). Se alguma for encontrada, ela é testada, e o programa existente nela é executado. Estas ROMs provenientes de outras placas podem alterar as rotinas existentes na ROM principal, e estabelecer novas rotinas. Falha no teste de qualquer uma dessas ROMs de placas controladoras ou adaptadoras, vão ocasionar a seguinte mensagem: "XXXX ROM Error", onde XXXX indica o endereço do segmento da ROM defeituosa. A ROM BIOS analisa o valor da palavra no endereçamento de memória 00000472 para saber se a inicialização do computador é proveniente de boot a frio (quando você liga o computador no botão liga/desliga) ou boot quente (quando o micro já estava ligado, e por algum motivo você reinicializa o micro). Uma palavra com valor 1234h neste endereçamento é um flag indicador de boot quente, o que faz com que a BIOS pule a parte de teste da memória RAM do POST. Qualquer outro valor neste endereçamento indica boot a frio, então a BIOS executa o procedimento completo do POST. Qualquer erro encontrado durante a execução do POST, será reportado através de uma combinação de beeps audíveis e exibição de mensagens de erro. A finalização dos testes com sucesso será indicada através de um beep único. A ROM BIOS procura por informação de boot no cilindro 0, cabeça 0, setor 1 (o primeiro setor) no dispositivo de boot padrão. Atualmente, as BIOS, por padrão, permitem que o usuário habilite o dispositivo de boot padrão, e outros, além do padrão. Após a busca pelo dispositivo padrão, caso não encontre informação de boot no padrão, a BIOS vai procurar esta informação em outros dispositivos que estejam configurados. O setor de boot é carregado na memória no endereço em 0000:7C00 e é testado. Se houver disco em um dos drives, mas o setor não puder ser lido, ou caso não haja nenhum disco presente, a BIOS segue, com o procedimento do passo 18. Se o boot estiver ocorrendo através de um disquete, e o primeiro byte da informação de boot do volume for menor que 06h, ou se o primeiro byte for maior ou igual a 06h e as primeiras nove palavras contiverem os mesmos caracteres de dados, uma mensagem de erro aparece e o sistema para:
Se a informação de boot do volume (VBR, volume boot Record) não puder encontrar ou carregar os arquivos do sistema, ou se um foi encontrado um problema ao carregá-los, uma das mensagens a seguir, aparecerá:
Todas estas mensagens são originadas no VBR (volume boot record) e relacionadas á situação de informação do boot ou problemas nos arquivos de carga do sistema. Se nenhuma informação de boot puder ser lida no drive A: , ou caso este esteja desabilitado, a BIOS então busca por um MBR (máster boot Record) no cilindro 0, cabeça 0, setor 1. Se este setor for encontrado, é carregado na memória, no endereçamento 0000:7C00 e testado. Se os dois últimos bytes do MBR não forem iguais a 55AAh, a interrupção de software 18h (int 18h) é solicitada na maioria dos sistemas. Isto faz com que a BIOS exiba uma mensagem de erro que pode variar para fabricantes diferentes de BIOS, mas que é muito parecida com as mensagens a seguir, dependendo da BIOS que você possui.
Apesar das mensagens variarem, a causa está diretamente relacionada a bytes específicos no MBR, que é o primeiro setor do disco rígido na parte física no cilindro 0, cabeça 0, setor 1. O problema envolve um disco que nunca foi particionado ou que está com o MBR corrompido. Durante o processo de boot, a BIOS verifica os dois últimos bytes no MBR (primeiro setor do disco) por um valor de 55AAh. Se os dois últimos bytes não forem 55AAh, uma interrupção 18h é acionada, o que chama a sub-rotina que exibe uma das mensagens citadas anteriormente. O MBR (incluindo os bytes de verificação) é escrito no disco rígido através do FDISK, ou Partition Magic, Disk manager, ou qualquer outro programa de particionamento de discos rígidos. Imediatamente após a formatação de baixo nível de um disco rígido, todos os setores são inicializados com um modelo de dados e o primeiro setor não terá mais a validação 55Aah. Em outras palavras, estas mensagens de erro são exatamente o que você vai ver se tentar efetuar o boot que foi recentemente formatado em baixo nível, mas ainda não foi particionado, ou se o MBR estiver corrompido de tal forma que os bytes de validação tiverem sido sobrescritos. O MBR procura uma partição montada na tabela de partições, por um indicador de boot, através de um byte de marcação na entrada da partição ativa. Se nenhuma das partições estiver selecionada como ativa (bootável), a BIOS aciona a interrupção de software 18h, que exibe mensagens de erro. Se qualquer byte indicativo de boot na tabela de partições no MBR for inválido, ou se mais de um indicar uma partição ativa, a mensagem a seguir será exibida e o sistema para:
Se uma partição ativa for encontrada no MBR, a informação de boot da partição ativa é carregado e testado. Se a informação de boot da partição não puder ser lida com sucesso pela partição ativa dentro de cinco tentativas por motivos de erros de leitura, a seguinte mensagem será exibida e o sistema pára:
A informação de boot da partição do disco rígido é validada. Se não contiver informação válida igual a 55Aah como os dois últimos bytes no setor, a mensagem a seguir é exibida e o sistema pára:
A informação de boot do volume é executada como um programa. Este programa busca por um sistema operacional e carrega o kernel ou os arquivos de carga do sistema operacional. Se a informação de boot do volume não puder encontrar ou carregar estes arquivos do sistema, ou se um problema for encontrado durante a carga deles, uma das mensagens a seguir será exibida:
Todas estas mensagens são originadas no VBR (informação de boot do volume) e relacionadas ao VBR ou problemas no sistema de arquivos. Deste ponto em diante, o que vai ocorrer vai depender do tipo de sistema operacional que está sendo usado. |