Ao executar setup.exe da mídia de instalação do Windows 11 para realizar uma atualização in-loco, o processo pode parar com uma mensagem de que o PC não pode ser atualizado devido a bloqueios de compatibilidade. Esses bloqueios impedem a atualização porque a Configuração do Windows detecta um driver, aplicativo ou componente de hardware incompatível com a compilação de destino. Em muitos casos, a incompatibilidade real é menor ou não está mais presente, mas o bloqueio permanece em cache. Este artigo explica por que os bloqueios de compatibilidade ocorrem, como limpá-los do registro e como ignorar o bloqueio com segurança usando opções de linha de comando.
Principais conclusões: Limpando bloqueios de compatibilidade para uma atualização in-loco bem-sucedida
- Caminho do registro HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade\Downlevel: Armazena entradas de bloqueio de compatibilidade que podem ser excluídas para remover o bloqueio.
- setup.exe /Auto Upgrade /Quiet /NoReboot /Compat IgnoreWarning: Opção de linha de comando que ignora bloqueios de compatibilidade não críticos durante a atualização.
- Arquivo de log da Configuração do Windows Panther\setupact.log: Contém códigos de erro detalhados que identificam qual bloqueio específico está impedindo a atualização.
Por que os bloqueios de compatibilidade impedem uma atualização in-loco no Windows 11
A Configuração do Windows executa uma verificação de compatibilidade antes de copiar qualquer arquivo. Ela verifica drivers instalados, software de terceiros e firmware do sistema em relação a uma lista de incompatibilidades conhecidas para a compilação de destino. Se a verificação encontrar uma correspondência, a Configuração grava uma entrada de bloqueio no registro e exibe uma mensagem de que a atualização não pode continuar.
Os bloqueios de compatibilidade se enquadram em duas categorias. Bloqueios rígidos impedem a atualização incondicionalmente. Eles aparecem quando um driver ou aplicativo é conhecido por causar perda de dados ou instabilidade do sistema na nova compilação. Bloqueios suaves são avisos sobre itens que podem causar problemas menores, como um aplicativo obsoleto ou um driver não assinado. A Configuração trata os bloqueios suaves como impedimentos, a menos que você os substitua explicitamente.
A causa mais comum de um falso positivo é uma entrada desatualizada deixada de uma tentativa de atualização anterior ou um driver que foi atualizado após a criação do bloqueio. O registro armazena os dados de bloqueio em um cache que a Configuração não atualiza automaticamente. Excluir o cache ou ignorar a verificação permite que a atualização prossiga.
Etapas para limpar bloqueios de compatibilidade e executar a atualização in-loco
Dois métodos funcionam para remover bloqueios de compatibilidade. O primeiro método exclui o cache de bloqueio do registro para que a Configuração faça uma nova verificação no sistema. O segundo método usa uma opção de linha de comando da Configuração para ignorar bloqueios suaves durante a atualização. Use o primeiro método quando quiser uma verificação limpa. Use o segundo método quando tiver certeza de que o bloqueio é um falso positivo e quiser pular a verificação completamente.
Método 1: Excluir o cache de bloqueio de compatibilidade do registro
- Abra o Editor do Registro
Pressione Windows + R, digite regedit e pressione Enter. Clique em Sim na solicitação de Controle de Conta de Usuário. - Navegue até a chave Downlevel
Vá para HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade\Downlevel. Se a chave Downlevel não existir, crie-a clicando com o botão direito em Upgrade, selecionando Novo > Chave e nomeando-a Downlevel. - Faça backup da chave Downlevel
Clique com o botão direito na chave Downlevel e escolha Exportar. Salve o arquivo .reg na área de trabalho. Esta etapa permite restaurar os bloqueios se a atualização falhar. - Exclua todos os valores em Downlevel
Selecione cada valor sob a chave Downlevel e pressione Excluir. Não exclua a chave em si. Os valores têm nomes como FailureAction, FailureActionString e BlockingApplication. - Feche o Editor do Registro e execute a Configuração
Clique duas vezes em setup.exe da mídia de instalação do Windows 11. Escolha Manter arquivos pessoais e aplicativos e prossiga com a atualização.
Método 2: Usar a opção /Compat IgnoreWarning para ignorar bloqueios
- Abra um Prompt de Comando elevado
Pressione Windows + X e selecione Terminal (Admin). Clique em Sim na solicitação do UAC. - Navegue até a pasta de Configuração
Digite cd /d D:\sources e pressione Enter. Substitua D pela letra da unidade da sua mídia de instalação. A letra da unidade pode ser diferente no seu sistema. - Execute a Configuração com a substituição de compatibilidade
Digite o seguinte comando e pressione Enter:setup.exe /Auto Upgrade /Quiet /NoReboot /Compat IgnoreWarning
O parâmetro /Auto Upgrade força uma atualização in-loco. /Quiet suprime a interface do usuário. /NoReboot impede uma reinicialização automática para que você possa revisar o log. /Compat IgnoreWarning instrui a Configuração a ignorar bloqueios suaves de compatibilidade. - Monitore o progresso da atualização
Abra o Explorador de Arquivos e navegue até C:\$Windows.~BT\Sources\Panther. Abra setupact.log com o Bloco de Notas. Pesquise a palavra Error ou Compat para ver se ainda existem bloqueios rígidos. Se não houver bloqueios rígidos, a atualização será concluída. - Reinicie o PC manualmente
Após os arquivos de atualização serem copiados, reinicie o PC executando shutdown /r /t 0 na mesma janela do Prompt de Comando.
Se a atualização in-loco ainda falhar após limpar os bloqueios
O log de Configuração mostra o código de erro 0x80070490
O erro 0x80070490 indica um repositório de componentes ausente ou corrompido. Execute DISM /Online /Cleanup-Image /RestoreHealth em um Prompt de Comando elevado antes de tentar a atualização novamente. Este comando repara a imagem do sistema que a Configuração usa para verificações de compatibilidade.
O log de Configuração mostra o código de erro 0x80073712
O erro 0x80073712 significa que uma atualização necessária está ausente. Instale todas as atualizações pendentes do Windows em Configurações > Windows Update e reinicie o PC. Em seguida, tente novamente a atualização in-loco.
O log de Configuração mostra o código de erro 0x80070002
O erro 0x80070002 é um erro de arquivo não encontrado. Ocorre quando a mídia de instalação está corrompida ou incompleta. Baixe novamente a ISO do Windows 11 na página de download de software da Microsoft e crie uma nova unidade USB usando a Ferramenta de Criação de Mídia.
Um driver ou aplicativo específico está listado na mensagem de bloqueio
Se a mensagem de bloqueio de compatibilidade nomear um driver ou aplicativo específico, desinstale esse item antes de executar a Configuração. Abra Configurações > Aplicativos > Aplicativos instalados, encontre o item e clique em Desinstalar. Para drivers, abra o Gerenciador de Dispositivos, clique com o botão direito no dispositivo e selecione Desinstalar dispositivo. Marque a caixa Tentar remover o driver para este dispositivo e confirme.
Cache de bloqueio do registro vs substituição por linha de comando: principais diferenças
| Item | Excluir cache do registro | Opção /Compat IgnoreWarning |
|---|---|---|
| Efeito em bloqueios rígidos | Limpa todos os bloqueios, incluindo rígidos, antes que a Configuração faça uma nova verificação no sistema | Ignora apenas bloqueios suaves; bloqueios rígidos ainda impedem a atualização |
| Nível de risco | Baixo se o bloqueio for um falso positivo; alto se o bloqueio for legítimo e você prosseguir sem corrigir a incompatibilidade | Baixo quando usado para bloqueios suaves; ineficaz para bloqueios rígidos |
| Quando usar | Quando você suspeitar que um bloqueio desatualizado ou incorreto está impedindo a atualização | Quando você tiver certeza de que o bloqueio é um aviso suave e quiser pular a verificação de compatibilidade |
| Requer acesso ao registro | Sim | Não |
| Requer prompt de comando elevado | Não | Sim |
Agora você pode limpar bloqueios de compatibilidade que impedem uma atualização in-loco no Windows 11. Use o método do registro para remover entradas de cache desatualizadas ou use a opção /Compat IgnoreWarning para ignorar bloqueios suaves. Após a conclusão da atualização, execute sfc /scannow em um Prompt de Comando elevado para verificar se todos os arquivos do sistema estão intactos. Para falhas persistentes, verifique o arquivo setupact.log em busca de códigos de erro e trate cada um individualmente.