ฉันจะซ่อมแซมไฟล์ที่เสียหายที่พบโดย sfc / scannow ได้อย่างไร “ Windows Resource Protection พบไฟล์ที่เสียหาย แต่ไม่สามารถแก้ไขบางไฟล์ได้”


48

ในWindows 7หลังจากทำงานchkdsk C: /F /Rและพบว่าฮาร์ดดิสก์ของฉันมี 24 KB ในเซ็กเตอร์ที่ไม่ดี (บันทึกการโพสต์ด้านล่าง) ฉันตัดสินใจเรียกใช้ยูทิลิตี้ System File Checker ( sfc /scannow) ของ Windows 7

SFC แสดง ff ข้อความหลังจากที่ฉันเรียกใช้: " การป้องกันทรัพยากรของ Windows พบไฟล์ที่เสียหาย แต่ไม่สามารถแก้ไขได้บางส่วนรายละเอียดจะรวมอยู่ใน CBS.Log windir \ 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-bit


บันทึก 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 คือการทำติดตั้งซ่อม / อัพเกรด

  • ใส่แผ่นดีวีดี Windows 7 ของคุณหรือติดตั้ง Windows 7 ISO
  • เรียกใช้setup.exeจาก DVD / ISO ที่เมาท์
  • ระหว่างการตั้งค่าเลือก upgrade

ป้อนคำอธิบายรูปภาพที่นี่

นี่เป็นการซ่อมแซม Windows แต่ยังเป็นโปรแกรมอยู่

ในปี 2558 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

ไม่ไม่ใช่วิธีเดียวที่จะทำการซ่อมแซม windows จากสื่อการติดตั้งฉันให้ทางเลือกและวิธีแก้ปัญหาที่ง่าย
George Dima

@Pacerier MS backported คำสั่ง scanHealth ไปที่ Win7 ที่นี่มันทำงานเหมือน RestoreHealth ใน win8 แต่คุณสามารถใช้ / ออนไลน์เท่านั้นไม่ใช่ภาพ
magicandre1981

3

เรียกใช้chkdsk C: /F /Rจากแผ่นดีวีดีติดตั้ง Windows

  1. บูตจากดีวีดี Windows 7
  2. เลือก "ซ่อมคอมพิวเตอร์ของคุณ"
  3. เลือกระบบเป้าหมายของคุณ
  4. ในแผงเครื่องมือการกู้คืนเลือกพร้อมท์คำสั่ง
  5. วิ่ง chkdsk <your target drive>/: /F /R

เมื่อคุณเรียกใช้ตรวจสอบดิสก์จากดีวีดีการติดตั้ง windows จะพยายามกู้คืนไฟล์ที่เสียหายและแก้ไข

ฉันได้ลองแล้วมันใช้งานได้ทุกครั้ง


ขอบคุณมาก Mohannd คำตอบของคุณแก้ไขWindows Resource Protectionของฉันพบไฟล์ที่เสียหาย แต่ไม่สามารถแก้ไขข้อผิดพลาดบางอย่างได้
Miles Wolbe

1
ขออภัยที่จะปรับปรุงความคิดเห็นก่อนหน้าของฉันที่นี่; หน้าต่างแก้ไข 5 นาทีปิดไปอย่างน่าเศร้า นี่คือส่วนที่เหลือ: การรัน chkdsk จาก Windows 7 DVD สรุปด้วย ( ไม่สามารถถ่ายโอนลงทะเบียนข้อความไปยังแฟ้มบันทึกเหตุการณ์ที่มีสถานะ 50 ) แต่เห็นได้ชัดว่าเป็นเรื่องปกติ ขอบคุณ @galacticninja ที่ถามคำถามด้วย!
Miles Wolbe

2

หากsfc /scannowไม่ได้ผลให้ลองใช้คำสั่งนี้เมื่อใช้งาน Windows 8:

dism /Online /Cleanup-Image /RestoreHealth

หรือคำสั่งนี้หากคุณอยู่ในโหมดซ่อมของ Windows 8 DVD / USB:

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 เท่านั้น"
Luke Girvin

1

ใน Windows 7 และใหม่กว่าฐานข้อมูลคอมโพเนนต์ของ SFC ได้รับการดูแลโดย Windows Update การเรียกใช้ Windows Update จะทำให้การซ่อมแซมฐานข้อมูลคอมโพเนนต์โดยอัตโนมัติหลังจากนั้นคุณอาจมีโชคมากขึ้นกับ SFC


