Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows 8

Cách sửa chữa Component Store trong Windows 8

Trong bài viết này, chúng ta sẽ nói về Component Store trong Windows 8 và một số kịch bản sửa chữa của nó. Cần nhắc lại rằng kể từ Windows Vista, Microsoft đã giới thiệu khái niệm component-based servicing (dịch vụ dựa trên thành phần). Cấu trúc thành phần cho phép làm cho việc cài đặt / gỡ bỏ cập nhật, bản vá bảo mật và service pack ổn định hơn. Kiến trúc Windows 8 cũng dựa trên cùng hệ thống này. Các file của Windows Component Store nằm trong thư mục \Windows\WinSxS, có thuộc tính theo thời gian tăng đáng kể về kích thước (để biết chi tiết hơn về lý do kích thước thư mục này tăng theo thời gian và cách thu nhỏ nó, tham khảo bài viết này).

Tuy nhiên, trong một số trường hợp Component Store có thể bị hỏng, dẫn đến rắc rối khi cố gắng cài đặt Windows updates hoặc các ứng dụng Microsoft khác. Để sửa chữa Component Store trong các phiên bản Windows trước (Windows Vista, Windows 7, Windows Server 2008 /R2), Microsoft đã tạo một tiện ích đặc biệt – CheckSUR (System Update Readiness Tool – KB947821). Tiện ích này khá lớn (hơn 350 MB) và được cập nhật thường xuyên khi phát hành các bản cập nhật Windows mới.

Tiện ích này làm gì? System Update Readiness Tool xác minh tính toàn vẹn của các tài nguyên sau:

File trong các thư mục:

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

Nội dung các nhánh registry sau:

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

Nếu CheckSUR phát hiện một số lỗi hoặc không tương thích, nó sẽ cố gắng sửa chữa chúng.

Vấn đề với Component Store có thể dẫn đến các lỗi khác nhau trong quá trình cài đặt Windows update. Dưới đây là danh sách các mã lỗi điển hình, cần được khắc phục bằng tiện ích này.

Danh sách lỗi Windows Update do hỏng Component Store

Mã Lỗi Mô tả
0×80070002 ERROR_FILE_NOT_FOUND Hệ thống không tìm thấy file được chỉ định.
0x8007000D ERROR_INVALID_DATA Dữ liệu không hợp lệ.
0x800F081F CBS_E_SOURCE_MISSING Không tìm thấy nguồn cho gói hoặc file.
0×80073712 ERROR_SXS_COMPONENT_STORE_CORRUPT Component store ở trạng thái không nhất quán.
0x800736CC ERROR_SXS_FILE_HASH_MISMATCH File của thành phần không khớp với thông tin xác minh trong manifest thành phần.
0x800705B9 ERROR_XML_PARSE_ERROR Không thể phân tích dữ liệu XML được yêu cầu.
0×80070246 ERROR_ILLEGAL_CHARACTER Gặp ký tự không hợp lệ.
0x8007370D ERROR_SXS_IDENTITY_PARSE_ERROR Chuỗi identity bị malformed.
0x8007370B ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME Tên thuộc tính trong identity không trong phạm vi hợp lệ.
0x8007370A ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE Giá trị thuộc tính trong identity không trong phạm vi hợp lệ.
0×80070057 ERROR_INVALID_PARAMETER Tham số không chính xác.
0x800B0100 TRUST_E_NOSIGNATURE Không có chữ ký trong subject.
0×80092003 CRYPT_E_FILE_ERROR Lỗi khi Windows Update đọc/ghi file.
0x800B0101 CERT_E_EXPIRED Chứng chỉ yêu cầu không trong thời hạn hiệu lực.
0x8007371B ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE Một hoặc nhiều thành viên yêu cầu của transaction không có mặt.
0×80070490 ERROR_NOT_FOUND Windows không thể tìm kiếm cập nhật mới.

Trong Windows 8 và Windows Server 2012, tương đương chức năng của tiện ích CheckSUR đã được tích hợp sẵn vào hệ thống và gọi là Inbox Corruption Repair. Inbox Corruption Repair có thể hoạt động ở hai chế độ: nền (background) và thủ công. Sửa chữa nền chạy tự động nếu có lỗi xảy ra khi cố gắng cài đặt Windows update. Sau đó Windows tự động cố gắng sửa chữa thành phần bị hỏng và cài đặt lại gói Windows Update. Nếu sửa chữa tự động không thể tự giải quyết vấn đề, quản trị viên có thể sửa lỗi thủ công, sau khi khôi phục khả năng hoạt động của Component Store. Điều này có thể thực hiện bằng DISM (lệnh Dism /Online /Cleanup-Image) hoặc PowerShell (cmdlet Repair-WindowsImage).

Để kiểm tra trạng thái Component Store, mở command line với quyền admin và chạy:

Dism /Online /Cleanup-Image /CheckHealth

Mẹo.

  1. Khác với các công cụ Windows khác, DISM phân biệt chữ hoa chữ thường.
  2. Lệnh Dism /Cleanup-Image ghi log trong các file sau: C:\Windows\Logs\CBS\CBS.log và C:\Windows\Logs\DISM\dism.log

Lệnh PowerShell tương tự là:

Repair-WindowsImage -Online -CheckHealth

Cách sửa chữa Component Store trong Windows 8

Việc thực hiện CheckHealth mất vài phút. Như bạn thấy, trạng thái hiện tại của component store trong image là Healthy, tức là nó không cần sửa chữa.

Nếu phát hiện bất kỳ vấn đề hoặc lỗi nào, bạn phải chạy sửa chữa Store bằng lệnh:

Dism.exe /Online /Cleanup-Image /Restorehealth

Lệnh PowerShell tương tự:

Repair-WindowsImage -Online -RestoreHealth

Trong trường hợp này, các file hệ thống đã được khôi phục thành công:

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

Cách sửa chữa Component Store trong Windows 8

Nếu hệ thống không thể sửa chữa một số thành phần trong Store, bạn có thể cần đĩa cài đặt Windows 8. Cho đĩa vào DVD-ROM hoặc mount file ISO. Giả sử ký tự G đã được gán cho đĩa phân phối. Hãy hiển thị danh sách các phiên bản Windows 8 có sẵn trên đĩa bằng lệnh PoSh:

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

Cách sửa chữa Component Store trong Windows 8

Trong ví dụ này, chúng ta thấy chỉ có một image (Windows 8 Pro) với index 1 (Index: 1) trên đĩa.

Lệnh sau bắt đầu khôi phục kho lưu trữ với việc thay thế các thành phần bị hỏng từ image Windows 8 gốc:

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

Sau khi sửa chữa xong, hãy đảm bảo Component Store khỏe mạnh.

Bước tiếp theo (tùy chọn) là kiểm tra tính toàn vẹn của file hệ thống bằng lệnh:

sfc /scannow