-->

quarta-feira, 16 de dezembro de 2009

STOP: 0x0000007B - Como resolver sem reinstalar o XP - 3a parte.

Na segunda parte deste texto eu fiquei devendo abordar o que ocorreria nos casos em que o erro STOP 7B-34 ocorre pela falta de drivers específicos para chipsets mais novos que não são suportados pelos drivers genéricos do XP. Este é o propósito deste post.

O problema específico abordado nesta parte só ocorre com instalações em HDD SATA. E vou explicar baseado em um exemplo prático.

Eu estou com uma placa-mãe ECS GF8200A (chipset Nforce 780a) aqui. No setup do BIOS existe um item "SATA Mode select" com três opções:

  • AHCI Mode
  • SATA Mode
  • RAID Mode

No modo AHCI o instalador do XP SP3 nem sequer enxerga o HDD*. Para instalar sem precisar apresentar drivers eu mudei o BIOS para o modo SATA, que instalou sem problemas. Depois de tudo funcionando eu mudei o BIOS para AHCI e o XP deixou de dar boot acusando o erro 7B-34.

* Ele poderia enxergar, se o disco estivesse com o driver já integrado com a ajuda do Nlite, mas isso é assunto para outra série de textos.

No meu caso eu fiz de propósito e poderia consertar facilmente mudando o BIOS de novo para SATA. Mas usar AHCI tem suas vantagens e isso também pode ocorrer se trocarmos a motherboard por uma sem opções (muito comum em notebooks), daí é bom saber como consertar isso.

A solução simples e direta:


A mesma solução, explicada:

Tenha em mente que tudo o que você precisa é de um arquivo driver e de um arquivo .reg com as configurações necessárias.

A primeira coisa foi descobrir qual o driver necessário. Geralmente é um único arquivo, com extensão .sys. Procurando no CD da motherboard eu encontrei um forte candidato em:

\RAID\AHCI\XP32\Floppy\Disk1\nvgts.sys 

Sabendo qual é o driver e, principalmente, tendo acesso ao disco de instalação do mesmo, quase todo o problema já está resolvido. Porque o resto da informação de que você precisa para criar o arquivo .reg para instalar o driver manualmente está em um arquivo .inf no mesmo diretório.

Na quarta parte deste texto eu explicarei como se usa esse arquivo .inf. Como eu estava com preguiça de criar o .reg eu mesmo, procurei primeiro alguém que já tivesse feito isso, com as palavras "nvgts.sys" e "AHCI" no Google. Cheguei a esta página. O arquivo .reg proposto tem o seguinte conteúdo:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10de&dev_0ad4&cc_0106]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="nvgts"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvgts]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000003
"ImagePath"="System32\\Drivers\\nvgts.sys"
"Tag"=dword:00000021
"DisableFilterCache"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvgts\parameters]
"BusType"=dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvgts\parameters\PnpInterface]
"5"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvgts\Enum]
"Count"=dword:00000001
"NextInstance"=dword:00000001
"0"="PCI\\VEN_10DE&DEV_0AD4&SUBSYS_83321043&REV_A2\\3&2411e6fe&2&48"


Seu autor chegou a ele por outro método: instalou o XP no modo AHCI e exportou do Registro a chave criada (isso também requer saber que chave exportar. Explicarei outro dia).  O arquivo funciona, mas tem informação desnecessária. O mínimo necessário é isto:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10de&dev_0ad4&cc_0106]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="nvgts"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvgts]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI miniport"
"ErrorControl"=dword:00000003
"ImagePath"="System32\\Drivers\\nvgts.sys"
"Tag"=dword:00000021
"DisableFilterCache"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvgts\parameters\PnpInterface]
"5"=dword:00000001




Você irá notar que isso é diferente do que está no link da solução curta. Lembre-se de meus arquivos .reg são feitos para serem aplicados por edição offline do Registro. O exemplo acima precisa ser aplicado online para funcionar (se não entendeu a diferença ainda, nem tente fazer isso).

Depois que você colocar o arquivo no lugar e aplicar o .reg, o XP deverá dar boot normalmente. Vai faltar apenas instalar os drivers Windows para o chipset. Mas isso é básico e não tem mais a ver com o problema desta série de textos, por isso não vou abordar aqui.