ไม่มันเคยชินมันจะไม่แก้ไข winsxs ดูวิธีแก้ปัญหาที่ฉันโพสต์
George Dima

3
@Gorgeorge คุณอาจจะสามารถชื่นชมว่ามีเหตุผลที่เป็นไปได้มากกว่าหนึ่งสำหรับปัญหาเฉพาะ
DustWolf

1

แม้ว่าจะเป็นไปได้ที่จะซ่อมแซมไฟล์ระบบผ่านการอัปเกรด (ตามรายละเอียดด้านบน) คุณควรพิจารณาว่าคุณต้องการทำเช่นนั้นหรือไม่ หากความเสียหายของไฟล์ระบบเกิดจากเซกเตอร์เสียอาจเป็นไปได้ว่าฮาร์ดไดรฟ์ของคุณเริ่มที่จะล้มเหลว คุณอาจไม่มีปัญหาอีกซักพักหนึ่ง แต่นานแค่ไหนก่อนที่คุณจะได้รับความเสียหายมากขึ้น? มันเป็นไฟล์ระบบในครั้งนี้บางทีมันอาจจะเป็นข้อมูลส่วนตัวของคุณในครั้งต่อไป ฉันขอแนะนำให้สำรองข้อมูลทั้งหมดของคุณรับคอมพิวเตอร์เครื่องใหม่หรือฮาร์ดไดรฟ์ใหม่แล้วกู้คืนข้อมูลของคุณลงในนั้น แม้ว่าราคาแพงกว่า แต่ก็ปลอดภัยกว่าในระยะยาว


2
สิ่งนี้เกี่ยวข้องกับคำถามของฉันโดยเฉพาะและ IMO นั้นมีความคิดเห็นมากกว่าและมีคำตอบน้อยกว่า แต่เป็นการตอบกลับโพสต์ของคุณใช่ฉันได้ทำการสำรองไฟล์สำคัญของฉันไว้แล้วและจะทำการเปลี่ยนฮาร์ดไดรฟ์ทันทีที่ฉันสามารถทำได้ ฮาร์ดไดรฟ์ของฉันยังมีชีวิตเหลืออยู่เพราะฉันยังคงใช้มันทุกวันและไม่มีเซกเตอร์เสียเกิดขึ้นอีก
galacticninja

มันควรคำนึงถึงเมื่อตัดสินใจว่าควรทำอย่างไร ในระยะยาวภาคที่ไม่ดีและข้อมูลที่เสียหายเป็นสัญญาณบ่งชี้ว่ามีสิ่งผิดปกติและการสำรองและเปลี่ยนไดรฟ์อาจเป็นเรื่องที่ฉลาดแม้ว่าจะไม่ใช่คำตอบที่ OP ต้องการได้ยินก็ตาม
Geek

1

หาก SFC / SCANNOW ใช้งานไม่ได้ลองใช้กับคอมพิวเตอร์ใน SAFE MODE ตรวจสอบให้แน่ใจว่าโฟลเดอร์ PendingDeletes และ PendingRenames อยู่ภายใต้% WinDir% \ WinSxS \ Temp และว่างเปล่า ถ้าไม่ลบเนื้อหาและเรียกใช้ SFC / SCANNOW อีกครั้ง ดูhttp://support.microsoft.com/kb/929833สำหรับข้อมูลเพิ่มเติม


1
ทุกคนสามารถยืนยันได้ว่าปลอดภัยที่จะลบเนื้อหาของPendingDeletesและPendingRenamesโฟลเดอร์หรือไม่ ฉันเห็นคนพูดว่านี่สามารถทำลายระบบปฏิบัติการได้เกินกว่าจะซ่อมได้ (พวกเขาไม่ได้อ้างถึงแหล่งที่มา)
Tom

สิ่งนี้ใช้ได้กับ Windows 8.1 และฉันไม่ต้องตรวจสอบPending*ไดเรกทอรี
Chloe

@ ไม่ต้องอย่าลบลิงก์เหล่านี้แหล่งที่มาที่ WeHoChris จัดหาให้มันบอกว่าmake sure that the PendingDeletes and PendingRenames folders exist under %WinDir%\WinSxS\Temp.แต่ไม่ได้บอกว่าคุณควรลบทิ้ง
Shayan

0

อีกสิ่งหนึ่งที่ควรลองคือการติดตั้งเครื่องมือ CheckSUR จาก Microsoft: https://support.microsoft.com/en-us/kb/947821

