Desvendando a Famosa Tela Azul



Desvendando a Famosa Tela Azul –


Por: Yuri Diogenes 


 


1. Introdução


 


Apesar do tema não ser algo novo, ainda existem muitos temores acerca do erro que gera uma Tela Azul no Windows, também 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 produção 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 vão logo tentando reinstalar.


 


2. Revisão dos Conceitos básicos 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 estão mais ligados à teoria geral de sistemas operacionais.


 


Se tratando de conceito, podemos então afirmar que a arquitetura x86 é dividida em quatro anéis, os anéis por sua vez são mecanismos de dividir o sistema operacional em níveis diferentes de privilégio de acesso. Na arquitetura x86 existem os anéis 0,1,2 e 3 – nesta ordem temos o número 0 com o mais alto nível de privilégio de acesso e o número 3 com o nível mais básico.


 


O Windows utiliza o anel 0 para o modo Kernel, que é o modo pelo qual é garantido acesso completo a toda memória do sistema assim como todas instruções de CPU. De outro lado o Windows também utiliza o anel 3, porém para o modo Usuário. Este modo é responsável pelas aplicações finais, não tendo acesso direto ao hardware e com isso não 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 então alguns exemplos:


·         O sistema pode sofrer uma parada fatal quando algum componente que está sendo executado em modo Kernel é prevenido de continuar sua execução normal;


·         São exemplos de componentes que rodam neste modo:


o        Drivers de dispositivos;


o        Componentes do sistema operacional;


o        Drivers de filtros de aplicações;


 


Sabendo que apenas os componentes que rodam em Kernel podem afetar o sistema operacional fica mais fácil de encontrar os possíveis 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 explicação específica e endereça 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 investigação mais detalhada sobre a causa raiz.


 


Vejamos abaixo como seria então essa interpretação:




 


Bem, vejamos então o significado de cada sessão:


 


1) A primeira parte da tela azul é considerada uma sessão chave na interpretação do erro e investigação da causa raiz. Neste caso do exemplo temos então as seguintes informações:


·         Tipo de Erro: 0xD1 – DRIVER_IRQL_NOT_LESS_OR_EQUAL


·         Parâmetro 1: endereço de memória que foi referenciado;


·         Parâmetro 2: IRQL ou nível de interrupção de software que foi requisitado naquele momento;


·         Parâmetro 3: tipo de referência (0 para leitura e 1 para escrita);


·         Parâmetro 4: o endereço que referenciou a memória.


 


OBS: A quantidade de parâmetros assim como o significado vai depender diretamente to tipo de erro que ocorreu.


 


2) Nesta parte do erro temos informações sobre o possível 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 didáticos e para simular alguns tipos de problemas.


 


3) A parte 3 poderá conter desde possíveis recomendações para a resolução do problema como também poderá conter apenas informações de que o arquivo de dump foi gerado com sucesso.


 


5. Exemplos de erro


 


São muitas as possibilidades de erros que aparecem em uma tela azul, conforme foi dito o importante é que se tenha em mente que este erro não é o fim do servidor, isso pode ser totalmente tratável sem requerer medidas mais drásticas.


 


Abaixo temos alguns exemplos de códigos de erro que podem estar aparecendo em uma tela azul. A idéia é apenas mostrar os mais comuns tendo em vista que a quantidade de códigos 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 endereço de memória a qual não tinha permissão.


 


Mais informações:


 


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 corrupção do registro. O importante neste caso é que você tenha o backup do “System State”, pois na maioria das vezes a restauração do registro pode ser o caminho mais rápido.


 


Mais informações:


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 à partição 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 informações:


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 disposição os itens abaixo:


·         Backup do system state


·         Senha do administrador para entrar na console de recuperação (caso necessário)


·         Reserve sempre um espaço em disco para que se necessário tenha como fazer uma instalação paralela do sistema operacional


 


Estes pequenos cuidados podem ajudar bastante em um cenário de tela azul, a recuperação rápida do servidor vai depender da sua pro atividade na manutenção.


 


 


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


 


