Jak naprawić uszkodzone pliki znalezione przez sfc / scannow? „Ochrona zasobów systemu Windows znalazła uszkodzone pliki, ale nie była w stanie naprawić niektórych z nich.”

48

W systemie Windows 7 , po uruchomieniu chkdsk C: /F /Ri stwierdzeniu, że mój dysk twardy ma 24 KB w uszkodzonych sektorach (dziennik znajduje się poniżej), zdecydowałem się uruchomić narzędzie do sprawdzania plików systemowych w systemie Windows 7 ( sfc /scannow).

SFC pokazało ff. komunikat po uruchomieniu: „ Ochrona zasobów systemu Windows znalazła uszkodzone pliki, ale nie była w stanie naprawić niektórych z nich. Szczegóły są zawarte w pliku CBS.Log windir \ Logs \ CBS \ CBS.log.

Ponieważ plik CBS.log jest zbyt duży, uruchomiłem findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"(zgodnie z artykułem KB 928228 Microsoftu ), aby uzyskać tylko tekst dziennika odnoszący się do uszkodzonych plików. (dziennik znajduje się również poniżej)

Jak rozwiązywać problemy i naprawiać uszkodzone pliki wymienione przez sfc /scannow?

Mój system operacyjny to Windows 7 , 64-bit.


dziennik chkdsk

sfc / scannow log

