Як відремонтувати пошкоджені файли, знайдені sfc / scannow? "Захист ресурсів Windows виявив пошкоджені файли, але не зміг виправити деякі з них."


48

У Windows 7 , після запуску chkdsk C: /F /Rта з’ясування того, що на моєму жорсткому диску є 24 Кб у поганих секторах (журнал розміщений нижче), я вирішив запустити утиліту перевірки системних файлів Windows 7 ( sfc /scannow).

SFC показав ff. повідомлення після його запуску: " Захист ресурсів Windows знайшов пошкоджені файли, але деякі з них не вдалося виправити. Деталі містяться у вітрині CBS.Log \ Logs \ CBS \ CBS.log. "

Оскільки файл CBS.log занадто великий, я побіг findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"(відповідно до статті KB 928228 Microsoft ), щоб отримати лише текст журналу, що стосується пошкоджених файлів. (журнал також розміщений нижче)

Як вирішити проблеми та відшкодувати згадані пошкоджені файли sfc /scannow?

Моя ОС - це Windows 7 , 64-розрядна.


chkdsk журнал

sfc / scannow журнал

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

Примітка: повний журнал знаходиться в http://pastebin.com/raw.php?i=gTEGZmWj . Внизу я цитував лише частини повного журналу (здебільшого з останньої частини), оскільки повний журнал не вписується в межі символів для запитань. Я додав його для попереднього перегляду.

...
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

журнал показує лише те, що я вам уже сказав. відновіть Windows за допомогою оновлення Inplace.
magicandre1981

@ magicandre1981 Я прочитав вашу відповідь. Я надішлю відгуки, як тільки я його спробую. Я включив журнали (які вже були в початковій публікації), щоб допомогти іншим потенційним відповідям у наданні можливих рішень.
galacticninja

Відповіді:


14

Єдиний спосіб виправити цю велику кількість пошкоджених файлів у Windows 7 - це зробити встановлення ремонту / оновлення Inplace .

  • Вставте DVD з Windows 7 або встановіть ISO 7 для Windows
  • Запустіть setup.exeіз DVD / підключеного ISO
  • під час налаштування виберіть upgrade

введіть тут опис зображення

Це відновлює Windows, але зберігає - це програми.

У 2015 році Microsoft підтримувала команду DISM з Windows 8 до Windows 7 для відновлення файлів. Подивіться, чи можна встановити оновлення KB2966583 , відкрийте командний рядок як адміністратор і запустіть, DISM /Online /Cleanup-Image /Scanhealthщоб спробувати відновити файли. Але якщо це не вдалося, спробуйте оновити Inplace. Все ще є найкращим варіантом для Windows 7, щоб переконатися, що він повністю відремонтований.


Але ми можемо скопіювати C:\Windows\System32\dism.exeна Windows 7, і це буде добре, чи не так?
Pacerier