Como você pode entender do meu texto acima, qualquer instalação do XP dando erro STOP 7B-34 pode ser consertada facilmente se já tivermos os drivers e os arquivos .reg para os principais chipsets em nossa caixa de ferramentas. Em um futuro texto eu vou explicar como você pode criar um arquivo .reg desses do zero, bastando ter em mãos o "floppy" de instalação do driver.

7 comentários:

  1. Obrigado pela dica Jefferson, agora como faço para verificar se está mesmo rodando em modo AHCI ? Como verifico o status NCQ por exemplo ?
    Valeu

    ResponderExcluir
  2. OK esqueci de mencionar, estou usando Intel. O driver da NVIDIA mostra o status NCQ direto no gerenciador de dispositivos. Para visualizar o suporte NCQ na placa Intel é necessário instalar o Intel Matrix Storage Manager. Com isso instalado é possível verificar o modo SATA também.

    ResponderExcluir
  3. Rafael Netto2/6/11 11:03

    " Em um futuro texto eu vou explicar como você pode criar um arquivo .reg desses do zero, bastando ter em mãos o "floppy" de instalação do driver."

    Poxa Ryan, tá parecendo o teorema de Fermat...
    Um ano e meio se passou e cadê o "futuro texto"?

    ResponderExcluir
  4. Rafael,

    Desculpe a demora para responder.

    Muita coisa aconteceu nesse meio tempo e eu só tenho precisado fazer isso uma vez a cada X meses, quando muito, por isso não tive "incentivo" para elaborar o procedimento. Muitos testes para fazer e pouco tempo disponível.

    ResponderExcluir
  5. ChristineDarling14/9/12 11:03

    Bom! postando minha experiencia! Tive este problema de TELA AZUL com o arquivo nvgts.sys... Porem eu BURRAMENTE pensando que seria um drive adicional fui na pasta c:\windows\system32\drivers e dei um del nvgts.sys. Com isso meu Windows simplesmente PAROU de iniciar por completo... Então peguei o arquivo postado aqui na post e joguei em um pen drive para tentar jogar novamente na pasta acima pelo modo de reparação, sendo que o modo de reparação não lê pen drive... Foi necessario entao jogar o arquivo em outro HD e iniciar ele como slave aí sim pelo modo de reparação consegui substituir o arquivo problemático! nvgts.sys usando o comando copy dentro da pasta acima e dando o caminho do HD slave.
    Pra minha SORTE não perdi nenhum dado! Obrigada pela dica e pelo ARQUIVO! SHOW!

    ResponderExcluir
  6. Jefferson, vc é o "Supreme", eu tava pesquisando justamente sobre isso, também fico tentando criar uns esquemas pra facilitar as coisas nessa área, e resolvi por curiosidade dar uma fuçada para fazer exatamente isso, testei "N" formas, até exportar certas entradas e tal, mas no final resolvi testar do seu jeito, eu já tinha conhecimento de fazer edição off-line do registro, no meu caso 3 das minhas maquinas fazem a transição IDE-SATA/AHCI, mas só podia fazer os testes em uma, um note com a controladora AMD Hudson-1 FCH, resolvi por minha própria conta usar a sua dica e a entrada de registro já que no caso se tratava de controladora nForce, eu tinha que mudar tudo pra rodar com a Hudson e deu certo, editei tudo usando distros que produzi tipo winpe / 7pe e pra não demorar eu uso o G4D como gerenciador assim posso dar o boot em tudo em poucos segundos, valeu mesmo, vc é Kakaroto Informático.

    ResponderExcluir
  7. Cara, muito obrigado pelo post. Vejo que quase quarto anos depois de posta-lo ainda continua reolvendo problemas! No meu caso fui instalar um HD com Windows XP Sp3 em uma placa mãe ASUS Z87-A e logo apos surgir o logo do windows vinha a tela azul com esse erro. Depois de muito quebrar a cabeça achei esse post, entrei na BIOS e mudei de AHCI, para IDE e tudo se resolveu! Enfim, novamente, agradeço!

    Abraços

    Anderson

    ResponderExcluir

Siga as regras do blog ou seu comentário será ignorado.