Làm cách nào để sửa chữa các tệp bị hỏng được tìm thấy bởi sfc / scannow? Bảo vệ tài nguyên Windows Windows tìm thấy các tệp bị hỏng nhưng không thể sửa một số tệp.


48

Trong Windows 7 , sau khi chạy chkdsk C: /F /Rvà phát hiện ra rằng đĩa cứng của tôi có 24 KB trong các thành phần xấu (nhật ký được đăng bên dưới), tôi đã quyết định chạy tiện ích Trình kiểm tra tệp hệ thống của Windows 7 ( sfc /scannow).

SFC cho thấy ff. sau khi tôi chạy nó: " Windows Resource Protection tìm thấy các tệp bị hỏng nhưng không thể sửa một số trong số chúng. Chi tiết được bao gồm trong CBS.Log Windir \ Logs \ CBS \ CBS.log. "

Vì tệp CBS.log quá lớn, tôi đã chạy findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfcdetails.txt"(theo bài viết KB 928228 của Microsoft ) để chỉ nhận văn bản nhật ký liên quan đến các tệp bị hỏng. (nhật ký cũng được đăng dưới đây)

Làm cách nào để khắc phục sự cố và sửa chữa các tệp bị hỏng được đề cập bởi sfc /scannow?

HĐH của tôi là Windows 7 , 64-bit.


nhật ký chkdsk

nhật ký sfc / scannow

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

Lưu ý: Các bản ghi đầy đủ là tại http://pastebin.com/raw.php?i=gTEGZmWj . Tôi chỉ trích dẫn các phần của nhật ký đầy đủ bên dưới (hầu hết từ phần cuối cùng), vì nhật ký đầy đủ sẽ không phù hợp trong giới hạn ký tự cho các câu hỏi. Tôi đã thêm nó để phục vụ như một bản xem trước.

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

Nhật ký chỉ hiển thị những gì tôi đã nói với bạn. sửa chữa Windows với bản nâng cấp Inplace.
magicandre1981

@ magicandre1981 Tôi đã đọc câu trả lời của bạn. Tôi sẽ cung cấp thông tin phản hồi khi tôi đã thử nó. Tôi đã bao gồm các bản ghi (đã có trong bài viết gốc) để giúp các câu trả lời tiềm năng khác trong việc cung cấp các giải pháp có thể.
galacticninja

Câu trả lời:


14

Cách duy nhất để khắc phục số lượng lớn tệp bị hỏng này trong Windows 7 là thực hiện cài đặt sửa chữa / nâng cấp tại chỗ .

  • Chèn DVD Windows 7 của bạn hoặc gắn ISO Windows 7
  • Chạy setup.exetừ DVD / ISO được gắn
  • trong khi thiết lập chọn upgrade

nhập mô tả hình ảnh ở đây

Điều này sửa chữa Windows nhưng giữ là chương trình.

Vào năm 2015, Microsoft đã đưa ra lệnh DISM từ Windows 8 sang Windows 7 để sửa chữa các tệp. Hãy xem nếu có thể cài đặt bản cập nhật KB2966583 , hãy mở một dấu nhắc lệnh với tư cách quản trị viên và chạy DISM /Online /Cleanup-Image /Scanhealthđể cố gắng sửa chữa các tệp. Nhưng nếu điều này không thành công, hãy thử nâng cấp tại chỗ. Vẫn là lựa chọn tốt nhất cho Windows 7 để đảm bảo nó được sửa chữa hoàn toàn.


Nhưng chúng ta có thể sao chép C:\Windows\System32\dism.exesang Windows 7 và nó sẽ hoạt động tốt phải không?
Pacerier

