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 :)


Podobne Tematy:

  • albion65

    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?

  • czas123

    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

  • Hikaru

    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