Em alguns cenários específicos você poderá cair neste tipo de situação, que é bem frustrante, pois na maioria das vezes você espera ter um arquivo para iniciar uma resolução de problemas, mas por algum detalhe não corretamente revisado o arquivo pode não ser gerado. Vejamos abaixo o que precisa ser feito para garantir que o arquivo de dump seja gerado:


 


·         Inicie a revisar as opções de sistema no Painel de Controle / Sistemas / Avançado / Inicialização e Recuperação / Configurações. Nesta janela é importante que você verifique as seguintes opções:


o        Escolha o tipo de informação 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 informações e poderá não ser suficiente para a análise de um problema. São exemplos de informações que podemos obter com este tipo de arquivo de dump: o código do erro, a listagem de drivers carregados naquele momento, informações do processo entre outras coisas.


§         Kernel: este tipo de dump por sua vez vai registrar apenas informações relacionadas ao Kernel, não está, portanto incluso neste dump a memória alocada para aplicações rodando em modo usuário.


§         Completo: como o nome já diz o dump completo inclui todo o conteúdo existente em RAM naquele momento, este conteúdo por sua vez será gravado no arquivo de dump.


o        Escolha a localização do arquivo de dump, lembre-se que você precisará de espaço disponível em disco no mínimo igual ao tamanho da sua memória RAM para receber este arquivo;


o        Assegure que a opção de sobrescrever o arquivo de dump também está selecionada, caso contrário se o arquivo já estiver lá ele não vai escrever novamente;


·         Finalizando essa parte, um aspecto importante para revisar se o arquivo de paginação está com o tamanho adequado e na localização correta. Este arquivo deverá está localizado na partição de sistema (%systemroot%) e o seu tamanho máximo deverá ser igual ao tamanho da sua memória RAM mais 12MB;


 


Existem alguns cenários em que realmente não é possível você conseguir um dump de memória completo, isso acontece devido a algumas limitações existentes. Um caso comum é quando o servidor tem mais de 2GB de memória RAM, para essa situação teríamos duas opções: configurar o sistema para obter um dump de kernel ou então alterar um valor no arquivo boot.ini para que o sistema não use mais que 2GB de memória RAM, neste caso usando o parâmetro /maxmem=2000.


 


Outro fator importante que também está ligado a servidores com mais de 2GB de RAM é quanto ao arquivo de paginação. O Windows tem um limite para o arquivo de paginação de 4096 MB, com isso alguns servidores que tem 8GB de RAM não seguiram a risca o valor de tamanho de arquivo de paginação sugerido. Neste caso a recomendação seria usar um arquivo de paginação no C:\ com o valor não maior que 2GB e os outros arquivos de paginação ficariam em diferentes partições com o tamanho máximo de 4GB para cada um deles. Assim você distribui os arquivos de paginação e também mantém seu servidor pronto para obter um dump de memória do tipo kernel.

