ในบทความนี้เราจะพูดถึง Component Store ใน Windows 8 และบางสถานการณ์ของการซ่อมแซม โปรดจำไว้ว่าตั้งแต่ Windows Vista เป็นต้นไป Microsoft ได้แนะนำแนวคิดของการบริการตามส่วนประกอบ โครงสร้างส่วนประกอบช่วยให้การติดตั้ง/ลบการอัปเดต แพตช์ความปลอดภัย และเซอร์วิสแพ็คมีเสถียรภาพมากขึ้น สถาปัตยกรรม Windows 8 ยังใช้ระบบเดียวกัน ไฟล์ของ Windows Component Store จะอยู่ใน \Windows\WinSxS โฟลเดอร์ มีคุณสมบัติพร้อมเวลาที่จะเติบโตอย่างมากในขนาด (สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับสาเหตุที่ขนาดของโฟลเดอร์นี้เพิ่มขึ้นตามเวลาและวิธีย่อขนาด โปรดดูบทความนี้)
อย่างไรก็ตาม ในบางกรณี Component Store อาจเสียหายซึ่งส่งผลให้เกิดปัญหาเมื่อพยายามติดตั้งการอัปเดต Windows หรือแอป Microsoft อื่นๆ ในการซ่อมแซม Component Store ใน Windows เวอร์ชันก่อนหน้า (Windows Vista, Windows 7, Windows Server 2008 /R2) Microsoft ได้สร้างยูทิลิตี้พิเศษขึ้นมา – CheckSUR (เครื่องมือเตรียมความพร้อมในการอัปเดตระบบ – KB947821) ยูทิลิตีนี้มีขนาดค่อนข้างใหญ่ (มากกว่า 350 MB) และได้รับการอัปเดตเป็นประจำด้วยการอัปเดต Windows ใหม่
ยูทิลิตี้นี้ทำอะไร? เครื่องมือเตรียมความพร้อมในการอัปเดตระบบจะตรวจสอบความสมบูรณ์ของทรัพยากรต่อไปนี้:
ไฟล์ในไดเร็กทอรีเหล่านี้:
- %SYSTEMROOT%\Servicing\Packages
- %SYSTEMROOT%\WinSxS\Manifests
เนื้อหาของสาขารีจิสทรีเหล่านี้:
- %SYSTEMROOT%\WinSxS\Manifests
- HKEY_LOCAL_MACHINE\สคีมา
- HKEY_LOCAL_MACHINE\ส่วนประกอบ
- บริการตาม HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Component
หาก CheckSUR ตรวจพบข้อผิดพลาดหรือความไม่ลงรอยกัน จะพยายามซ่อมแซม
ปัญหาเกี่ยวกับ Component Store อาจส่งผลให้เกิดข้อผิดพลาดต่างๆ ระหว่างการติดตั้งการอัปเดต Windows นี่คือรายการรหัสข้อผิดพลาดทั่วไป ซึ่งจะต้องถูกกำจัดด้วยยูทิลิตี้นี้
รายการข้อผิดพลาดของ Windows Update ที่เกิดจากความเสียหายของ Component Store
รหัส | ข้อผิดพลาด | คำอธิบาย |
0×80070002 | ERROR_FILE_NOT_FOUND | ระบบไม่พบไฟล์ที่ระบุ |
0x8007000D | ERROR_INVALID_DATA | ข้อมูลไม่ถูกต้อง |
0x800F081F | CBS_E_SOURCE_MISSING | ไม่พบแหล่งที่มาของแพ็คเกจหรือไฟล์ |
0×80073712 | ERROR_SXS_COMPONENT_STORE_CORRUPT | ที่เก็บส่วนประกอบอยู่ในสถานะไม่สอดคล้องกัน |
0x800736CC | ERROR_SXS_FILE_HASH_MISMATCH | ไฟล์ของส่วนประกอบไม่ตรงกับข้อมูลการตรวจสอบที่มีอยู่ในรายการส่วนประกอบ |
0x800705B9 | ERROR_XML_PARSE_ERROR | ไม่สามารถแยกวิเคราะห์ข้อมูล XML ที่ร้องขอได้ |
0×80070246 | ERROR_ILLEGAL_CHARACTER | พบอักขระที่ไม่ถูกต้อง |
0x8007370D | ERROR_SXS_IDENTITY_PARSE_ERROR | สตริงข้อมูลประจำตัวมีรูปแบบไม่ถูกต้อง |
0x8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME | ชื่อของแอตทริบิวต์ในข้อมูลประจำตัวไม่อยู่ในช่วงที่ถูกต้อง |
0x8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE | ค่าของแอตทริบิวต์ในข้อมูลประจำตัวไม่อยู่ในช่วงที่ถูกต้อง |
0×80070057 | ERROR_INVALID_PARAMETER | พารามิเตอร์ไม่ถูกต้อง |
0x800B0100 | TRUST_E_NOSIGNATURE | ไม่มีลายเซ็นในเรื่อง |
0×80092003 | CRYPT_E_FILE_ERROR | เกิดข้อผิดพลาดขณะ Windows Update อ่านหรือเขียนไฟล์ |
0x800B0101 | CERT_E_EXPIRED | ใบรับรองที่จำเป็นไม่อยู่ในช่วงเวลาที่ใช้ได้เมื่อตรวจสอบกับนาฬิการะบบปัจจุบันหรือการประทับเวลาในไฟล์ที่ลงนาม |
0x8007371B | ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE | ไม่มีสมาชิกที่ต้องการอย่างน้อยหนึ่งรายการของธุรกรรม |
0×80070490 | ERROR_NOT_FOUND | Windows ไม่สามารถค้นหาการอัปเดตใหม่ได้ |
ใน Windows 8 และ Windows Server 2012 ฟังก์ชันการทำงานที่เทียบเท่ากับยูทิลิตี้ CheckSUR ถูกรวมเข้ากับระบบแล้วและเรียกว่า Inbox Corruption Repair . การซ่อมแซมความเสียหายของกล่องขาเข้าสามารถทำงานได้ในสองโหมด:พื้นหลังและแบบแมนนวล การซ่อมแซมพื้นหลังจะทำงานโดยอัตโนมัติ หากเกิดข้อผิดพลาดขณะพยายามติดตั้งการอัปเดต Windows จากนั้น Windows จะพยายามซ่อมแซมส่วนประกอบที่เสียหายและติดตั้งแพ็คเกจ Windows Update ใหม่โดยอัตโนมัติ หากการซ่อมแซมอัตโนมัติไม่สามารถแก้ปัญหาได้เอง ผู้ดูแลระบบสามารถแก้ไขข้อผิดพลาดได้ด้วยตนเอง . ได้กู้คืนความสามารถในการทำงานของ Component Store ซึ่งสามารถทำได้โดยใช้ DISM (คำสั่ง Dism /Online /Cleanup-Image) หรือ Powershell ( cmdlet Repair-WindowsImage)
ในการตรวจสอบสถานะของ Component Store ให้เปิดบรรทัดคำสั่งที่ยกระดับแล้วเรียกใช้:
Dism /Online /Cleanup-Image /CheckHealth |
Dism /Online /Cleanup-Image /CheckHealth
เคล็ดลับ- ไม่เหมือนกับเครื่องมืออื่นๆ ของ Windows DISM จะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- คำสั่ง Dism /Cleanup-Image จะเก็บบันทึกในไฟล์ต่อไปนี้:C:\Windows\Logs\CBS\CBS.log และ C:\Windows\Logs\DISM\dism.log
คำสั่ง Powershell เดียวกันคือ:
Repair-WindowsImage -Online -CheckHealth |
ซ่อม-WindowsImage -ออนไลน์ -CheckHealth
การดำเนินการ CheckHealth ใช้เวลาสองสามนาที อย่างที่คุณเห็น สถานะปัจจุบันของที่เก็บส่วนประกอบในภาพคือ สุขภาพดี , ฉัน. อี ไม่ต้องซ่อม
หากตรวจพบปัญหาหรือข้อผิดพลาด คุณต้องเรียกใช้การซ่อมแซม Store โดยใช้คำสั่ง:
Dism.exe /Online /Cleanup-Image /Restorehealth |
Dism.exe /Online /Cleanup-Image /Restorehealth
คำสั่ง Powershell เดียวกันคือ:
Repair-WindowsImage -Online -RestoreHealth |
ซ่อม-WindowsImage -ออนไลน์ -RestoreHealth
ในกรณีนี้ ไฟล์ระบบสามารถกู้คืนได้สำเร็จ:
การดำเนินการกู้คืนเสร็จสมบูรณ์แล้ว ความเสียหายของที่เก็บส่วนประกอบได้รับการซ่อมแซมแล้ว
หากระบบไม่สามารถซ่อมแซมส่วนประกอบบางอย่างใน Store ได้ คุณอาจต้องใช้ดิสก์การติดตั้ง Windows 8 ใส่ดิสก์ลงใน DVD-ROM หรือเมานต์ ISO-image สมมติว่าตัวอักษร G ถูกกำหนดให้กับดิสก์การแจกจ่าย มาแสดงรายการเวอร์ชัน Windows 8 ที่พร้อมใช้งานบนดิสก์โดยใช้คำสั่ง PoSH:
Get-WindowsImage -ImagePath G:\sources\install.wim |
รับ-WindowsImage -ImagePath G:\sources\install.wim
ในตัวอย่างนี้ เราจะเห็นว่ามีเพียงภาพเดียว (Windows 8 Pro) ที่มีดัชนี 1 (ดัชนี:1) บนดิสก์
คำสั่งต่อไปนี้เริ่มต้นการกู้คืนพื้นที่เก็บข้อมูลด้วยการเปลี่ยนส่วนประกอบที่เสียหายจากอิมเมจ Windows 8 ดั้งเดิม:
Repair-WindowsImage -Online -RestoreHealth -Source G:\sources\install.wim:1 |
Repair-WindowsImage -Online -RestoreHealth -Source G:\sources\install.wim:1
หลังจากการซ่อมแซมสิ้นสุดลง ตรวจสอบให้แน่ใจว่า Component Store อยู่ในสภาพดี
ขั้นตอนต่อไป (ทางเลือก) คือการตรวจสอบความสมบูรณ์ของไฟล์ระบบด้วยคำสั่ง:
sfc /scannow |
sfc /scannow