Как восстановить поврежденные файлы, найденные sfc / scannow? «Windows Resource Protection обнаружила поврежденные файлы, но не смогла исправить некоторые из них».

48

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

SFC показал фф. после запуска: « Средство защиты ресурсов Windows обнаружило поврежденные файлы, но не смог исправить некоторые из них. Подробная информация включена в CBS.Log windir \ Logs \ CBS \ CBS.log ».

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

Как устранить неполадки и восстановить поврежденные файлы, упомянутые sfc /scannow?

Моя ОС - Windows 7 , 64-битная.


лог чкдск

журнал 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
galacticninja
источник
журнал показывает только то, что я вам уже сказал. восстановить Windows с обновлением Inplace.
magicandre1981
@ magicandre1981 Я прочитал твой ответ. Я предоставлю отзыв, как только попробую. Я включил журналы (которые уже были в исходном посте), чтобы помочь другим потенциальным ответам в предоставлении возможных решений.
galacticninja

Ответы:

14

Единственный способ исправить это большое количество поврежденных файлов в Windows 7 - это выполнить ремонтную установку / обновление на месте .

  • Вставьте DVD-диск с Windows 7 или смонтируйте ISO-образ Windows 7
  • Запуск setup.exeс DVD / смонтированный ISO
  • во время настройки выберите upgrade

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

Это восстанавливает Windows, но сохраняет программы.

В 2015 году Microsoft перенесла команду DISM из Windows 8 в Windows 7 для восстановления файлов. Посмотрите, возможно ли установить обновление KB2966583 , откройте командную строку от имени администратора и запустите, DISM /Online /Cleanup-Image /Scanhealthчтобы попытаться восстановить файлы. Но если это не удается, попробуйте обновление на месте. Все еще остается лучшим вариантом для Windows 7, чтобы убедиться, что он полностью восстановлен.

magicandre1981
источник
Но мы можем скопировать C:\Windows\System32\dism.exeв Windows 7, и это будет нормально работать, верно?
Pacerier
1
Это не работает, если папка Users \ или Program Files \ не находится на системном диске. :(
Кай
@ Кай, это правильно. Перемещение этих папок не поддерживается Microsoft.
magicandre1981
нет, это не единственный способ восстановить Windows с установочного носителя, я дал альтернативное и простое решение.
Джордж Дима
@Pacerier MS перенес команду scanHealth на Win7, здесь она работает как RestoreHealth в win8, но вы можете использовать только / Online, а не изображение.
magicandre1981
3

Запустите chkdsk C: /F /Rс установочного DVD-диска Windows,

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

Когда вы запустите проверку диска с установочного DVD, Windows попытается восстановить поврежденные файлы и исправить их.

Я попробовал это, и это работает каждый раз.

Mohannd
источник
Большое спасибо, Моханд. Ваш ответ решил, что моя служба защиты ресурсов Windows обнаружила поврежденные файлы, но не смогла исправить некоторые из них .
Майлз Вольб
1
Извините, что обновил мой предыдущий комментарий здесь; 5-минутное окно редактирования закрылось печально. Остальное: запуск chkdsk с DVD-диска Windows 7, завершившегося ( Не удалось перенести зарегистрированные сообщения в журнал событий со статусом 50 ), но, видимо, это нормально . Спасибо также @galacticninja за вопрос!
Майлз Вольб,
2

Если sfc /scannowне работает, попробуйте эту команду при запуске Windows 8:

dism /Online /Cleanup-Image /RestoreHealth

или эта команда, если вы находитесь в режиме восстановления Windows 8 DVD / USB:

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

при условии, что сломанная Windows 8 находится на разделе C :.

niutech
источник
Хотя вам ответ упоминает 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 инициирует автоматическое восстановление базы данных компонентов, после чего вам может повезти с SFC.

DustWolf
источник
нет, это не будет, это не исправит winsxs, см. решение, которое я отправил.
Джордж Дима
3
@ GeorgeDima вы можете оценить, что существует более одной возможной причины для конкретной проблемы.
DustWolf
1

Хотя можно восстановить системные файлы с помощью обновления (как описано выше), вам следует подумать, действительно ли вы хотите это сделать. Если повреждение системных файлов было вызвано повреждением секторов, вероятно, ваш жесткий диск начинает выходить из строя. Возможно, у вас больше не будет проблем в течение некоторого времени, но сколько времени может пройти, прежде чем вы начнете испытывать больше коррупции? На этот раз это были системные файлы, возможно, в следующий раз это будут ваши личные данные. Я бы порекомендовал сделать резервную копию всех ваших данных, получить новый компьютер или новый жесткий диск, а затем восстановить данные на нем. Хоть и дороже, но в конечном итоге безопаснее.

Marionumber1
источник
2
Это только косвенно связано с моим вопросом, и IMO - это скорее комментарий, а не ответ. Но, как ответ на ваше сообщение, да, я действительно сделал резервную копию своих важных файлов и заменю жесткий диск, как только смогу. У моего жесткого диска еще есть жизнь, так как я все еще использую его ежедневно, и больше никаких плохих секторов не возникло.
galacticninja
Это стоит учитывать при принятии решения, что делать, хотя. В более долгосрочной перспективе плохие сектора и поврежденные данные являются признаком того, что что-то не так, и резервное копирование и замена диска, вероятно, является разумной вещью, даже если ОП не желает этого слышать.
Подмастерье Компьютерщик
1

Если SFC / SCANNOW не работает, попробуйте запустить его с компьютером в безопасном режиме. Убедитесь, что папки PendingDeletes и PendingRenames находятся в папке% WinDir% \ WinSxS \ Temp, и что они пусты. Если нет, удалите содержимое и снова запустите SFC / SCANNOW. См. Http://support.microsoft.com/kb/929833 для получения дополнительной информации.

WeHoChris
источник
1
В состоянии подтвердить , что это безопасно для удаления содержимого из Является ли кто - нибудь PendingDeletesи PendingRenamesпапок? Я видел, как кто-то сказал, что это может сломать ОС без возможности восстановления (они не указали источник).
Том
Это работало для Windows 8.1, и мне даже не нужно было проверять Pending*каталоги.
Хлоя
@ Нет, не удаляйте их, ссылка на источник, предоставленная 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?
user2284570
Установщик обновления Windows не имеет ничего общего с ремонтом 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, большинство из них остается стандартной версией на всю жизнь.
Джордж Дима