Você está na página 1de 4

Desvendando a Famosa Tela Azul

1. Introduo
Apesar do tema no ser algo novo, ainda existem muitos temores acerca do erro que gera uma Tela Azul no Windows, tambm chamado de Stop Error devido a um fator simples: quando este tipo de problema acontece temos uma parada no servidor, o que significa uma parada na produo por alguns minutos ou horas. Este tipo de problema precisa ser depurado com bastante cuidado, at mesmo porque muita gente interpreta o erro como se fosse sendo algum problema de hardware, ou simplesmente pensam que o Windows ou em alguns casos extremos simplesmente vo logo tentando reinstalar.

2. Reviso dos Conceitos bsicos de Sistema Operacional


Para entender os motivos que levam o Windows a ter um problema de parada inesperada importante lembrar de alguns conceitos que independem do fabricante do sistema operacional e esto mais ligados teoria geral de sistemas operacionais. Se tratando de conceito, podemos ento afirmar que a arquitetura x86 dividida em quatro anis, os anis por sua vez so mecanismos de dividir o sistema operacional em nveis diferentes de privilgio de acesso. Na arquitetura x86 existem os anis 0,1,2 e 3 nesta ordem temos o nmero 0 com o mais alto nvel de privilgio de acesso e o nmero 3 com o nvel mais bsico. O Windows utiliza o anel 0 para o modo Kernel, que o modo pelo qual garantido acesso completo a toda memria do sistema assim como todas instrues de CPU. De outro lado o Windows tambm utiliza o anel 3, porm para o modo Usurio. Este modo responsvel pelas aplicaes finais, no tendo acesso direto ao hardware e com isso no comprometendo a estabilidade do sistema operacional.

3. Por que erros deste tipo ocorrem?


Antes de falar com mais detalhes sobre a tela azul, devemos entender porque um erro desta natureza ocorre. Vejamos ento alguns exemplos: O sistema pode sofrer uma parada fatal quando algum componente que est sendo executado em modo Kernel prevenido de continuar sua execuo normal; So exemplos de componentes que rodam neste modo: o Drivers de dispositivos; o Componentes do sistema operacional; o Drivers de filtros de aplicaes; Sabendo que apenas os componentes que rodam em Kernel podem afetar o sistema operacional fica mais fcil de encontrar os possveis causadores de tal problema, que neste caso seriam: Drivers de terceiros com problema; Falhas no Sistema Operacional; Falha de hardware.

4. Entendendo o Erro
importante interpretar cada parte da tela azul, cada parte da mensagem tem uma explicao especfica e enderea uma determinada rea. Somente o fato de saber interpretar essa

mensagem j pode lhe abrir caminhos para entender o problema e a partir da fazer uma investigao mais detalhada sobre a causa raiz. Vejamos abaixo como seria ento essa interpretao:

Bem, vejamos ento o significado de cada sesso: 1) A primeira parte da tela azul considerada uma sesso chave na interpretao do erro e investigao da causa raiz. Neste caso do exemplo temos ento as seguintes informaes: Tipo de Erro: 0xD1 - DRIVER_IRQL_NOT_LESS_OR_EQUAL Parmetro 1: endereo de memria que foi referenciado; Parmetro 2: IRQL ou nvel de interrupo de software que foi requisitado naquele momento; Parmetro 3: tipo de referncia (0 para leitura e 1 para escrita); Parmetro 4: o endereo que referenciou a memria. OBS: A quantidade de parmetros assim como o significado vai depender diretamente to tipo de erro que ocorreu. 2) Nesta parte do erro temos informaes sobre o possvel driver que causou o problema. Isso pode variar em alguns casos de acordo com o tipo de erro. Para este exemplo utilizamos o aplicativo NotMyFault.exe que pode ser baixado do site SysInternals.com. Trata-se de um software gratuito para fins didticos e para simular alguns tipos de problemas. 3) A parte 3 poder conter desde possveis recomendaes para a resoluo do problema como tambm poder conter apenas informaes de que o arquivo de dump foi gerado com sucesso.

5. Exemplos de erro
So muitas as possibilidades de erros que aparecem em uma tela azul, conforme foi dito o importante que se tenha em mente que este erro no o fim do servidor, isso pode ser totalmente tratvel sem requerer medidas mais drsticas. Abaixo temos alguns exemplos de cdigos de erro que podem estar aparecendo em uma tela azul. A idia apenas mostrar os mais comuns tendo em vista que a quantidade de cdigos de erro extensa. 0x0000000A: IRQL_NOT_LESS_OR_EQUAL Em linhas gerais podemos dizer que este erro causado devido a um processo em modo kernel ou a um driver que tentou acessar um endereo de memria a qual no tinha permisso. Mais informaes: Troubleshooting a Stop 0x0000000A error in Windows XP http://support.microsoft.com/?id=314063 0x00000051: REGISTRY_ERROR Este tipo de erro pode ter ocorrido por uma falha de hardware ou por uma falha no sistema de arquivos que causou a corrupo do registro. O importante neste caso que voc tenha o backup do System State, pois na maioria das vezes a restaurao do regist ro pode ser o caminho mais rpido.