1
Це не працює, якщо папка Users \ або Program Files \ не знаходиться на системному диску. :(
Кай

@Kai це правильно. Переміщення цих папок Microsoft не підтримує.
magicandre1981

ні, це не єдиний спосіб зробити ремонт вікон із встановлених медіа, я дав альтернативне і просте рішення.
Джордж Діма

@Pacerier MS підтримав команду scanHealth до Win7, тут вона працює як RestoreHealth у win8, але ви можете використовувати лише / Online, а не проти зображення.
magicandre1981

3

Запустіть chkdsk C: /F /Rз інсталяційного DVD з Windows,

  1. Завантаження з DVD Windows 7.
  2. Виберіть "Ремонт комп'ютера".
  3. Виберіть вашу цільову систему.
  4. На панелі інструментів відновлення виберіть командний рядок.
  5. Біжи chkdsk <your target drive>/: /F /R

Коли ви запускаєте контрольний диск з інсталяційного DVD, Windows намагатиметься відновити пошкоджені файли та виправити їх.

Я спробував це, і він працює кожен раз.


Дякую, Моханд. Ваша відповідь вирішила, що в моєму захисті ресурсів Windows виявлено пошкоджені файли, але не вдалося виправити деякі з них помилки.
Майлз Вулб

1
Вибачте, щоб оновити свій попередній коментар тут; 5-хвилинне вікно редагування сумно закрилося. Ось решта: Запуск chkdsk з DVD-дисків Windows 7, укладений з ( Не вдалося перенести зареєстровані повідомлення в журнал подій зі статусом 50 ), але, мабуть, це нормально . Дякуємо також @galacticninja за запитання!
Miles Wolbe

2

Якщо sfc /scannowце не працює, спробуйте виконати цю команду під час роботи Windows 8:

dism /Online /Cleanup-Image /RestoreHealth

або ця команда, якщо ви працюєте в режимі ремонту DVD 8 / DVD з Windows 8:

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

за умови, що зламана Windows 8 знаходиться на розділі C :.


Хоча ви відповідаєте, згадуєте Win 8, кроки є однаковими для Win 7.
Kinnectus

5
@BigChris і niutech: Схоже, це не працює в Windows 7. Я отримую ff. повідомлення про помилку з першою командою: 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.logЧи знаєте ви команди аналога для Windows 7?
galacticninja

7
З technet.microsoft.com/en-gb/library/hh824869.aspx : "Аргументи DISM / ScanHealth, / CheckHealth та / RestoreHealth можна використовувати лише під час обслуговування зображень Windows® 8 або Windows Server® 2012".
Люк Гірвін

1

У Windows 7 та новіших версіях компонентну базу даних SFC підтримує оновлення Windows. Запуск Windows Update спричинить автоматичний ремонт бази даних компонентів, після чого у вас може бути більше удачі з SFC.


ні, це звичайно, він не виправить winxs, дивіться рішення, яке я розмістив.
Джордж Діма

3
@GeorgeDima, можливо, ви зможете оцінити, що існує декілька можливих причин певної проблеми.
DustWolf

1

Хоча можливо відновити системні файли за допомогою оновлення (як детальніше вище), слід подумати, чи дійсно ви хочете це зробити. Якщо пошкодження системного файлу було викликано поганими секторами, швидше за все, ваш жорсткий диск починає виходити з ладу. У вас можуть не виникати більше проблем протягом певного часу, але скільки часу може пройти, перш ніж ви відчуєте більше корупції? Цього разу це були системні файли, можливо, це будуть ваші особисті дані наступного разу. Я рекомендую створити резервну копію всіх своїх даних, отримати або новий комп'ютер, або новий жорсткий диск, а потім відновити свої дані на ньому. Хоч і дорожче, але в довгостроковій перспективі безпечніше.


2
Це стосується лише мого питання, а ІМО - це скоріше коментар, а менше відповіді. Але, як відповідь на ваш пост, так, я дійсно зробив резервну копію важливих файлів, і я замінюю жорсткий диск, як тільки зможу. На моєму жорсткому диску все ще залишилося життя, хоча я все ще використовую його щодня і більше поганих секторів не виникло.
galacticninja

Його варто враховувати, вирішуючи, що робити. У довгостроковій перспективі погані сектори та пошкоджені дані є ознакою того, що щось не так, і резервне копіювання та заміна накопичувача, мабуть, розумна річ, навіть якщо це не відповідь, яку хоче почути ОП.
Подорожник Geek

1

Якщо SFC / SCANNOW не працює, спробуйте запустити його з комп'ютером у безпечному режимі. Переконайтесь, що папки PendingDeletes і PendingRenames існують під% WinDir% \ WinSxS \ Temp і що вони порожні. Якщо ні, видаліть вміст і знову запустіть SFC / SCANNOW. Докладнішу інформацію див. У розділі http://support.microsoft.com/kb/929833 .


1
Хтось може підтвердити, що безпечно видаляти вміст папок PendingDeletesі PendingRenames? Я бачив, як хтось каже, що це може зламати ОС після ремонту (вони не цитують джерело).
Том

Це працювало для Windows 8.1, і мені навіть не довелося перевіряти Pending*каталоги.
Хлоя

@Tom ні, не видаляйте їх, джерело посилання, яке надав WeHoChris, говорить, make sure that the PendingDeletes and PendingRenames folders exist under %WinDir%\WinSxS\Temp.але воно не говорить про те, що ви повинні їх видалити.
Шаян

0

Ще одне, що потрібно спробувати - це встановити інструмент CheckSUR від Microsoft: https://support.microsoft.com/en-us/kb/947821

"SUR" означає "Готовність до оновлення системи".

Її мета - відновити пошкоджені системні файли. (Тобто: він замінює їх гарною копією.) Його назва говорить про те, що вона створена для тих випадків, коли оновлення системи не запускалося, і що вона лише перевіряє, але насправді вона також усуває проблеми. Я не знаю, чи фіксує він лише підмножину системних файлів, необхідних для успішного оновлення, або всі їх. Можливо, люди, які зіткнулися з цією проблемою, можуть спробувати її, а потім запустити SFC знову, і повідомте нам, чи помилка пішла?

Це для Windows Vista та 7. У Windows 8 він уже встановлений, і він був перейменований в Обслуговування та управління зображеннями розгортання (DISM). Сподіваємось, це не так похмуро, як це звучить.


так як використовувати dsim таким чином у Windows 8?
користувач2284570

інсталятор Windows Update не має нічого спільного з ремонтом Winsxs.
Джордж Діма

-2

Найкращий метод для Windows 7, вручну скопіювати відсутні файли, я це зробив сьогодні, було 5 файлів для копіювання, після помилки SFC не було.

джерело знаходиться в $ install_media / source / install.wim. Відкрийте 7-zip і має таку ж структуру, що і розділ Windows, тому скопіюйте з відповідної папки.


1
великі шанси, що користувачі змішують 32 та 64 бітні файли, і це спричиняє помилки. не робіть цього
magicandre1981

ви не зрозуміли, моє рішення є безпечним, оскільки ви не можете змішати жоден файл, ви просто скопіюйте його в ту саму папку в поточній установці Windows. І ви не можете змішати 32 з 64, оскільки вони є в різних папках (syswow64 / system32).
Джордж Діма

3
ні, ви все ще можете отримати проблеми. install.wim включає дані RTM. якщо ви встановили оновлення, дані новіші, і ви замінюєте їх файлами RTM, і це також спричиняє проблеми. не робіть цього швидкого і брудного лайно. оновлення встановити / встановити на місці зберігає всі налаштування;)
magicandre1981

неправильно, якщо ви робите ремонт Windows з інсталяційного носія, він буде копіювати файли з носія, оригінали яких не оновлюються. а також замінить вже хороші файли. за допомогою мого методу ви можете просто скопіювати файли, що відсутній (повідомляє SFC), і все буде добре.
Джордж Діма

1
ні, я розумію, але в моєму випадку це спрацювало, це було простішим рішенням, ніж перезавантаження вікон з ремонтом диска, а також SFC / scanow повідомляє про версії відсутніх файлів, і в моєму випадку всі вони ніколи не оновлювалися Оновлення Windows, оскільки лише декілька системних файлів мають оновлення на часовій шкалі Windows, більшість з них залишаються запасними версіями на все життя.
Джордж Діма
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.