1
Điều này không hoạt động nếu thư mục Users \ hoặc chương trình Files \ không có trên ổ đĩa hệ thống. :(
Kai

@Kai cái này đúng. Di chuyển các thư mục đó không được Microsoft hỗ trợ.
magicandre1981

không, đó không phải là cách duy nhất để sửa chữa windows từ phương tiện cài đặt, tôi đã đưa ra giải pháp thay thế và đơn giản.
George Dima

@Pacerier MS đã chuyển lệnh scanHealth sang Win7, ở đây nó hoạt động giống như RestoreHealth trong win8, nhưng bạn chỉ có thể sử dụng / Trực tuyến, không chống lại hình ảnh.
magicandre1981

3

Chạy chkdsk C: /F /Rtừ DVD cài đặt Windows,

  1. Khởi động từ DVD Windows 7.
  2. Chọn "Sửa chữa máy tính của bạn".
  3. Chọn hệ thống mục tiêu của bạn.
  4. Trong bảng công cụ khôi phục, chọn Dấu nhắc lệnh.
  5. Chạy chkdsk <your target drive>/: /F /R

Khi bạn chạy kiểm tra đĩa từ DVD cài đặt, các cửa sổ sẽ cố gắng khôi phục các tệp bị hỏng và sửa chúng.

Tôi đã thử nó và nó hoạt động mọi lúc.


Cảm ơn rất nhiều, Mohannd. Câu trả lời của bạn đã giải quyết Windows Resource Protection của tôi tìm thấy các tệp bị hỏng nhưng không thể sửa một số lỗi.
Miles Wolbe

1
Xin lỗi để cập nhật nhận xét trước đây của tôi ở đây; Cửa sổ chỉnh sửa 5 phút đã buồn bã đóng lại. Đây là phần còn lại: Chạy chkdsk từ DVD Windows 7 đã kết thúc bằng ( Không thể chuyển các thông điệp đã ghi vào nhật ký sự kiện với trạng thái 50 ), nhưng rõ ràng đó là bình thường . Cũng xin cảm ơn @galacticninja vì đã đặt câu hỏi!
Miles Wolbe

2

Nếu sfc /scannowkhông hoạt động, hãy thử lệnh này khi chạy Windows 8:

dism /Online /Cleanup-Image /RestoreHealth

hoặc lệnh này nếu bạn đang ở chế độ sửa chữa của Windows 8 DVD / USB:

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

với điều kiện Windows 8 bị hỏng nằm trên phân vùng C :.


Mặc dù bạn trả lời đề cập Win 8, các bước tương tự cho Win 7.
Kinnectus

5
@BigChris và niutech: Điều này dường như không hoạt động trên Windows 7. Tôi đang nhận được ff. thông báo lỗi với lệnh đầu tiên: 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.logBạn có biết các lệnh đối tác cho Windows 7 không?
galacticninja

7
Từ technet.microsoft.com/en-gb/l Library / hh824869.aspx: "Chỉ có thể sử dụng các đối số DISM / ScanHealth, / CheckHealth và / RestoreHealth khi phục vụ các hình ảnh Windows® 8 hoặc Windows Server® 2012".
Luke Girvin

1

Trong Windows 7 trở lên, cơ sở dữ liệu thành phần của SFC được duy trì bởi Windows Update. Chạy Windows Update sẽ kích hoạt sửa chữa tự động cơ sở dữ liệu thành phần, sau đó bạn có thể gặp nhiều may mắn hơn với SFC.


không, nó sẽ không sửa được winxs, xem giải pháp tôi đã đăng.
George Dima

3
@GeorgeDima bạn có thể đánh giá cao rằng có nhiều hơn một lý do có thể cho một vấn đề cụ thể.
DustWolf

1

Mặc dù có thể sửa chữa các tệp hệ thống thông qua nâng cấp (như chi tiết ở trên), bạn nên xem xét liệu bạn có thực sự muốn làm như vậy không. Nếu tham nhũng tệp hệ thống là do các thành phần xấu gây ra, có khả năng ổ cứng của bạn bắt đầu bị lỗi. Bạn có thể không có thêm bất kỳ vấn đề nào trong một thời gian, nhưng có thể mất bao lâu trước khi bạn gặp nhiều tham nhũng hơn? Đó là tệp hệ thống lần này, có lẽ nó sẽ là dữ liệu cá nhân của bạn vào lần tới. Tôi sẽ khuyên bạn nên sao lưu tất cả dữ liệu của bạn, nhận một máy tính mới hoặc ổ cứng mới, sau đó khôi phục dữ liệu của bạn vào đó. Mặc dù đắt hơn, về lâu dài sẽ an toàn hơn.


2
Điều này chỉ liên quan một cách hữu hình với câu hỏi của tôi và IMO, là một nhận xét nhiều hơn và ít câu trả lời hơn. Nhưng như một bài trả lời cho bài viết của bạn, vâng, tôi thực sự đã tạo một bản sao lưu các tập tin quan trọng của mình và sẽ thay thế ổ cứng ngay khi tôi có thể. Ổ cứng của tôi vẫn còn tồn tại, vì tôi vẫn đang sử dụng nó hàng ngày và không có thêm thành phần xấu nào phát sinh.
galacticninja

Giá trị của nó có tính đến khi quyết định những gì để làm mặc dù. Về lâu dài, các thành phần xấu và dữ liệu bị hỏng một dấu hiệu gì đó không ổn và sao lưu và thay thế ổ đĩa có lẽ là điều thông minh , ngay cả khi đó không phải là câu trả lời mà OP muốn nghe.
Journeyman Geek

1

Nếu SFC / SCANNOW không hoạt động, hãy thử chạy nó với máy tính ở chế độ SAFE. Đảm bảo rằng các thư mục PendingDeletes và PendingRenames tồn tại dưới% WinDir% \ WinSxS \ Temp và chúng trống. Nếu không, hãy xóa nội dung và chạy lại SFC / SCANNOW. Xem http://support.microsoft.com/kb/929833 để biết thêm thông tin.


1
Có ai có thể xác nhận rằng việc xóa nội dung của các thư mục PendingDeletesvà an toàn là an toàn PendingRenameskhông? Tôi thấy ai đó nói rằng điều này có thể phá vỡ HĐH sau khi sửa chữa (họ không trích dẫn nguồn).
Tom

Điều này làm việc cho Windows 8.1 và tôi thậm chí không phải kiểm tra các Pending*thư mục.
Chloe

@Tom không xóa chúng, liên kết nguồn mà WeHoChris đã cung cấp, nó nói make sure that the PendingDeletes and PendingRenames folders exist under %WinDir%\WinSxS\Temp.nhưng nó không nói rằng bạn nên xóa chúng.
Shaya

0

Một điều khác để thử là cài đặt công cụ CheckSUR từ Microsoft: https://support.microsoft.com/en-us/kb/947821

"SUR" là viết tắt của "Sẵn sàng cập nhật hệ thống".

Mục đích của nó là để sửa chữa các tập tin hệ thống bị hỏng. (Đó là: nó thay thế chúng bằng một bản sao tốt.) Tên của nó cho thấy nó được tạo ra cho các trường hợp khi cập nhật hệ thống không chạy, và nó chỉ kiểm tra, nhưng thực tế nó cũng khắc phục được sự cố. Tôi không biết liệu nó chỉ sửa một tập hợp con các tệp hệ thống cần thiết để bản cập nhật thành công hay tất cả chúng. Có lẽ những người gặp phải vấn đề này có thể thử nó, sau đó chạy lại SFC và cho chúng tôi biết nếu lỗi đã biến mất?

Cái này dành cho Windows Vista và 7. Trong Windows 8, nó đã được cài đặt và nó đã được đổi tên thành Quản lý và Phục vụ Hình ảnh Triển khai (DISM). Hy vọng nó không ảm đạm như âm thanh.


Vì vậy, làm thế nào để sử dụng dsim theo cách đó trong windows 8?
dùng2284570

trình cài đặt cập nhật windows không liên quan gì đến việc sửa chữa Winsxs.
George Dima

-2

Phương pháp tốt nhất cho Windows 7, sao chép thủ công các tệp bị thiếu, tôi đã thực hiện ngày hôm nay, có 5 tệp để sao chép, không có lỗi SFC sau.

nguồn nằm trong $ install_media / source / install.wim. Mở bằng 7-zip và nó có cấu trúc giống như phân vùng windows, vì vậy hãy sao chép từ thư mục tương ứng.


1
khả năng rất cao là người dùng trộn các tệp 32 & 64 bit và điều này gây ra lỗi. đừng làm điều đó
magicandre1981

bạn không hiểu, giải pháp của tôi không an toàn, vì bạn không thể trộn bất kỳ tập tin nào, bạn chỉ cần sao chép nó vào cùng một thư mục trong cài đặt windows hiện tại của bạn. Và bạn không thể trộn 32 với 64 vì có trong các thư mục khác nhau (syswow64 / system32).
George Dima

3
không, bạn vẫn có thể gặp vấn đề install.wim bao gồm dữ liệu RTM. nếu bạn đã cài đặt các bản cập nhật, dữ liệu mới hơn và bạn thay thế chúng bằng các tệp RTM và điều này cũng gây ra sự cố. đừng làm điều này nhanh chóng và bẩn thỉu. sửa chữa cài đặt / nâng cấp tại chỗ giữ tất cả các cài đặt;)
magicandre1981

sai, nếu bạn sửa chữa Windows từ phương tiện cài đặt, nó sẽ sao chép các tệp từ phương tiện, bản gốc không được cập nhật. và cũng sẽ thay thế các tập tin đã tốt. sử dụng phương pháp của tôi, bạn chỉ có thể sao chép các tệp bị thiếu (được báo cáo bởi SFC) và tất cả sẽ ổn.
George Dima

1
không, tôi hiểu ý của bạn, nhưng trong trường hợp của tôi, nó đã hoạt động, đó là một giải pháp đơn giản hơn là thiết lập lại các cửa sổ với sửa chữa đĩa, và SFC / scanow báo cáo các phiên bản của các tệp bị thiếu, và trong trường hợp của tôi, tất cả chúng đều không bao giờ được cập nhật bởi Windows Update, vì chỉ một vài tệp hệ thống có các bản cập nhật trong dòng thời gian của Windows, hầu hết chúng vẫn là phiên bản chứng khoán trọn đời.
George Dima
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.