Mais informaes: How to troubleshoot a "STOP 0x00000051 REGISTRY ERROR" error message http://support.microsoft.com/?id=282501 0x0000007B: INACCESSIBLE_BOOT_DEVICE Em linhas gerais este erro significa dizer que o Windows perdeu acesso partio do sistema, essa perda de acesso pode ser devido a problemas de drivers de dispositivos, problema na controladora de disco ou problema no disco propriamente dito. Mais informaes: How to troubleshoot "Stop 0x0000007B" error messages http://support.microsoft.com/?id=822052

6. O que sempre bom ter por perto


Muitas vezes o erro de tela azul pode aparecer sem que voc esteja preparado, nestes casos importante que voc tenha sempre a sua disposio os itens abaixo: Backup do system state Senha do administrador para entrar na console de recuperao (caso necessrio) Reserve sempre um espao em disco para que se necessrio tenha como fazer uma instalao paralela do sistema operacional Estes pequenos cuidados podem ajudar bastante em um cenrio de tela azul, a recuperao rpida do servidor vai depender da sua pro atividade na manuteno.

7. O erro acontece, mas nada de arquivo de dump. O que fazer?


Em alguns cenrios especficos voc poder cair neste tipo de situao, que bem frustrante, pois na maioria das vezes voc espera ter um arquivo para iniciar uma resoluo de problemas, mas por algum detalhe no corretamente revisado o arquivo pode no ser gerado. Vejamos abaixo o que precisa ser feito para garantir que o arquivo de dump seja gerado: Inicie a revisar as opes de sistema no Painel de Controle / Sistemas / Avanado / Inicializao e Recuperao / Configuraes. Nesta janela importante que voc verifique as seguintes opes: o Escolha o tipo de informao de debug que deve ser escrita no disco. Nesta categoria temos os seguintes tipos de dump: Pequeno: este tipo de dump ser limitado a um conjunto pequeno de informaes e poder no ser suficiente para a anlise de um problema. So exemplos de informaes que podemos obter com este tipo de arquivo de dump: o cdigo do erro, a listagem de drivers carregados naquele momento, informaes do processo entre outras coisas. Kernel: este tipo de dump por sua vez vai registrar apenas informaes relacionadas ao Kernel, no est, portanto incluso neste dump a memria alocada para aplicaes rodando em modo usurio. Completo: como o nome j diz o dump completo inclui todo o contedo existente em RAM naquele momento, este contedo por sua vez ser gravado no arquivo de dump. o Escolha a localizao do arquivo de dump, lembre-se que voc precisar de espao disponvel em disco no mnimo igual ao tamanho da sua memria RAM para receber este arquivo; o Assegure que a opo de sobrescrever o arquivo de dump tambm est selecionada, caso contrrio se o arquivo j estiver l ele no vai escrever novamente; Finalizando essa parte, um aspecto importante para revisar se o arquivo de paginao est com o tamanho adequado e na localizao correta. Este arquivo dever est

localizado na partio de sistema (%systemroot%) e o seu tamanho mximo dever ser igual ao tamanho da sua memria RAM mais 12MB; Existem alguns cenrios em que realmente no possvel voc conseguir um dump de memria completo, isso acontece devido a algumas limitaes existentes. Um caso comum quando o servidor tem mais de 2GB de memria RAM, para essa situao teramos duas opes: configurar o sistema para obter um dump de kernel ou ento alterar um valor no arquivo boot.ini para que o sistema no use mais que 2GB de memria RAM, neste caso usando o parmetro /maxmem=2000. Outro fator importante que tambm est ligado a servidores com mais de 2GB de RAM quanto ao arquivo de paginao. O Windows tem um limite para o arquivo de paginao de 4096 MB, com isso alguns servidores que tem 8GB de RAM no seguiram a risca o valor de tamanho de arquivo de paginao sugerido. Neste caso a recomendao seria usar um arquivo de paginao no C:\ com o valor no maior que 2GB e os outros arquivos de paginao ficariam em diferentes parties com o tamanho mximo de 4GB para cada um deles. Assim voc distribui os arquivos de paginao e tambm mantm seu servidor pronto para obter um dump de memria do tipo kernel.