(przez findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt")

Uwaga: pełny log jest http://pastebin.com/raw.php?i=gTEGZmWj . Cytowałem tylko części pełnego dziennika poniżej (głównie z ostatniej części), ponieważ pełny dziennik nie mieści się w limicie znaków na pytania. Dodałem go, aby służył jako podgląd.

...
2013-12-28 19:37:50, Info  CSI00000542 [SR] Beginning Verify and Repair transaction
2013-12-28 19:37:55, Info  CSI00000544 [SR] Verify complete
2013-12-28 19:37:56, Info  CSI00000545 [SR] Verifying 95 (0x000000000000005f) components
2013-12-28 19:37:56, Info  CSI00000546 [SR] Beginning Verify and Repair transaction
2013-12-28 19:38:03, Info  CSI00000548 [SR] Verify complete
2013-12-28 19:38:03, Info  CSI00000549 [SR] Repairing 43 (0x000000000000002b) components
2013-12-28 19:38:03, Info  CSI0000054a [SR] Beginning Verify and Repair transaction

...

2013-12-28 19:38:15, Info  CSI0000075d [SR] Could not reproject corrupted file [ml:520{260},l:84{42}]"\??\C:\Windows\System32\migwiz\dlmanifests"\[l:38{19}]"IasMigPlugin-DL.man"; source file in store is also corrupted
2013-12-28 19:38:15, Info  CSI00000760 [SR] Could not reproject corrupted file [ml:520{260},l:84{42}]"\??\C:\Windows\System32\migwiz\dlmanifests"\[l:50{25}]"International-Core-DL.man"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI00000762 [SR] Cannot repair member file [l:24{12}]"wbemdisp.dll" of Microsoft-Windows-WMI-Scripting, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI00000763 [SR] This component was referenced by [l:202{101}]"Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.WindowsFoundationDelivery"
2013-12-28 19:38:16, Info  CSI00000766 [SR] Could not reproject corrupted file [ml:58{29},l:56{28}]"\??\C:\Windows\SysWOW64\wbem"\[l:24{12}]"wbemdisp.dll"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI00000768 [SR] Cannot repair member file [l:56{28}]"Microsoft.MediaCenter.UI.dll" of Microsoft.MediaCenter.UI, Version = 6.1.7601.17514, pA = PROCESSOR_ARCHITECTURE_MSIL (8), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI00000769 [SR] This component was referenced by [l:176{88}]"Microsoft-Windows-MediaCenter-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.MediaCenter"
2013-12-28 19:38:16, Info  CSI0000076c [SR] Could not reproject corrupted file [ml:520{260},l:40{20}]"\??\C:\Windows\ehome"\[l:56{28}]"Microsoft.MediaCenter.UI.dll"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI0000076e [SR] Cannot repair member file [l:24{12}]"ReAgentc.exe" of Microsoft-Windows-WinRE-RecoveryTools, Version = 6.1.7601.17514, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI0000076f [SR] This component was referenced by [l:202{101}]"Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.WindowsFoundationDelivery"
2013-12-28 19:38:16, Info  CSI00000772 [SR] Could not reproject corrupted file [ml:48{24},l:46{23}]"\??\C:\Windows\SysWOW64"\[l:24{12}]"ReAgentc.exe"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI00000774 [SR] Cannot repair member file [l:82{41}]"System.Management.Automation.dll-Help.xml" of Microsoft-Windows-PowerShell-PreLoc.Resources, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture = [l:10{5}]"en-US", VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI00000775 [SR] This component was referenced by [l:266{133}]"Microsoft-Windows-Client-Features-Package~31bf3856ad364e35~amd64~en-US~6.1.7601.17514.Microsoft-Windows-Client-Features-Language-Pack"
2013-12-28 19:38:16, Info  CSI00000778 [SR] Could not reproject corrupted file [ml:520{260},l:104{52}]"\??\C:\Windows\System32\WindowsPowerShell\v1.0\en-US"\[l:82{41}]"System.Management.Automation.dll-Help.xml"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI0000077a [SR] Cannot repair member file [l:18{9}]"hlink.dll" of Microsoft-Windows-HLink, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_INTEL (0), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch
2013-12-28 19:38:16, Info  CSI0000077b [SR] This component was referenced by [l:202{101}]"Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~6.1.7601.17514.WindowsFoundationDelivery"
2013-12-28 19:38:16, Info  CSI0000077e [SR] Could not reproject corrupted file [ml:48{24},l:46{23}]"\??\C:\Windows\SysWOW64"\[l:18{9}]"hlink.dll"; source file in store is also corrupted
2013-12-28 19:38:16, Info  CSI00000780 [SR] Repair complete
2013-12-28 19:38:16, Info  CSI00000781 [SR] Committing transaction
2013-12-28 19:38:19, Info  CSI00000785 [SR] Verify and Repair Transaction completed. All files and registry keys listed in this transaction  have been successfully repaired
galacticninja
źródło
dziennik pokazuje tylko to, co już ci powiedziałem. napraw system Windows za pomocą aktualizacji Inplace.
magicandre1981,
@ magicandre1981 Przeczytałem twoją odpowiedź. Prześlę opinię, gdy spróbuję. Dołączyłem dzienniki (które były już w oryginalnym poście), aby pomóc innym potencjalnym odpowiedziom w zapewnieniu możliwych rozwiązań.
galacticninja

Odpowiedzi:

14

Jedynym sposobem na naprawienie tak dużej ilości uszkodzonych plików w systemie Windows 7 jest wykonanie naprawy instalacji / uaktualnienia w miejscu .

  • Włóż dysk DVD z systemem Windows 7 lub podłącz system Windows 7 ISO
  • Uruchom setup.exez DVD / ISO zamontowanego
  • podczas instalacji wybierz upgrade

wprowadź opis zdjęcia tutaj

To naprawia system Windows, ale zachowuje to programy.

W 2015 r. Microsoft dokonał backportu polecenia DISM z Windows 8 do Windows 7, aby naprawić pliki. Sprawdź, czy można zainstalować aktualizację KB2966583 , otwórz wiersz polecenia jako administrator i uruchom, DISM /Online /Cleanup-Image /Scanhealthaby spróbować naprawić pliki. Ale jeśli to się nie powiedzie, wypróbuj uaktualnienie w miejscu. Nadal jest najlepszą opcją dla systemu Windows 7, aby upewnić się, że zostanie w pełni naprawiony.

magicandre1981
źródło
Ale możemy skopiować C:\Windows\System32\dism.exena system Windows 7 i działałoby to dobrze, prawda?
Pacerier
1
To nie działa, jeśli folder Users \ lub Program Files \ nie znajduje się na dysku systemowym. :(
Kai
@Kai to jest poprawne. Przenoszenie tych folderów nie jest obsługiwane przez Microsoft.
magicandre1981
nie, to nie jedyny sposób na naprawę systemu Windows z nośnika instalacyjnego, podałem alternatywne i proste rozwiązanie.
George Dima,
@Pacerier MS przeportował polecenie scanHealth do Win7, tutaj działa jak RestoreHealth w win8, ale możesz używać tylko / Online, a nie przeciwko obrazowi.
magicandre1981
3

Uruchom chkdsk C: /F /Rz instalacyjnego dysku DVD systemu Windows,

  1. Uruchom komputer z dysku DVD systemu Windows 7.
  2. Wybierz „Napraw komputer”.
  3. Wybierz system docelowy.
  4. W panelu narzędzi odzyskiwania wybierz Wiersz polecenia.
  5. Biegać chkdsk <your target drive>/: /F /R

Po uruchomieniu dysku sprawdzającego z instalacyjnego dysku DVD system Windows spróbuje odzyskać uszkodzone pliki i naprawić je.

Próbowałem i działa za każdym razem.

Mohannd
źródło
Dziękuję bardzo, Mohannd. Twoja odpowiedź rozwiązała mój system Windows Resource Protection znalazł uszkodzone pliki, ale nie mógł naprawić niektórych z nich .
Miles Wolbe
1
Przepraszam, że zaktualizowałem mój poprzedni komentarz tutaj; 5-minutowe okno edycji zostało niestety zamknięte. Oto reszta: Uruchamianie programu chkdsk z dysku DVD systemu Windows 7 zakończonego komunikatem ( Nie udało się przenieść zarejestrowanych wiadomości do dziennika zdarzeń o statusie 50 ), ale najwyraźniej jest to normalne . Dziękujemy również @galacticninja za zadanie pytania!
Miles Wolbe,
2

Jeśli sfc /scannownie działa, wypróbuj to polecenie podczas uruchamiania systemu Windows 8:

dism /Online /Cleanup-Image /RestoreHealth

lub to polecenie, jeśli jesteś w trybie naprawy DVD / USB systemu Windows 8:

Dism /Image:C:\ /Cleanup-Image /RestoreHealth

pod warunkiem, że uszkodzony system Windows 8 znajduje się na partycji C :.

niutech
źródło
Mimo że wspominasz o Win 8, kroki są takie same dla Win 7.
Kinnectus
5
@BigChris i niutech: Wydaje się, że to nie działa w systemie Windows 7. Dostaję ff. komunikat o błędzie przy pierwszym poleceniu: Error: 87 — The restorehealth option is not recognized in this context. — For more information, refer to the help. — The DISM log file can be found at C:\Windows\Logs\DISM\dism.logCzy znasz polecenia odpowiadające systemowi Windows 7?
galacticninja
7
Od technet.microsoft.com/en-gb/library/hh824869.aspx : „Argumentów DISM / ScanHealth, / CheckHealth i / RestoreHealth można używać tylko podczas obsługi obrazów systemu Windows® 8 lub Windows Server® 2012”.
Luke Girvin
1

W systemie Windows 7 i nowszych baza danych składników SFC jest obsługiwana przez usługę Windows Update. Uruchomienie usługi Windows Update uruchomi automatyczną naprawę bazy danych składników, po czym możesz mieć więcej szczęścia z SFC.

DustWolf
źródło
nie, to nie będzie, nie naprawi winsxs, zobacz rozwiązanie, które opublikowałem.
George Dima,
3
@GeorgeDima możesz docenić, że istnieje więcej niż jeden możliwy powód konkretnego problemu.
DustWolf,
1

Chociaż możliwe jest naprawienie plików systemowych poprzez aktualizację (jak szczegółowo opisano powyżej), należy rozważyć, czy naprawdę chcesz to zrobić. Jeśli uszkodzenie pliku systemowego zostało spowodowane przez uszkodzone sektory, prawdopodobnie dysk twardy zaczyna działać wadliwie. Przez jakiś czas możesz nie mieć żadnych problemów, ale jak długo to potrwa, zanim doznasz więcej korupcji? Tym razem były to pliki systemowe, może następnym razem będą to Twoje dane osobowe. Zalecam wykonanie kopii zapasowej wszystkich danych, uzyskanie nowego komputera lub nowego dysku twardego, a następnie przywrócenie na nim danych. Choć droższy, na dłuższą metę jest bezpieczniejszy.

Marionumber 1
źródło
2
Jest to tylko stycznie związane z moim pytaniem, a IMO jest raczej komentarzem, a nie odpowiedzią. Ale w odpowiedzi na Twój post, tak, rzeczywiście zrobiłem kopię zapasową moich ważnych plików i wymienię dysk twardy, gdy tylko będę mógł. Na moim dysku twardym wciąż jest życie, ponieważ wciąż go używam i nie powstały już złe sektory.
galacticninja
Warto jednak wziąć to pod uwagę przy podejmowaniu decyzji, co robić. W dłuższej perspektywie złe sektory i uszkodzone dane oznaką, że coś jest nie tak, a tworzenie kopii zapasowej i wymiana dysku jest prawdopodobnie mądrą rzeczą, nawet jeśli nie jest to odpowiedź, którą OP chce usłyszeć.
Journeyman Geek
1

Jeśli SFC / SCANNOW nie działa, spróbuj uruchomić go z komputerem w trybie BEZPIECZNYM. Upewnij się, że foldery PendingDeletes i PendingRenames istnieją w folderze% WinDir% \ WinSxS \ Temp i że są puste. Jeśli nie, usuń zawartość i ponownie uruchom SFC / SCANNOW. Aby uzyskać więcej informacji, zobacz http://support.microsoft.com/kb/929833

WeHoChris
źródło
1
Czy ktoś może potwierdzić, że można bezpiecznie usunąć zawartość folderów PendingDeletesi PendingRenames? Widziałem, jak ktoś powiedział, że może to uszkodzić system operacyjny nie do naprawienia (nie podał źródła).
Tom
Działa to w systemie Windows 8.1 i nawet nie musiałem sprawdzać Pending*katalogów.
Chloe
@Tom nie nie usuwaj ich, link źródłowy, który dostarczył WeHoChris, mówi, make sure that the PendingDeletes and PendingRenames folders exist under %WinDir%\WinSxS\Temp.ale nie mówi, że powinieneś je usunąć.
Shayan
0

Inną rzeczą do wypróbowania jest zainstalowanie narzędzia CheckSUR firmy Microsoft: https://support.microsoft.com/en-us/kb/947821

„SUR” oznacza „Gotowość aktualizacji systemu”.

Jego celem jest naprawa uszkodzonych plików systemowych. (To znaczy: zastępuje je dobrą kopią.) Jego nazwa sugeruje, że został stworzony dla przypadków, gdy aktualizacja systemu nie uruchomi się, i że tylko sprawdza, ale w rzeczywistości naprawia problemy. Nie wiem, czy to naprawia tylko podzbiór plików systemowych niezbędnych do powodzenia aktualizacji, czy wszystkie. Być może ludzie, którzy napotkają ten problem, mogą go wypróbować, a następnie ponownie uruchomić SFC i powiadomić nas, jeśli błąd zniknie?

Dotyczy to Windows Vista i 7. W Windows 8 jest już zainstalowany i został przemianowany na Deployment Image Servicing and Management (DISM). Mam nadzieję, że nie jest tak ponuro, jak się wydaje.

Jewgienij Siergiejew
źródło
więc jak używać dsim w ten sposób w Windows 8?
user2284570
Instalator aktualizacji systemu Windows nie ma nic wspólnego z naprawą Winsxs.
George Dima,
-2

najlepsza metoda dla Windows 7, ręczne kopiowanie brakujących plików, zrobiłem to dzisiaj, miałem 5 plików do skopiowania, bez błędu SFC później.

źródło znajduje się w $ install_media / source / install.wim. Otwórz za pomocą 7-zip i ma taką samą strukturę jak partycja Windows, więc skopiuj z odpowiedniego folderu.

George Dima
źródło
1
istnieje duże prawdopodobieństwo, że użytkownicy mieszają pliki 32- i 64-bitowe, co powoduje błędy. nie rób tego
magicandre1981,
nie zrozumiałeś, moje rozwiązanie jest bezpieczne, ponieważ nie możesz mieszać żadnego pliku, po prostu skopiuj go do tego samego folderu w bieżącej instalacji systemu Windows. I nie można mieszać 32 z 64, ponieważ są one w różnych folderach (syswow64 / system32).
George Dima,
3
nie, nadal możesz mieć problemy. install.wim zawiera dane RTM. jeśli masz zainstalowane aktualizacje, dane są nowsze i zastępujesz je plikami RTM, co również powoduje problemy. nie rób tego szybkiego i brudnego badziewia. naprawa instalacja / uaktualnienie w miejscu zachowuje wszystkie ustawienia;)
magicandre1981,
źle, jeśli wykonasz naprawę systemu Windows z nośnika instalacyjnego, skopiuje pliki z nośnika, które są oryginalne, a nie zaktualizowane. i zastąpi również pliki, które są już dobre. używając mojej metody możesz po prostu skopiować brakujące pliki (zgłoszone przez SFC) i wszystko będzie dobrze.
George Dima,
1
nie, rozumiem o co chodzi, ale w moim przypadku zadziałało, było to prostsze rozwiązanie niż resetowanie systemu Windows z naprawą dysku, a także SFC / scanow zgłasza wersje brakujących plików, aw moim przypadku wszystkie z nich nigdy nie były aktualizowane przez Windows Update, ponieważ tylko kilka plików systemowych ma aktualizacje na osi czasu Windows, większość z nich pozostaje wersją magazynową na całe życie.
George Dima,