Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Por padrão, as versões de 64 bits do Windows Vista e versões posteriores do Windows carregarão um driver de modo kernel somente se o kernel puder verificar a assinatura do driver. No entanto, esse comportamento padrão pode ser desativado durante o desenvolvimento inicial do driver e para testes não automatizados. Os desenvolvedores podem usar um dos seguintes mecanismos para desabilitar temporariamente a imposição de tempo de carregamento de uma assinatura de driver válida. No entanto, para automatizar totalmente o teste de um driver instalado pelo Plug and Play (PnP), o do arquivo de catálogo do driver deve ser assinado. A assinatura do driver é necessária porque o Windows Vista e versões posteriores do Windows exibem uma caixa de diálogo de assinatura de driver para drivers não assinados que exigem que um administrador do sistema autorize a instalação do driver, potencialmente impedindo que qualquer usuário sem os privilégios necessários instale o driver e use o dispositivo. Este comportamento de instalação do driver PnP não pode ser desativado no Windows Vista e versões posteriores do Windows.
usar a opção de inicialização avançada F8
O Windows Vista e versões posteriores do Windows suportam a opção de inicialização avançada F8 -- "Desativar imposição de assinatura de driver" -- que desabilita a imposição de assinatura em tempo de carregamento para um driver de modo kernel apenas para a sessão do sistema atual. Essa configuração não persiste nas reinicializações do sistema.
Anexar um Depurador de Kernel para Desativar a Verificação de Assinatura
Anexar um depurador de kernel ativo a um computador de desenvolvimento ou teste desativa a imposição de assinatura durante o tempo de carregamento para controladores em modo de kernel. Para usar essa configuração de depuração, anexe um computador de depuração a um computador de desenvolvimento ou teste e habilite a depuração do kernel no computador de desenvolvimento ou teste executando o seguinte comando:
bcdedit -debug on
Para usar o BCDEdit, o usuário deve ser membro do grupo Administradores no sistema e executar o comando a partir de um prompt de comando elevado. Para abrir uma janela elevada do Prompt de Comando, crie um atalho na área de trabalho para Cmd.exe, selecione e mantenha pressionado (ou clique com o botão direito do mouse) o atalho e selecione Executar como administrador.
Impondo a verificação de assinatura Kernel-Mode no modo de depuração do kernel
No entanto, há situações em que desenvolvedor pode precisar ter um depurador do kernel anexado, mas também precisa manter a aplicação da assinatura no momento do carregamento. Por exemplo, quando uma pilha de drivers contém um driver não assinado (como um driver de filtro), que falha ao carregar, pode invalidar toda a pilha. Como anexar um depurador permite que o driver não assinado carregue, o problema parece desaparecer assim que o depurador é anexado. Depurar esse tipo de problema pode ser difícil.
Para facilitar a depuração desses problemas, a política de assinatura de código do modo kernel suporta o seguinte valor do Registro:
HKLM\SYSTEM\CurrentControlSet\Control\CI\DebugFlags
Esse valor do registo é do tipo REG_DWORDe pode ser-lhe atribuído um valor com base num OR bit a bit de um ou mais dos seguintes sinalizadores:
0x00000001
Esse valor de sinalizador configura o kernel para aceder ao depurador se o driver estiver não assinado. O desenvolvedor ou testador pode então optar por carregar o driver não assinado digitando g no prompt do depurador.
0x00000010
Esse valor de parâmetro configura o kernel para ignorar a presença do depurador e para bloquear sempre o carregamento de um driver não assinado.
Se esse valor do Registro não existir no Registro ou tiver um valor que não se baseie nos sinalizadores descritos anteriormente, o kernel sempre carregará um driver no modo de depuração do kernel, independentemente de o driver estar assinado.
Nota Este valor do registo não existe no registo por predefinição. Você deve criar o valor para depurar a verificação de assinatura do modo kernel.