SFC.exe i naprawa plików systemowych w Windows
Przez lata pracy z PC-tami i serwerami Windows spotkałem się z wieloma błędami, które spowodowane były uszkodzeniem lub brakiem plików systemowych, w szczególności bibliotek .DLL. Przeważnie źródłem takich problemów były instalatory różnych aplikacji (programów użytkowych, antywirusów, Service Pack-ów), wirusy, czy nawet błędne sektory na dysku twardym.
Przykładowe treści błędów jakie możemy napotkać to:
„Cannot find [ścieżka]\[nazwa pliku DLL].dll”
„[nazwa pliku DLL] Not Found”
„Cannot start [nazwa programu]. A required component is missing: [nazwa pliku DLL].dll.
Spotkawszy się z którymś z tych błędów, podstawowym krokiem naprawczym będzie przeinstalowanie danego programu. Co jednak jeśli mamy do czynienia z uszkodzonymi/brakującymi plikami systemowymi? Czy re-instalacja systemu i przywracane go z backupu lub punktów przywracania są jedynym ratunkiem? Otóż nie.
Warto wypróbować komendę, która występuje natywnie we wszystkich systemach od czasu Windows XP/2003 Server, aż do dzisiejszych Windows 8/2012 Server, a jest nią:
sfc /scannow
Powyższe polecenie wykona sprawdzenie integralności wszystkich plików systemowych, a jeśli znajdzie niezgodności, przywróci te pliki do pierwotnej wersji z nośnika CD/DVD (lub pod-mapowanego pliku .iso) naszego systemu. Często systemowi udaje się naprawić plik bez nośnika, a to dzięki lokalnie przechowywanym kopiom bibliotek np. z %systemroot%\system32\dllcache w Windows Xp, czy %systemroot%\winsxs w Windows 7.
Polecenie sfc ma garść dostępnych przełączników, które jak zawsze możecie sobie wylistować dopiskiem /?, i chociaż moim zamiarem nie jest przepisywanie dokumentacji, to pozwolę sobie podać dwa, które używam najczęściej.
To polecenie sprawdza wszystkie pliki systemowe, ale nie wykonuje naprawy:
sfc /verifyonly
To natomiast przeskanuje i naprawi konkretny plik:
sfc /scanfile [ścieżka do pliku\nazwa pliku]
Na koniec kilka uwag:
To polecenie trzeba wykonać na koncie administratora.
Gdy za pierwszym razem nie zadziała, warto wykonać je ponownie. Szczególnie Windowsy XP bywały nieposłuszne 🙂
Wspomniane awarie sektorów na dysku mogą uniemożliwić naprawę plików, bądź spowodować niebawem powtórne ich uszkodzenie. Należy upewnić się, że dysk jest w dobrej kondycji.
Opisanych tu błędów plików systemowych nie należy mylić z komunikatem “Invalid Win32 application”, który opisywałem jakiś czas temu. Zachęcam do zapoznania się z artykułem.
Jeśli macie jakieś pytania lub sugestie, piszcie śmiało 🙂
Od pewnego czasu mam problem z drukarką. W oknie Preferencji drukarki (HP Designjet 70) pojawiają się zamiast opisanych po angielsku przycisków (gdyż dla sterownika jest preferowany język angielski) pokazują się same ^&%* – krzaki. Zapewne jest to wina w wyświetlaniu jakiejś czcionki. Pytanie jest tylko której? Próbowałem naprawić system za pomocą: sfc /scannow, ale to nie dało żadnych rezultatów. Może tutaj dowiem się czegoś więcej?
Witam,
Sfc świetnie chodzi, gdy system da się odpalić choćby w trybie tekstowym. Natomiast przy braku takiej możliwości i odpaleniu z pena lub płyty sfc się buntuje i mówi, że się nie uruchomi bo jest oczekująca naprawa. Czy jest na to jakiś pomysł?
Pozdrawiam
czas123
Witam,
Wyskakuje mi na Windowsie 10 taki błąd i nie wiem co robić, bo ściągałem ten plik dll, dawałem go do pliku z grą i jeszcze do plików w folderze system 32 i dalej to samo. Reinstalowałem grę, miałem różne jej wersje i też nic.
Nazwa dziennika:Application
Źródło: Application Error
Data: 2017-06-02 11:49:22
Identyfikator zdarzenia:1000
Kategoria zadania:(100)
Poziom: Błędy
Słowa kluczowe:Klasyczny
Użytkownik: Nie dotyczy
Komputer: R7-571G
Opis:
Nazwa aplikacji powodującej błąd: witn.exe, wersja: 1.0.0.1, sygnatura czasowa: 0x00000000
Nazwa modułu powodującego błąd: XAudio2_5.dll_unloaded, wersja: 9.27.1734.0, sygnatura czasowa: 0x4aa1b293
Kod wyjątku: 0xc0000005
Przesunięcie błędu: 0x00039cf0
Identyfikator procesu powodującego błąd: 0x14c4
Godzina uruchomienia aplikacji powodującej błąd: 0x01d2db83693f9ed7
Ścieżka aplikacji powodującej błąd: C:GamesThe Lord of the Rings War in the Northwitn.exe
Ścieżka modułu powodującego błąd: XAudio2_5.dll
Identyfikator raportu: 64d20a6a-c7f5-4f9d-a398-f46f67cc1890
Pełna nazwa pakietu powodującego błąd:
Identyfikator aplikacji względem pakietu powodującego błąd:
Kod XML zdarzenia:
1000
2
100
0x80000000000000
19767
Application
R7-571G
witn.exe
1.0.0.1
00000000
XAudio2_5.dll_unloaded
9.27.1734.0
4aa1b293
c0000005
00039cf0
14c4
01d2db83693f9ed7
C:GamesThe Lord of the Rings War in the Northwitn.exe
XAudio2_5.dll
64d20a6a-c7f5-4f9d-a398-f46f67cc1890