Bạn có thể sử dụng SFC ( Trình kiểm tra tệp hệ thống ) và DISM ( Quản lý và phục vụ hình ảnh triển khai ) các lệnh để kiểm tra và sửa chữa tính toàn vẹn của các tệp hệ thống và Cửa hàng Thành phần của hình ảnh Windows (Windows Server) của bạn. Những công cụ này có thể cực kỳ hữu ích nếu Windows của bạn không ổn định, không khởi động được, lỗi xuất hiện khi bạn cố chạy các ứng dụng hoặc dịch vụ tích hợp sẵn, sau khi bị nhiễm vi-rút, v.v.
Trong bài viết này, chúng ta sẽ xem xét cách sử dụng SFC /ScanNow
, DISM /Online /Cleanup-Image /RestoreHealth,
hoặc Repair-WindowsImage -Online -RestoreHealth
lệnh sửa chữa tệp hình ảnh và hệ thống trên Windows 10/11 và Windows Server 2022/2019/2016.
SFC / ScanNow:Sử dụng Trình kiểm tra tệp hệ thống để sửa tệp hệ thống Windows
Bạn nên sử dụng lệnh DISM để khôi phục Windows sau khi bạn đã kiểm tra tính toàn vẹn của các tệp hệ thống bằng công cụ SFC. sfc /scannow
Lệnh quét các tệp hệ thống được bảo vệ và nếu chúng bị thiếu hoặc bị hỏng, lệnh sẽ cố gắng khôi phục các phiên bản gốc của chúng trong Windows Component Store (thư mục C:\ Windows \ WinSxS).
%windir%\logs\cbs\cbs.log
. Tất cả các mục nhập SFC trong tệp CBS.log được gắn thẻ [SR] . Để chỉ chọn các mục liên quan đến SFC từ nhật ký, hãy chạy lệnh:
findstr /c:"[SR]" %windir%\Logs\CBS\CBS.log >"%userprofile%\Desktop\sfc.txt"
Nếu sfc /scannow
lệnh trả về lỗi “ Bảo vệ tài nguyên Windows đã tìm thấy tệp bị hỏng nhưng không thể sửa một số tệp “, Có khả năng là công cụ không thể lấy các tệp cần thiết từ Windows Component Store (xem hình ảnh bên dưới).
Trong trường hợp này, bạn có thể cố gắng sửa chữa kho lưu trữ thành phần của hình ảnh Windows của bạn bằng cách sử dụng DISM.exe
lệnh.
Sau khi sửa chữa Windows image, bạn có thể thử sử dụng SFC để khôi phục các tệp hệ thống của mình.
Kiểm tra tình trạng cửa hàng thành phần Windows bằng DISM
DISM /Cleanup-Image /CheckHealth
switch được sử dụng để quét hình ảnh Windows để tìm lỗi và sửa chúng. Các lệnh DISM phải được chạy từ dấu nhắc lệnh nâng cao.
Chạy lệnh sau để kiểm tra xem có bất kỳ cờ hỏng nào của Windows image Component Store (không áp dụng cho Windows 7 / Server 2008R2) hay không. Lệnh này kiểm tra cờ CBS được thiết lập bởi một trong các quy trình bảo trì hệ thống.
DISM /Online /Cleanup-Image /CheckHealth
Lệnh này không thực hiện quét toàn bộ Cửa hàng thành phần. Lệnh chỉ kiểm tra xem hình ảnh Windows của bạn có bị gắn cờ là bị hỏng hay không và nếu có thể sửa được. Không có thay đổi nào được thực hiện đối với hình ảnh.
Trong ví dụ này, lệnh đã trả về rằng hình ảnh Windows 10 không có lỗi:
No component store corruption detected. The operation completed successfully.
Để quét toàn bộ tình trạng của Windows Component Store, hãy chạy lệnh:
DISM /Online /Cleanup-Image /ScanHealth
Lệnh kiểm tra hình ảnh Windows có thể mất khá nhiều thời gian (10-30 phút). Và sẽ trả về một trong ba kết quả:
- Không phát hiện thấy lỗi cửa hàng thành phần nào - DISM không tìm thấy lỗi nào trong cửa hàng linh kiện;
- Cửa hàng linh kiện có thể sửa chữa được - DISM đã gặp lỗi trong Cửa hàng linh kiện và có thể sửa chúng;
- Cửa hàng linh kiện không thể sửa chữa được - DISM không thể sửa Windows Component Store (hãy thử sử dụng phiên bản DISM mới hơn, nếu không bạn sẽ phải khôi phục hình ảnh Windows từ bản sao lưu, đặt lại hoặc cài đặt lại hoàn toàn phiên bản Windows của mình).
Để sử dụng công tắc DISM / ScanHealth trên Windowds 7 và Windows Server 2008, bạn phải cài đặt KB2966583 cập nhật. Nếu không, bạn sẽ thấy thông báo:“ Lỗi 87. Tùy chọn ScanHealth không được nhận dạng trong ngữ cảnh này ”.
Trong một số trường hợp, DISM / ScanHealth trả về các lỗi sau:
- Lỗi DISM 1726 - “Cuộc gọi thủ tục từ xa không thành công”;
- Lỗi DISM 1910 - “Không tìm thấy trình xuất đối tượng đã chỉ định”.
Điều đó chắc chắn có nghĩa là hình ảnh Windows của bạn bị hỏng và cần được sửa chữa.
Sửa Windows Image bằng DISM / RestoreHealth
Để sửa lỗi trong Windows image Component Store, bạn phải sử dụng RestoreHealth tùy chọn của lệnh DISM. Tùy chọn này sẽ cho phép bạn sửa các lỗi được tìm thấy trong hình ảnh Windows, tự động tải xuống và thay thế các tệp của các thành phần bị hỏng hoặc bị thiếu bằng các phiên bản gốc của tệp từ Windows Update (máy tính của bạn phải có truy cập Internet trực tiếp). Chạy lệnh:
DISM /Online /Cleanup-Image /RestoreHealth
DISM.exe /Online /Cleanup-Image /ScanHealth
Quá trình quét và sửa chữa tại Linh Kiện Store có thể mất khá nhiều thời gian (30 phút trở lên). DISM sẽ tự động tải xuống và thay thế các tệp của các thành phần bị hỏng hoặc bị thiếu bằng các phiên bản tệp gốc từ máy chủ Windows Update.
Nếu sửa chữa thành công, thông báo sau sẽ xuất hiện:
The restore operation completed successfully.
DISM / RestoreHealth:Không tìm thấy tệp nguồn
Nếu máy tính (máy chủ) của bạn không có quyền truy cập Internet trực tiếp (nằm sau proxy hoặc đã sử dụng WSUS nội bộ để nhận bảo mật và xây dựng bản cập nhật) hoặc dịch vụ Windows Update bị vô hiệu hóa / bị hỏng (cách sửa máy khách Windows Update), thì các lỗi sau xuất hiện khi sửa chữa Cửa hàng linh kiện:
- 0x800f0906 - Không thể tải xuống tệp nguồn. Sử dụng tùy chọn nguồn để chỉ định vị trí của các tệp cần thiết để khôi phục tính năng;
- 0x800f0950 - DISM không thành công. Không có hoạt động nào được thực hiện;
- 0x800F081F - Không thể tìm thấy tệp nguồn. Sử dụng tùy chọn "Nguồn" để chỉ định vị trí của các tệp cần thiết để khôi phục tính năng.
Trong tất cả các trường hợp này, bạn có thể sử dụng các cách thay thế để lấy các tệp Nguồn Lưu trữ Thành phần. Nó có thể là:
- Đĩa cài đặt / ổ đĩa flash USB / hình ảnh ISO;
- Tệp wim / esd được gắn;
- Thư mục \ sources \ SxS từ đĩa cài đặt;
- Tệp install.wim (esd) với hình ảnh cài đặt Windows.
Bạn có thể chỉ định tệp WIM hoặc ESD với hình ảnh cài đặt gốc của Windows được sử dụng làm nguồn để sửa chữa tệp hệ thống. Giả sử, bạn đã gắn cài đặt Windows 11 ISO vào ổ đĩa ảo D: .
Lưu ý . Để sửa các tệp bị hỏng trong Cửa hàng Thành phần từ nguồn cục bộ, phiên bản và phiên bản Windows trong hình ảnh WIM / ESD phải khớp với phiên bản của hệ thống của bạn.Kiểm tra phiên bản Windows nào được cài đặt trên máy tính của bạn bằng lệnh PowerShell sau:
Get-ComputerInfo |select WindowsProductName,WindowsEditionId,WindowsVersion, OSDisplayVersion
Liệt kê các phiên bản Windows hiện có trong hình ảnh wim cài đặt:
Get-WindowsImage -ImagePath "D:\sources\install.wim"
Trong trường hợp của chúng tôi, hình ảnh Windows 11 Pro trong tệp install.wim có ImageIndex = 6
.
Để sửa chữa Cửa hàng thành phần từ tệp WIM / ESD cục bộ bằng tệp nguồn cục bộ (không sử dụng dịch vụ trực tuyến của Windows Update), hãy chạy lệnh sau (nhớ chỉ định chỉ mục phiên bản Windows trong tệp hình ảnh):
DISM /online /cleanup-image /restorehealth /source:WIM:D:\sources\install.wim:6 /limitaccess
hoặc:
DISM /online /cleanup-image /restorehealth /source:ESD:D:\sources\install.esd:6 /limitaccess
Các lỗi sau có thể xuất hiện khi chạy lệnh DISM / RestoreHealth:
- Lỗi:50:DISM không hỗ trợ phục vụ Windows PE với tùy chọn / Trực tuyến - điều này có nghĩa là DISM của bạn nghĩ rằng bạn đang sử dụng hình ảnh WinPE. Để khắc phục sự cố này, hãy xóa khóa đăng ký
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT
; - Lỗi DISM 87: đảm bảo rằng lệnh DISM được viết chính xác, đảm bảo rằng bạn đang sử dụng phiên bản DISM cho phiên bản Windows của mình (thường là khi khởi động trong WinPE / WinRE).
Bạn có thể tìm thấy nhật ký DISM quét và sửa các tệp hệ thống tại đây:C:\Windows\Logs\CBS.log
.
Sau khi sửa chữa xong kho thành phần, bạn có thể chạy công cụ kiểm tra tệp hệ thống (sfc /scannow
). Nhiều khả năng nó sẽ có thể khôi phục các tệp hệ thống bị hỏng hoặc bị thiếu ( Bảo vệ tài nguyên Windows đã tìm thấy các tệp bị hỏng và sửa chữa chúng thành công ).
Nếu SFC.exe không phát hiện thấy bất kỳ thiệt hại nào đối với các tệp hệ thống, một thông báo sẽ xuất hiện
Windows Resource Protection did not find any integrity violations.
Repair-WindowsImage:Sửa chữa Windows Image Component Store bằng PowerShell
Phiên bản PowerShell trong Windows 10/11 và Windows Server 2016/2019/2022 có một lệnh ghép ngắn tương tự như các lệnh DISM đã thảo luận ở trên. Để quét cửa hàng thành phần Windows và tìm bất kỳ lỗi nào, hãy chạy lệnh sau:
Repair-WindowsImage -Online –ScanHealth
Nếu không tìm thấy lỗi nào trong Cửa hàng thành phần, thông báo sau sẽ xuất hiện:
ImageHealth State: Healthy
Để sửa các tệp Windows Component Store, hãy chạy:
Repair-WindowsImage -Online -RestoreHealth
Nếu bạn không có quyền truy cập Internet trực tiếp, lệnh này có thể bị treo trong quá trình sửa hình ảnh. Bạn có thể khôi phục các thành phần hệ thống từ tệp ảnh Windows cục bộ (install.wim / install.esd) được sao chép từ ảnh ISO cài đặt Windows 10. Tại đây, bạn cũng cần chỉ định chỉ mục phiên bản Windows trong tệp wim làm nguồn khôi phục:
Repair-WindowsImage -Online -RestoreHealth -Source F:\sources\install.wim:5 -LimitAccess
Sử dụng DISM Ngoại tuyến để Sửa Hình ảnh Windows
Nếu Windows không khởi động đúng cách, bạn có thể sử dụng DISM để kiểm tra và sửa chữa các tệp hệ thống của hình ảnh Windows của bạn khi ngoại tuyến.
Nếu Windows không khởi động sau khi cài đặt các bản cập nhật, trước tiên hãy thử gỡ cài đặt các bản cập nhật mới nhất theo hướng dẫn.- Khởi động thiết bị của bạn từ hình ảnh cài đặt Windows (bạn có thể sử dụng Media Creation Tool để tạo thẻ USB khởi động Windows) và nhấn
Shift + F10
trên màn hình cài đặt Windows ban đầu; - Để kiểm tra các ký tự ổ đĩa được gán trong WinPE, hãy chạy lệnh
diskpart
->list vol
(trong ví dụ của tôi, ký tự ổ đĩa C:\ được gán cho đĩa, trên đó Windows được cài đặt, và tôi sẽ sử dụng nó trong các lệnh tiếp theo); - Kiểm tra các tệp hệ thống và sửa các tệp bị hỏng bằng lệnh:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
- Để sửa hình ảnh Windows ngoại tuyến, hãy sử dụng lệnh sau (Tôi đang sử dụng tệp WIM có hình ảnh cài đặt Windows 10 mà từ đó máy tính được khởi động làm nguồn để khôi phục hình ảnh Windows ngoại tuyến của tôi):
Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim
- Nếu không có đủ dung lượng trống trên đĩa đích, bạn sẽ cần một ổ đĩa riêng, e. g., F:\, trên đó bạn sẽ tạo một thư mục trống
mkdir F:\scratch
. Thực hiện sửa chữa kho lưu trữ thành phần bằng cách sử dụng dir xước với lệnh:Dism /image:C:\ /Cleanup-Image /RestoreHealth /Source:D:\sources\install.wim /ScratchDir:F:\scratch
-
DISM /Add-Package
–Cài đặt tệp cập nhật MSU / CAB, tích hợp các bản cập nhật bảo mật vào hình ảnh Windows của bạn; -
DISM /Get-Drivers
- lấy danh sách các trình điều khiển đã cài đặt; -
DISM /Add-Driver
- đưa trình điều khiển vào hình ảnh cài đặt Windows; -
DISM /Add-Capability
- cài đặt các tính năng bổ sung của Windows thông qua Tính năng theo yêu cầu (FoD). Ví dụ:RSAT, máy chủ OpenSSH hoặc máy khách Windows SSH); -
DISM /Enable-Features
và/Disable-Features
- bật và tắt các thành phần Windows (ví dụ:giao thức SMBv1); -
Dism.exe /StartComponentCleanup
- dọn dẹp Kho lưu trữ Thành phần và xóa các phiên bản thành phần cũ (từ thư mục WinSxS); -
Dism /set-edition
- nâng cấp từ bản đánh giá lên phiên bản Windows đầy đủ mà không cần cài đặt lại.