TIP#250: Jak ověřit integritu systémových souborů ve Windows a opravit je? Pomocí SFC

Může se vám stát, že vám něco ve Windows nefunguje. Po update na Windows 10 například řadě lidí přestal Outlook odesílat poštu, ačkoliv by se nemělo v zásadě nic změnit. Paradoxně to má, ve většině případů, řešení v opravě poškozených knihoven/programů nebo náhradě knihovny/programu, kde nedošlo k správné aktualizaci. Slouží k tomu příkaz SFC.

SFC můžete chápat jako System File Checker (jmenuje se to tak) a vyvoláte ho z příkazové řádky spuštěné pod účtem správce (viz Co je to ten DOS? A příkazová řádka?). Pokud se chcete rovnou vrhnout na případnou kontrolu s opravou tak použijete SFC /scannow.

Pokud chcete pouze provést kontrolu a nic neopravovat, tak použijete SFC /verifyonly

windows-command-sfc

Můžete si pouze spustit SFC a zobrazí se vám nápověda – tam najdete ještě možnost kontroly a opravy jednoho konkrétního soubor a to jak řešit offline opravu, tedy tu kdy není k dispozici připojení k Internetu a správné soubory je případně potřeba brát odněkud odjinud. Nápověda je případně k dispozici v Use the System File Checker tool to repair missing or corrupted system files

Pamatujte, SFC může běžet poměrně dlouho a není dobré ho předčasně ukončit (ano, může to být i několik desítek minut). To co nakonec najde a (případně) udělá zaznamená do souboru CBS.log – ten je k nalezení jako %windir%\Logs\CBS\CBS.log

TIP: Přesně jak ve výše uvedeném popisu navrhují je dobré si z CBS.LOG vyfiltrovat pouze položky s [SR] v textu. Třeba pomoci findstr /c:“[SR]“ CBS.log

Pokud SFC najde problémy ale nemůže je opravit, je dost dobře možné pomoci spuštěním počítače v nouzovém režimu (safe mode), podrobnosti případně viz Jak restartovat Windows 10 do nouzového režimu (safe mode).

Jak to vypadá když SFC spustíte

C:\>sfc /verifyonly

Beginning system scan. This process will take some time.

Beginning verification phase of system scan.
Verification 100% complete.

Windows Resource Protection found integrity violations. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log. Note that logging is currently not supported in offline servicing scenarios.

DISM aneb další možnosti (když třeba selže SFC)

Ve Windows 8 a Windows 10 ještě existuje další možnost – příkaz DISM (opět nutno spouštět jako správce a používá se jako DISM /Online /Cleanup-Image /RestoreHealth) – ten použijte, restartujte počítač a pak zkuste znovu SFC.  Pokud chcete jen provést kontrolu a nic nenapravovat, tak můžete použít Dism /Online /Cleanup-Image /ScanHealth. Nápověda a dokumentace k dispozici v Repair a Windows Image a DISM Operating System Package Servicing Command-Line Options. Výsledek činnosti DISM také končí v log souboru (%windir%\Logs\DISM\dism.log).

TIP: Ve Windows Vista, 7 a Server 2008 je k dispozici také  System Update Readiness Tool s podobnými možnostmi co se nápravy systémových souborů týče.

windows-dism-running

DISM je podstatně nebezpečnější a pokročilejší nástroj než SFC, pamatujte na to, pokud se s ním budete o něco pokoušet. Umí toho mnohem víc, takže případné hraní s parametry nemusí mít zrovna ten správný výsledek. A ještě dodatek, klasicky, DISM běží dlouho a také se tomu dost dlouho nehýbe onen procentuální ukazatel, tak nepropadejte panice.

TIP: Nezapomeňte, @365tipů má velmi rozsáhlou kolekci tipů a triků pro Windows 10 ale i pro Windows jako takové. Vše najdete v ‣ Vše co jste chtěli vědět o Windows 10