Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 8

วิธีซ่อมแซม Component Store ใน Windows 8

ในบทความนี้เราจะพูดถึง Component Store ใน Windows 8 และบางสถานการณ์ของการซ่อมแซมมัน ต้องนึกถึงว่าตั้งแต่ Windows Vista Microsoft ได้นำแนวคิด component based servicing มาใช้ โครงสร้างคอมโพเนนต์ช่วยให้การติดตั้ง/ลบอัปเดต แพทช์ความปลอดภัย และ Service Pack มีความเสถียรมากขึ้น สถาปัตยกรรมของ Windows 8 ก็ยังคงอิงตามระบบเดียวกัน ไฟล์ของ Windows Component Store ตั้งอยู่ในโฟลเดอร์ \Windows\WinSxS ซึ่งมีคุณสมบัติที่จะเพิ่มขนาดอย่างมีนัยสำคัญตามเวลา (สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับเหตุผลที่ขนาดของโฟลเดอร์นี้เพิ่มขึ้นตามเวลาและวิธีหดตัวมัน โปรดดูบทความนี้)

อย่างไรก็ตาม ในบางกรณี Component Store อาจเสียหาย ทำให้เกิดปัญหาเมื่อพยายามติดตั้ง Windows Update หรือแอป Microsoft อื่นๆ ในการซ่อมแซม Component Store ใน Windows เวอร์ชันก่อนหน้า (Windows Vista, Windows 7, Windows Server 2008/R2) Microsoft ได้สร้างยูทิลิตี้พิเศษ – CheckSUR (System Update Readiness Tool – KB947821) ยูทิลิตี้นี้มีขนาดใหญ่พอสมควร (มากกว่า 350 MB) และได้รับการอัปเดตเป็นประจำพร้อมกับการเผยแพร่ Windows Update ใหม่ๆ

ยูทิลิตี้นี้ทำอะไร? System Update Readiness Tool ตรวจสอบความสมบูรณ์ของทรัพยากรต่อไปนี้:

ไฟล์ในไดเรกทอรีเหล่านี้:

  • %SYSTEMROOT%\Servicing\Packages
  • %SYSTEMROOT%\WinSxS\Manifests

เนื้อหาของสาขารีจิสทรีเหล่านี้:

  • %SYSTEMROOT%\WinSxS\Manifests
  • HKEY_LOCAL_MACHINE\Schema
  • HKEY_LOCAL_MACHINE\Components
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing

หาก CheckSUR ตรวจพบข้อผิดพลาดหรือความไม่เข้ากันได้ บางอย่าง มันจะพยายามซ่อมแซมพวกมัน

ปัญหากับ Component Store อาจนำไปสู่ข้อผิดพลาดที่แตกต่างกันระหว่างการติดตั้ง Windows Update นี่คือรายการรหัสข้อผิดพลาดทั่วไป ซึ่งควรจะได้รับการแก้ไขด้วยยูทิลิตีนี้

รายการข้อผิดพลาด Windows Update ที่เกิดจากความเสียหายของ Component Store

รหัส ข้อผิดพลาด คำอธิบาย
0×80070002ERROR_FILE_NOT_FOUNDThe system cannot find the file specified.
0x8007000DERROR_INVALID_DATAThe data is invalid.
0x800F081FCBS_E_SOURCE_MISSINGThe source for the package or file not found.
0×80073712ERROR_SXS_COMPONENT_STORE_CORRUPTThe component store is in an inconsistent state.
0x800736CCERROR_SXS_FILE_HASH_MISMATCHA component's file does not match the verification information present in the component manifest.
0x800705B9ERROR_XML_PARSE_ERRORUnable to parse the requested XML data.
0×80070246ERROR_ILLEGAL_CHARACTERAn invalid character was encountered.
0x8007370DERROR_SXS_IDENTITY_PARSE_ERRORAn identity string is malformed.
0x8007370BERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAMEThe name of an attribute in an identity is not within the valid range.
0x8007370AERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUEThe value of an attribute in an identity is not within the valid range.
0×80070057ERROR_INVALID_PARAMETERThe parameter is incorrect.
0x800B0100TRUST_E_NOSIGNATURENo signature was present in the subject.
0×80092003CRYPT_E_FILE_ERRORAn error occurred while Windows Update reads or writes to a file.
0x800B0101CERT_E_EXPIREDA required certificate is not within its validity period when verifying against the current system clock or the time stamp in the signed file.
0x8007371BERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETEOne or more required members of the transaction are not present.
0×80070490ERROR_NOT_FOUNDWindows could not search for new updates.