Comments (23)

  1. LatamBlog says:

    Olá Alexandre,

    Teria que entender melhor o cenário, tipo:

    – O problema acontece durante a incialização da máquina ou após você já ter efetuado o logon?

    – Você já aplicou o XP SP2?

    O error 0x0000008E pode também ser causado por componentes de hardware, por isso faz sentido que mesmo após ter reinstalando o sistema operacional o problema continue acontecendo.

    Para o momento sugiro você revisar os dois artigos abaixo:

    http://support.microsoft.com/kb/315335/pt-br

    http://support.microsoft.com/kb/330181/pt-br

    Obrigado pela visita.

    Yuri Diógenes

  2. LatamBlog says:

    Olá Zandro,

    Apesar do artigo abaixo ser relacionado a problemas na instalação do Windows Vista, os códigos de erro que você está recebendo são similares. Use as recomendações do artigo abaixo:

    http://support.microsoft.com/kb/935806/en-us

  3. LatamBlog says:

    Oi Davi, além da abordagem que o Yuri mencionou acima você pode usar o DebugDiag para analisar automaticamente o dump para você sem que você precise fazer isso manualmente via Windbg.

    Na parte de Desenvolvimento do nosso blog há artigos falando sobre essa ferramenta.

    Muitas vezes a análise automatizada é suficiente para indicar a causa raiz do problema.

    Roberto Farah

  4. LatamBlog says:

    Caro Caio,

    Há diversas possíveis causas, conforme indicado pelo Yuri no artigo acima. Procure verificar se um arquivo de dump foi gerado, conforme explicado. Com o dump de memória você pode usar uma das opções de suporte assistido da Microsoft, através do site support.microsoft.com.

    Deo.

  5. LatamBlog says:

    Olá Luiz,

    Seria necessário obter um dump para ter uma resposta mais precisa acerca da causa raiz para este problema. Porém, minha recomendação para o momento é executar o Windows Update para atualizar o Windows Vista, pois existem alguns updates (como o mostrado abaixo) que resolvem problemas desta natureza:

    http://support.microsoft.com/kb/929777/en-us

    Caso você continue obtenha o dump e não consiga resolver o problema aí seria necessário abrir um incidente de suporte com a Microsoft. Aqui um bom artigo para preparar o computador para obter as informações antes de abrir o chamado:

    http://support.microsoft.com/kb/129845/

    Abraço,

    Yuri Diógenes

  6. LatamBlog says:

    Olá Davi,

    Primeiramente obrigado pela visita.

    Você poderá abrir o arquivo de dump usando o Microsoft WinDBG, cujo download pode ser feito a partir do link abaixo:

    http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

    Este pacote vai instalar as ferramentas de debug do Windows e o WinDBG vai estar contido nela.

    Antes de abrir o arquivo é necessário configurar no WinDBG os símbolos públicos da Microsoft, para fazer isso use o artigo abaixo:

    http://support.microsoft.com/kb/311503/en-us

    Após isso você já poderá abrir o arquivo de dump. Lhe adianto que a leitura do mesmo não é algo intuitivo e algumas vezes os símbolos públicos também não revelam com exatidão a causa raiz do problema. Por isso que algumas vezes é necessário a abertura de um incidente de suporte na Microsoft para análise do arquivo de dump.

    Espero que isso lhe ajude.

    Grato,

    Yuri Diógenes

  7. LatamBlog says:

    Olá Francisco,

    Este tipo de comportamento é bem mais relacionado a hardware. É importante que você veja com o fabricante do computador quais seriam os próximos passos para a resolulção do problema.

    Veja no Clube do Hardware um Forum a respeito deste tema:

    http://forum.clubedohardware.com.br/placa-mae-apitando/269719?s=297134169f36a2ce93e7d0970cb3d066&

    Obrigado pela visita,

    Yuri Diógenes

  8. LatamBlog says:

    Olá Davi,

    A forma de enviar dados para análise é através da abertura de um incidente de suporte. Se você deseja fazer isso então teria que ligar para o suporte Microsoft no Brasil e fazer a abertura de um caso.

    Acesse o site abaixo que você terá as instruções de como fazer isso:

    http://support.microsoft.com/gp/profsup

    Obrigado,

    Yuri Diógenes

  9. Fabiano says:

    Bem legal o artigo Yuri, voce conseguiria agregar este arquivo alguns exemplos de analise de dump?

  10. Daniel - CSE Brasil says:

    Very interesting and helpfull article….

  11. Yuri Diogenes says:

    Olá Fabiano, obrigado pelo feedback.

    Acredito que este poderá ser um tema a ser abordado em um artigo a parte. Mas um bom começo é baixar as ferramentas de Debug para o Windows e utilizar o Help do Windbg. Nele você tem muitos exemplos desta natureza. Segue o link da ferramenta:

    http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx

  12. neivaldo says:

    Formatei o pc, sorte minha que era só a formatação, um erro do windows e tudo ficou blz di novo.. ficou ainda mais eficiente o sistema.. mas antes acabei trocando a placa de memória de bobeira..

  13. Alexandre says:

    ola..estou com um problema muito serio, ja instalei varios windows xp diferentes e meu pc sempre aparece uma tela azul constando o erro 0x0000008E, o q  devo fazer pois mesmo q eu formate o pc aparece essa mensagem de erro.

  14. Davi MG says:

    Ola Amigos

    Primeiramente gostaria de Parabenizar o Yuri pelas informaçoes, sao muito uteis, to começando a entender esse negocio de erro.

    Bom, gostaria da ajuda de vcs, podem me ajudar?

    1º. Como eu abro um arquivo .dmp?

    2º. Achei esse aviso no visualizador de eventos:

    Tipo de evento: Informações

    Fonte de evento: Save Dump

    Categoria do evento: Nenhuma

    Id. do evento: 1001

    Data: 06/02/2007

    Hora: 15:57:13

    Usuário: N/A

    Computador: SERVIDOR

    Descrição:

    O computador foi reinicializado através de uma verificação de defeito. Essa verificação foi: 0x1000000a (0x00000016, 0x00000002, 0x00000000, 0x804f8c38). Um despejo de memória foi salvo em: C:WINDOWSMinidumpMini020607-07.dmp.

    Para obter mais informações, visite o Centro de ajuda e suporte em http://go.microsoft.com/fwlink/events.asp.

    Será que com ele eu descubro o que causa o reinicio da minha maquina?

    È uma maquina servidor com winxp pro sp2 toda atualizada, toda mesmo.

    Por favor alguem me ajude.

  15. Davi MG says:

    Bom dia !!!

    Bom, primeiramente gostaria de agradecer pela atenção tanto de vc Yuri quanto a vc Roberto, sinceramente eu não esperava uma resposta tão rapida. Muito obrigado a vocês!

    Antes de mais nada, gostaria que soubesem o que eu tenho enfrentado.

    Trabalho em um Hospital publico, e pela ironia do destino, eu acabei ficando sozinho, responsavel por toda a informatica do hospital.

    Tem algums detalis que não mencionei:

    1º. Eu tenho que manter a rede, manutenção dos pcs, programas produzidos no proprio hospital antes de mim feito em VB6, servidor de sistemas de controle em PHP+MySQL+Apache e a implantação da informatização de todo atendimento do hospital.(são em media 50 pcs(WIN) conectados,por enquanto)

    2º.É triste, mas eu so tenho um curso de montagem é manutenção, isso mesmo só esse curso, nada nem mesmo de ingles,(mas a minha vontade de aprender é muito grande e curiosidade nao falta.rs) pretendo com esse serviço aprender o maximo possivel.

    Diante desta dificio situação gostaria da ajuda e comprieenção de vcs quanto ao meu problema.

    Vou ler o ARTIGO que vc Roberto mencionou para ver se resolvo meu problema e depois posto aqui a resposta(hoje mesmo). Caso eu não consiga, uma foto da tela azul ajudaria?

    Qualquer sugestão é bem vinda.

    É de imensa gratidão que finalizo esse post, pois é a primeira vez que recebo uma ajuda assim.

    Desculpa os erros de portugues, Abraços e ate mais…

  16. Davi MG says:

    Ola Roberto Farah

    Como disse antes tentei, li e reli o artigo que vc indicou e tambem um sobre Criando Scripts, porem como sou leigo no assunto eu não consegui adapta-lo ao meu caso(que não é IIS).

    "Fuçando" consegui gerar dois relatorio, mas não entendi nada,como posso envia-lo para vcs?

    A questão é: Mesmo com esse artigo eu não descobri como interpretar os codigos da tela azul que aparece as vezes constantemente. Não sei o que é IRQL e nem qual soft ou porque ele esta causando esse problema. O que esta causando o reinicio do pc? Ou como indentifico o significado desses codigos?

    Tela azul

    IRQL_NOT_LESS_OR_EQUAL

    Informaçoes tecnicas:

    *** stop: 0x0000000A (0x00000016,0x00000002,0x00000000,0x804F8C38)

    Gostaria de aprender como indentificar a causa destes problemas e como resolvelos, que enfrento desde o Windows 95.

    O meu problema nao esta relacionado com um programa criado por mim mas sim com um erro do windows ou de programa instalado, não sei porque, então eu vou dar a relação de programas instalados.

    Meus programas instalados são:

    MySQL

    UltraVNC

    Scintilla Text Editor

    SQLyog

    Firefox 2.0

    Active Security Monitor

    eTrust EZ Antivirus

    Windows Defender

    Apache HTTP Server 1.3.34

    COMODO Firewall Pro

    FileZilla Server

    Bacula Backup

    Microsoft Office 2003

    Microsoft Visual Basic 6.0

    Hot CPU Tester Pro 4 LE

    IE 7

    Midia Player 11

    Win xp pro SP2 (Update em dia)

    Nao da pra eu formatar a maquina pois ela ainda ta na garantia, tambem não posso chamar a garantia porque não tenho outra maquina que possa substituir o servidor.

    Tenho que resolver esse problema de alguma maneira.

    Muito Obrigado e me perdoe por encomodar tanto.

  17. Francisco Bento says:

    Meu Pc começou a reiniciar sózinho.Tirei memória,passeiuma borrachinha e coloquei no lugar,e nada…troquei a mesma de slot e ele carregou normalmente,mas ao entrar no Setup ele travou (no setup).Desliguei-o forçado,e ao tentar ligar novamente ele apresentou uma ela azul,sem nenhum código de erro e não parou de apitar(apitos rápidos e consecutivos )…o que pode ser ?

    Obrigado se puder ajudar.

  18. Luiz says:

    Olá!!! Yuri, primeiramente parabéns pelo artigo. Pois bem eu estou com problemas com tela azul desde a compra desse meu novo computador e instalação do Windows Vista vem aparecendo aleatóriamente telas azuis com mensagens variadas: 0X7E, 0X8E, 0X7F, 0X50… (das que eu anotei). E até agora não consegui solucioná-las. Já troquei os pentes de memória RAM e só e os problemas continuam.

      – executei o notmyfault e ele apenas me aconcelhou a fazer uma atualização que eu já tinha feito – Não imagino o que mais posso fazer.

      por favor, conto com sua ajuda!!!!

    Obrigado

  19. zandro says:

    cara, meu notebook é um Sony Vaio FE31M

    e de uns dias pra cá tá reiniciando muito, o problema é o seguinte, ele funciona, mas antes de funcionar tenho que reiniciá-lo umas 10 vezes, mas eu consegui anotar os erros da TELA AZUL , consegui anotar das três vezes consecutivas que reiniciei , todavia são ERROS diferentes !

    3ª vez que se reiniciou deu esse erro :

    ***STOP : 0x0000007E(0xC0000005, 0x00000000, 0xF7A3D4B8, OxF7A3D1B4)

    5ª vez que se reiniciou deu esse erro :

    ***STOP : 0x000000FC(0xF7A4DCE8, 0x06D3E963, 0xF7A4DC50, Ox00000000)

    8ª vez que se reiniciou deu esse erro :

    ***STOP : 0x00000024(0x001902FE, 0xF7A65728, 0xF7A65424, OxF7385567)

    ***  NTFS.sys – ADRESS F7385567 BASE AT F737F000, DATESTAMP 41107 eea

    Por favor me ajudar !!!!

  20. Caio says:

    Eu tabém tô com problema de TELA AZUL…mas dá um erro diferente de todos os mencionados…

    *** STOP: 0x0000009c (0x00000000,0x8054D570,0xB2000000,0x1040080F)

  21. Ingrid says:

    Olá,

    Sempre aparece a tela azul no meu computador quando eu finalizo algum processo, por exemplo quando eu fecho o firefox ou o internet explorer, é só fechar a janela que aparece a tela azul…

    Realmente não sei o que fazer. Alguém saberia dizer por que isso acontece?

  22. felipe says:

    ola queria saber qual erro e esse:

    *** STOP : 0X000008E ( 0X000005,0XBF165F10,08F7ASE8D8,0X00000) ****

    *** NV4_desp.dll _adress BF165F10 BASE BF012001 DATA STAMP 442D4897 ***

    vlw

  23. felipe says:

    *** STOP : 0X000008E ( 0X000005,0XBF165F10,08F7ASE8D8,0X00000) ****

    *** NV4_desp.dll _adress BF165F10 BASE BF012001 DATA STAMP 442D4897 ***

    ola quando eu jogo algun jogo pesado como bf2 ela aparece com esse erro ai alguem pode me falar que erro e esse?

    obrigado