Verificador de Arquivos do Sistema, do inglês System File Checker (SFC[1]), é um utilitário no Microsoft Windows que permite aos usuários procurar e restaurar corrupções em arquivos de sistema do Windows. A Microsoft fornece esse utilitário com o Windows 98, o Windows 2000 e todas as versões subsequentes da família de sistemas operacionais Windows NT. No Windows Vista, Windows 7 e Windows 10, o verificador de arquivos do sistema é integrado à Proteção de Recursos do Windows (WRP), que protege as chaves e pastas do registro, bem como os arquivos críticos do sistema. No Windows Vista, o sfc.exe
pode ser usado para verificar caminhos de pastas específicas, incluindo a pasta do Windows e a pasta de inicialização (boot).
A Proteção de Arquivos do Windows (Windows File Protection - WFP) funciona registrando para notificação de alterações de arquivos no Winlogon. Se forem detectadas alterações em um arquivo protegido do sistema, o arquivo modificado será restaurado a partir de uma cópia em cache localizada em uma pasta compactada em %WinDir%\System32\dllcache
. A Proteção de Recursos do Windows funciona definindo listas de controle de acesso discricionárias (DACLs) e listas de controle de acesso (ACLs) definidas para recursos protegidos. A permissão para acesso total à modificação de recursos protegidos pelo WRP é restrita aos processos que usam o serviço de Instalador de Módulos do Windows (TrustedInstaller.exe
). Os administradores não têm mais direitos totais aos arquivos do sistema.
O componente Verificador de Arquivos de Sistema incluído nas versões do Windows 2000 anteriores ao Service Pack 4 anulava os patches distribuídos pela Microsoft.[5] Isso foi corrigido no Windows 2000 Service Pack 4.
Em sistemas operacionais baseados no Windows NT, o Verificador de Arquivos de Sistema pode ser chamado por meio do Prompt de Comando do Windows (com privilégio de Administrador), com o seguinte comando:
sfc /scannow (repara problemas encontrados)
ou
sfc /verifyonly (não repara problemas encontrados)
Se encontrar um problema, ele tentará substituir os arquivos problemáticos do Cache de DLL (%WinDir%\System32\Dllcache\
). Se o arquivo não estiver no Cache de DLL ou o Cache de DLL estiver corrompido, o usuário será solicitado a inserir a mídia de instalação do Windows ou fornecer o caminho de instalação de rede. O Verificador de Arquivos de Sistema determina o caminho de origem da instalação do Windows a partir dos valores de registro SourcePath
e ServicePackSourcePath
.[2] Ele pode continuar solicitando a mídia de instalação, mesmo se o usuário a fornecer, se esses valores não estiverem definidos corretamente.[3]
No Windows Vista e posteriores, os arquivos são protegidos usando listas de controle de acesso (ACLs), no entanto, o comando acima não foi alterado.
Verificador de arquivos do sistema no Windows Vista e nos sistemas operacionais Windows posteriores podem verificar arquivos especificados. Além disso, as varreduras podem ser executadas em uma pasta de instalação offline do Windows para substituir arquivos corrompidos, caso a instalação do Windows não seja inicializável. Para executar verificações off-line, o Verificador de Arquivos de Sistema deve ser executado em outra instalação funcional do Windows Vista ou em um sistema operacional posterior ou no DVD de instalação do Windows[4] ou em uma unidade de recuperação que forneça acesso ao Ambiente de Recuperação do Windows.
Nos casos em que o armazenamento de componentes está corrompido, a "Ferramenta de Preparação para Atualização do Sistema" (CheckSUR) pode ser instalada no Windows 7, Windows Server 2008 R2 ou Windows Server 2008, substituída pela "Ferramenta de Gerenciamento e Serviço de Imagem de Implantação" (DISM) para o Windows 10, Windows 8.1, Windows 8, Windows Server 2012 R2 ou Windows Server 2012. Essa ferramenta verifica o armazenamento em relação à sua própria carga útil e repara os danos que detecta baixando os arquivos necessários por meio da atualização do Windows.[5]
You do not need to hack the Registry to change the WFP settings. A command-line utility comes with Windows Server 2003 to set these values. Called the System File Checker, or SFC, the utility can also rebuild the D11Cache directory files if files are accidentally deleted.