"SUR" หมายถึง "การเตรียมพร้อมในการอัปเดตระบบ"

โดยมีวัตถุประสงค์คือเพื่อซ่อมแซมไฟล์ระบบที่เสียหาย (นั่นคือมันแทนที่ด้วยสำเนาที่ดี) ชื่อของมันบ่งบอกว่ามันถูกสร้างขึ้นสำหรับกรณีที่การอัปเดตระบบจะไม่ทำงานและจะตรวจสอบเท่านั้น แต่ในความเป็นจริงมันยังแก้ไขปัญหาด้วย ฉันไม่ทราบว่าจะแก้ไขชุดย่อยของไฟล์ระบบที่จำเป็นสำหรับการอัปเดตให้สำเร็จเท่านั้นหรือทั้งหมด บางทีคนที่พบปัญหานี้สามารถลองใช้งานจากนั้นเรียกใช้ SFC อีกครั้งและแจ้งให้เราทราบหากข้อผิดพลาดหายไปหรือไม่

สำหรับ Windows Vista และ 7 ใน Windows 8 ได้ติดตั้งไว้แล้วและได้เปลี่ยนชื่อเป็น Deployment Image Servicing and Management (DISM) หวังว่ามันคงไม่กลุ้มเท่าที่ฟัง


ดังนั้นวิธีใช้ dsim ในวิธีที่ใน Windows 8?
2284570

ตัวติดตั้ง windows update ไม่มีส่วนเกี่ยวข้องกับการซ่อม Winsx
George Dima

-2

วิธีที่ดีที่สุดสำหรับ Windows 7 คัดลอกไฟล์ที่หายไปด้วยตนเองฉันทำวันนี้มี 5 ไฟล์ที่จะคัดลอกไม่มีข้อผิดพลาด SFC หลังจากนั้น

แหล่งที่มาอยู่ใน $ install_media / source / install.wim เปิดด้วย 7-zip และมีโครงสร้างเดียวกับพาร์ทิชัน windows ดังนั้นคัดลอกจากโฟลเดอร์ที่เกี่ยวข้อง


1
โอกาสสูงที่ผู้ใช้ผสมไฟล์ 32 และ 64 บิตซึ่งทำให้เกิดข้อผิดพลาด อย่าทำมัน
magicandre1981

คุณไม่เข้าใจโซลูชันของฉันไม่ปลอดภัยเนื่องจากคุณไม่สามารถผสมไฟล์ใด ๆ คุณเพียงแค่คัดลอกไปยังโฟลเดอร์เดียวกันในการติดตั้ง windows ปัจจุบันของคุณ และคุณไม่สามารถผสม 32 กับ 64 ได้เนื่องจากมีอยู่ในโฟลเดอร์ต่างๆ (syswow64 / system32)
George Dima

3
ไม่คุณยังสามารถรับปัญหาได้ install.wim รวมถึงข้อมูล RTM หากคุณติดตั้งการอัปเดตข้อมูลจะใหม่กว่าและคุณแทนที่ด้วยไฟล์ RTM และสิ่งนี้ก็ทำให้เกิดปัญหาเช่นกัน อย่าทำแบบนี้อึเร็วและสกปรก การซ่อมแซมติดตั้ง / inplace อัปเดตการตั้งค่าทั้งหมด;)
magicandre1981

ผิดถ้าคุณซ่อมแซม Windows จากสื่อการติดตั้งมันจะคัดลอกไฟล์จากสื่อซึ่งเป็นต้นฉบับไม่ได้ปรับปรุง และจะแทนที่ไฟล์ที่ดีอยู่แล้ว ใช้วิธีการของฉันคุณก็สามารถคัดลอกไฟล์ที่หายไป (รายงานโดย SFC) และทั้งหมดจะดี
George Dima

1
ไม่ฉันเข้าใจคุณ แต่ในกรณีของฉันมันใช้ได้ดีกว่าการติดตั้ง windows ใหม่ด้วยการซ่อมแซมดิสก์และ SFC / scanow รายงานเวอร์ชันของไฟล์ที่หายไปและในกรณีของฉันทั้งหมดไม่เคยปรับปรุงด้วย Windows Update เนื่องจากมีไฟล์ระบบเพียงไม่กี่ไฟล์เท่านั้นที่มีการอัปเดตในไทม์ไลน์ของ Windows ไฟล์ส่วนใหญ่จึงยังคงเป็นเวอร์ชั่นที่ใช้งานได้ตลอดชีวิต
George Dima
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.