Trong bài viết này, chúng tôi sẽ nói về Cửa hàng linh kiện trong Windows 8 và một số tình huống sửa chữa nó. Cần nhắc lại rằng bắt đầu từ Windows Vista, Microsoft đã đưa ra khái niệm về dịch vụ dựa trên thành phần. Cấu trúc thành phần cho phép việc cài đặt / gỡ bỏ các bản cập nhật, bản vá bảo mật và gói dịch vụ ổn định hơn. Kiến trúc Windows 8 cũng dựa trên cùng một hệ thống. Các tệp của Windows Component Store nằm trong \ Windows \ WinSxS thư mục , có thuộc tính theo thời gian để tăng kích thước đáng kể (để biết thêm chi tiết về lý do tại sao kích thước của thư mục này tăng theo thời gian và cách thu nhỏ nó, hãy tham khảo bài viết này).
Tuy nhiên, trong một số trường hợp, Cửa hàng Thành phần có thể bị hỏng, dẫn đến sự cố khi cố gắng cài đặt các bản cập nhật Windows hoặc các ứng dụng Microsoft khác. Để sửa chữa Cửa hàng thành phần 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 (Công cụ Sẵn sàng Cập nhật Hệ thống - KB947821). Tiện ích này khá lớn (hơn 350 MB) và nó thường xuyên được cập nhật khi phát hành các bản cập nhật Windows mới.
Tiện ích này làm gì? Công cụ sẵn sàng cập nhật hệ thống xác minh tính toàn vẹn của các tài nguyên sau:
Các tệp trong các thư mục này:
- % SYSTEMROOT% \ Servicing \ Packages
- % SYSTEMROOT% \ WinSxS \ Manifests
Nội dung của các nhánh đăng ký này:
- % SYSTEMROOT% \ WinSxS \ Manifests
- HKEY_LOCAL_MACHINE \ Schema
- HKEY_LOCAL_MACHINE \ Thành phần
- HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Dịch vụ dựa trên thành phần
Nếu CheckSUR phát hiện một số lỗi hoặc sự không tương thích, CheckSUR sẽ cố gắng sửa chữa chúng.
Sự cố với Cửa hàng thành phần có thể dẫn đến các lỗi khác nhau trong quá trình cài đặt bản cập nhật Windows. Dưới đây là danh sách các mã lỗi điển hình sẽ được loại bỏ bằng tiện ích này.
Danh sách các lỗi Windows Update do hư hỏng của Cửa hàng thành phần
Mã | Lỗi | Mô tả |
0 × 80070002 | ERROR_FILE_NOT_FOUND | Hệ thống không thể tìm thấy tệp đượ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 của gói hoặc tệp. |
0 × 80073712 | ERROR_SXS_COMPONENT_STORE_CORRUPT | Cửa hàng thành phần ở trạng thái không nhất quán. |
0x800736CC | ERROR_SXS_FILE_HASH_MISMATCH | Tệp của một thành phần không khớp với thông tin xác minh có trong tệp kê khai thành phần. |
0x800705B9 | ERROR_XML_PARSE_ERROR | Không thể phân tích cú pháp 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 nhận dạng không đúng định dạng. |
0x8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME | Tên của thuộc tính trong danh tính không nằm trong phạm vi hợp lệ. |
0x8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE | Giá trị của thuộc tính trong danh tính không nằm 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ý nào trong chủ đề. |
0 × 80092003 | CRYPT_E_FILE_ERROR | Đã xảy ra lỗi khi Windows Update đọc hoặc ghi vào tệp. |
0x800B0101 | CERT_E_EXPIRED | Chứng chỉ bắt buộc không còn trong thời hạn hiệu lực khi xác minh với đồng hồ hệ thống hiện tại hoặc dấu thời gian trong tệp đã ký. |
0x8007371B | ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE | Một hoặc nhiều thành viên bắt buộc của giao dịch không có mặt. |
0 × 80070490 | ERROR_NOT_FOUND | Windows không thể tìm kiếm các bản cập nhật mới. |
Trong Windows 8 và Windows Server 2012, chức năng tương đương với tiện ích CheckSUR đã được tích hợp vào hệ thống và được gọi là Sửa chữa hỏng hộp thư đến . Sửa chữa lỗi hộp thư đến có thể hoạt động ở hai chế độ:nền và thủ công. Sửa chữa nền được chạy tự động nếu có bất kỳ lỗi nào xảy ra khi cố gắng cài đặt bản cập nhật Windows. Sau đó, Windows tự động cố gắng sửa chữa một thành phần bị hỏng và cài đặt lại gói Windows Update. Nếu quá trình sửa chữa tự động không thể tự giải quyết sự cố, quản trị viên có thể sửa lỗi theo cách thủ công . đã khôi phục khả năng hoạt động của Cửa hàng thành phần. Điều này có thể được thực hiện bằng cách sử dụng DISM (lệnh Dism / Online / Cleanup-Image) hoặc Powershell (lệnh ghép ngắn Repair-WindowsImage).
Để kiểm tra trạng thái của Cửa hàng thành phần, hãy mở dòng lệnh nâng cao và chạy:
Dism /Online /Cleanup-Image /CheckHealth |
Dism / Online / Cleanup-Image / CheckHealth
Mẹo.- Không giống như các công cụ Windows khác, DISM phân biệt chữ hoa chữ thường.
- Lệnh Dism / Cleanup-Image lưu nhật ký vào các tệp 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 |
Repair-WindowsImage -Online -CheckHealth
Thực hiện CheckHealth mất vài phút. Như bạn có thể thấy, trạng thái hiện tại của cửa hàng thành phần trong hình ảnh là Khỏe mạnh , tôi. e. nó không cần sửa chữa.
Nếu phát hiện bất kỳ sự cố hoặc lỗi nào, bạn phải chạy sửa chữa Cửa hàng bằng lệnh:
Dism.exe /Online /Cleanup-Image /Restorehealth |
Dism.exe / Online / Cleanup-Image / Restorehealth
Lệnh Powershell tương tự là:
Repair-WindowsImage -Online -RestoreHealth |
Repair-WindowsImage -Online -RestoreHealth
Trong trường hợp này, các tệp hệ thống đã được khôi phục thành công:
Thao tác khôi phục đã hoàn tất thành công. Lỗi cửa hàng linh kiện đã được sửa chữa.
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. Chèn đĩa vào DVD-ROM của bạn hoặc gắn ISO-image của nó. Giả sử, chữ cái 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 |
Get-WindowsImage -ImagePath G:\ sources \ install.wim
Trong ví dụ này, chúng ta có thể thấy rằng chỉ có một hình ảnh (Windows 8 Pro) với chỉ mục 1 (Index:1) trên đĩa.
Lệnh sau bắt đầu khôi phục bộ nhớ với việc thay thế các thành phần bị hỏng từ ảnh gốc của Windows 8:
Repair-WindowsImage -Online -RestoreHealth -Source G:\sources\install.wim:1 |
Repair-WindowsImage -Online -RestoreHealth -Nguồn G:\ sources \ install.wim:1
Sau khi sửa chữa xong, hãy đảm bảo rằng Cửa hàng linh kiện hoạt động tốt.
Bước tiếp theo (tùy chọn) là kiểm tra tính toàn vẹn của các tệp hệ thống bằng lệnh:
sfc /scannow |
sfc / scannow