ใน Windows 8 และ Windows Server 2012 เวอร์ชันที่เทียบเท่าทางฟังก์ชันของยูทิลิตี้ CheckSUR ได้ถูกรวมอยู่ในระบบแล้วและเรียกว่า Inbox Corruption Repair Inbox Corruption Repair สามารถทำงานในสองโหมด: แบบพื้นหลังและแบบมือوي โหมดซ่อมแซมพื้นหลังจะรัน โดยอัตโนมัติ หากเกิดข้อผิดพลาดเมื่อพยายามติดตั้ง Windows Update จากนั้น Windows จะพยายามซ่อมแซมคอมโพเนนต์ที่เสียหายและติดตั้งแพ็คเกจ Windows Update ใหม่ หากการซ่อมแซมอัตโนมัติไม่สามารถแก้ปัญหาได้ด้วยตัวเอง ผู้ดูแลระบบสามารถแก้ไขข้อผิดพลาด ด้วยตนเอง ได้ โดยกู้คืนการทำงานของ Component Store สามารถทำได้โดยใช้ DISM (คำสั่ง Dism /Online /Cleanup-Image) หรือ Powershell (cmdlet Repair-WindowsImage)

เพื่อตรวจสอบสถานะของ Component Store ให้เปิด command line ที่มีสิทธิ์สูงและรัน:

Dism /Online /Cleanup-Image /CheckHealth

เคล็ดลับ

  1. ไม่เหมือนเครื่องมือ Windows อื่นๆ DISM ต้องการความแตกต่างของตัวพิมพ์เล็ก/ใหญ่ (case-sensitive)
  2. คำสั่ง Dism /Cleanup-Image เก็บบันทึกในไฟล์ต่อไปนี้: C:\Windows\Logs\CBS\CBS.log และ C:\Windows\Logs\DISM\dism.log

คำสั่ง Powershell เดียวกันคือ:

Repair-WindowsImage -Online -CheckHealth

วิธีซ่อมแซม Component Store ใน Windows 8

การดำเนินการ CheckHealth ใช้เวลาสักพักสองสามนาที ตามที่คุณเห็น สถานะปัจจุบันของ Component Store ในอิมเมจคือ Healthy กล่าวคือ ไม่จำเป็นต้องซ่อมแซม

หากตรวจพบปัญหาหรือข้อผิดพลาด คุณต้องรันการซ่อมแซม Store โดยใช้คำสั่ง:

Dism.exe /Online /Cleanup-Image /Restorehealth

คำสั่ง Powershell เดียวกันคือ:

Repair-WindowsImage -Online -RestoreHealth

ในกรณีนี้ ไฟล์ระบบได้รับการกู้คืนสำเร็จ:

The restore operation completed successfully. The component store corruption was repaired.

วิธีซ่อมแซม Component Store ใน Windows 8

หากระบบไม่สามารถซ่อมแซมบางคอมโพเนนต์ใน Store ได้ คุณอาจต้องการดิสก์ติดตั้ง Windows 8 ใส่ดิสก์ลงใน DVD-ROM หรือแม้แต่มา운ท์ ISO-image สมมติ ตัวอักษร G ถูกกำหนดให้กับดิสก์กระจาย เรามาแสดงรายการเวอร์ชัน Windows 8 ที่พร้อมใช้งานบนดิสก์โดยใช้คำสั่ง PoSH:

Get-WindowsImage -ImagePath G:\sources\install.wim

วิธีซ่อมแซม Component Store ใน Windows 8

ในตัวอย่างนี้เราเห็นว่ามีอิมเมจเพียงหนึ่งอิมเมจ (Windows 8 Pro) ด้วยดัชนี 1 (Index: 1) บนดิสก์

คำสั่งต่อไปนี้เริ่มการกู้คืนที่เก็บข้อมูลด้วยการแทนที่คอมโพเนนต์ที่เสียหายจากอิมเมจ Windows 8 ต้นฉบับ:

Repair-WindowsImage -Online -RestoreHealth -Source G:\sources\install.wim:1

หลังจากซ่อมแซมเสร็จสิ้น ให้ตรวจสอบให้แน่ใจว่า Component Store แข็งแรง

ขั้นตอนต่อไป (เป็นทางเลือก) คือการตรวจสอบความสมบูรณ์ของไฟล์ระบบด้วยคำสั่ง:

sfc /scannow