
Windows Update là con dao hai lưỡi: cần thiết để vá bảo mật, nhưng khi nó kẹt thì rất khó chịu - máy đứng ở "Working on updates 30%" hàng giờ, hoặc tải về rồi báo lỗi và tự hoàn tác. Đa số Quý khách nghĩ do mạng yếu, nhưng thực tế nguyên nhân phổ biến nhất là bộ nhớ đệm cập nhật (SoftwareDistribution) bị hỏng hoặc file hệ thống lỗi. Bài này VNIT hướng dẫn cách sửa theo đúng gốc rễ.
Phân biệt các kiểu lỗi và nguyên nhân
1. Kẹt ở một phần trăm cố định
Dấu hiệu: đứng ở 0%, 30%, 91%... nhiều giờ, ổ cứng không hoạt động. Nguyên nhân thường là gói cập nhật tải về bị lỗi dở dang nằm trong thư mục SoftwareDistribution.
2. Báo mã lỗi 0x8024xxxx
Dấu hiệu: cửa sổ Update hiện mã như 0x80240034, 0x8024402c. Đây là nhóm lỗi liên quan dịch vụ cập nhật hoặc kết nối tới máy chủ Microsoft.
3. Báo mã 0x800f0xxx
Dấu hiệu: mã dạng 0x800f0922, 0x800f0831 - thường do file thành phần Windows bị hỏng, cần DISM sửa.
4. Cài xong lại tự gỡ (Undoing changes)
Dấu hiệu: cập nhật chạy tới gần xong rồi báo "Undoing changes". Hay do thiếu dung lượng ổ C hoặc driver xung đột.
Các bước xử lý theo thứ tự
Bước 1: Chạy công cụ khắc phục sẵn có
Vào Settings > Update & Security > Troubleshoot > Additional troubleshooters > Windows Update (Windows 11: Settings > System > Troubleshoot). Công cụ này tự dừng dịch vụ, xóa cache và khởi động lại. Nhiều trường hợp nhẹ được giải quyết ngay đây.
Bước 2: Kiểm tra dung lượng ổ C
Windows Update cần ít nhất vài GB trống. Nếu ổ C gần đầy, dùng Disk Cleanup (gõ trong Start), tick cả Windows Update Cleanup và Temporary files để dọn.
Bước 3: Reset bộ nhớ đệm cập nhật (cách hiệu quả nhất)
Mở Command Prompt bằng quyền Admin và chạy lần lượt các lệnh sau. Bốn lệnh đầu dừng dịch vụ, hai lệnh giữa đổi tên thư mục cache để Windows tạo mới, hai lệnh cuối bật lại dịch vụ:
net stop wuauservnet stop cryptSvcnet stop bitsnet stop msiserverren C:\Windows\SoftwareDistribution SoftwareDistribution.oldren C:\Windows\System32\catroot2 catroot2.oldnet start wuauservnet start cryptSvcnet start bitsnet start msiserver
Sau đó khởi động lại máy và thử cập nhật lại. Việc đổi tên SoftwareDistribution và catroot2 buộc Windows tải lại toàn bộ gói và chữ ký cập nhật mới sạch sẽ - đây là thao tác giải quyết đa số ca kẹt.
Bước 4: Sửa file hệ thống bằng DISM và SFC
Nếu vẫn lỗi (nhất là nhóm 0x800f), chạy tiếp:
DISM /Online /Cleanup-Image /RestoreHealthsfc /scannow
DISM sửa kho thành phần Windows, còn sfc sửa các file hệ thống. Chạy DISM trước rồi mới sfc.
Bước 5: Cài thủ công bản cập nhật lỗi
Nếu chỉ một bản KB nhất định cứ lỗi, Quý khách ghi lại mã KB (ví dụ KB5031354), lên Microsoft Update Catalog tải đúng gói cho máy (32/64-bit) và cài tay.
Bảng tra nhanh
| Triệu chứng | Nguyên nhân | Cách xử lý |
|---|---|---|
| Kẹt ở một % nhiều giờ | Cache tải về hỏng | Reset SoftwareDistribution + catroot2 |
| Mã 0x8024xxxx | Dịch vụ Update lỗi | Chạy troubleshooter, reset dịch vụ |
| Mã 0x800f0xxx | File thành phần hỏng | DISM RestoreHealth + sfc /scannow |
| "Undoing changes" | Thiếu dung lượng / driver | Dọn ổ C, gỡ driver xung đột |
| Một bản KB luôn lỗi | Gói lỗi riêng | Tải KB từ Update Catalog cài tay |
Khi nào nên mang tới VNIT
Quý khách nên nhờ VNIT khi: đã reset cache và chạy DISM/sfc mà vẫn lỗi; máy báo lỗi ngay cả sau khi cài tay bản KB; cập nhật gây ra màn hình xanh hoặc mất khởi động; hoặc Windows đã cũ, hỏng nặng nên cài lại sạch sẽ sẽ nhanh và an toàn hơn. Cập nhật kẹt kéo dài đôi khi là dấu hiệu ổ cứng bắt đầu yếu (ghi/đọc lỗi), cần kiểm tra sức khỏe ổ.
VNIT nhận sửa lỗi Windows Update, cài lại Windows bản quyền chuẩn, giữ nguyên dữ liệu và cài đặt lại phần mềm cho Quý khách. Tham khảo dịch vụ cài đặt Windows hoặc sửa máy tính. VNIT ưu tiên sửa để giữ máy chạy ổn định lâu dài, không chỉ vá tạm.