Đây là một vấn đề hơi kỳ lạ mà tôi đang chống chọi gần đây. Nếu bạn theo dõi các bài Windows gần đây của tôi, tôi gặp vấn đề với chức năng Windows Update (WU) trên laptop Lenovo Ideapad Y50-70 tương đối mới, điều này cần một system image hoàn toàn về trạng thái cũ, một bài học đáng giá của riêng nó. Tuy nhiên, điều này tự nó đặt ra một vấn đề lớn với combo UEFI, ATI và Windows 8.1, nhưng chúng ta đã vượt qua rào cản đó ổn thỏa.
Vài tuần sau sự cố đó, tôi nhận thấy laptop ồn ào, quạt CPU làm việc quá sức. Không phải không có lý do, vì processor chạy ở 13%, đại략 toàn bộ một logical thread, và đây là tiến trình svchost.exe cũng điều khiển dịch vụ WU. Tôi biết tôi đang đối mặt với cập nhật bị hỏng lại, và đúng vậy, Windows 8.1 không bao giờ hoàn thành tìm kiếm cập nhật, không يهم tôi để nó chạy bao lâu. Tôi quyết định tôi cần khắc phục điều này.
Vấn đề chi tiết hơn
Triệu chứng đơn giản – Windows 8.1 kiểm tra cập nhật, nhưng không bao giờ hoàn tất, và hệ thống bận chạy CPU cao. Điều này nghĩa là bạn không thể cài đặt cập nhật, và nếu bạn quan tâm đến chức năng này, bạn có vẻ bị mắc kẹt. Hoặc có thể lo lắng.
Đối với tôi, vấn đề biểu hiện vào lúc nào đó giữa chu kỳ cập nhật tháng 5/2016 và sự có sẵn của bản vá rollup gần đây. Tôi không cài driver mới kể từ đó, hoặc thêm phần cứng mới. Đoán của tôi là Windows Update thiếu một trong các bản vá, và vì nó không tìm thấy, nó bị kẹt trong vòng lặp. Với lý do kỳ lạ nào đó, trong một chu kỳ cập nhật, một mảnh dữ liệu quan trọng đã bị bỏ lỡ. Đó là giả định của tôi.
Không có lỗi rõ ràng trong log, trừ một – điều này không correlated với bất cứ gì bạn đối mặt, nhưng việc bạn đọc hướng dẫn này chỉ ra một số thông tin bắt được ở đây liên quan đến trường hợp của bạn.
Windows Store failed to sync machine licenses. Result code 0x80070002
Tôi tìm online ý nghĩa lỗi này, và nó là một rừng rú. Chúng ta sẽ cần đi qua gợi ý và tùy chọn chậm rãi, từng cái một. Tuy nhiên, nếu bạn tò mò, bạn có thể tham khảo danh sách mã lỗi WU, hoặc tìm entry cụ thể của bạn. Bạn sẽ có hàng trăm kết quả, và tất cả sẽ khác với của bạn, tất nhiên.
Giải pháp – không có thứ chính thức nào hoạt động
Đây có lẽ là phần hài hước nhất trong toàn bộ câu chuyện. Tôi lên mạng và bắt đầu đọc. Internet cho tôi nửa tá lead khác nhau – hầu hết là gợi ý và công cụ chính thức từ Microsoft – nhưng chúng không bao giờ khắc phục vấn đề của tôi. Cho sự hoàn chỉnh của hướng dẫn này, chúng ta sẽ nhắc đến tất cả, và sau đó thực sự tập trung vào điều duy nhất đã hoạt động. Lại nói, không phải về việc quay lại image trạng thái trước hoặc backup, mà là tìm ra vấn đề thực và giải quyết nó. Vì tôi không thể mất thời gian quay lại snapshot cũ chỉ để nó bị hỏng vài ngày sau.
Dùng Troubleshooter (Trình khắc phục sự cố)
Windows 7 trở lên đi kèm với một wizard troubleshooting gọn nhẹ, cho phép bạn thử sửa lỗi tự động. Đây là giải pháp tiện lợi cho người dùng kém kỹ thuật, và những ai không muốn đào sâu vào nội bộ hệ thống.
Troubleshooter tuyên bố đã tìm thấy và khắc phục lỗi – 0x80070490, khác với lỗi trong Event log. Nó cũng reset hoàn toàn lịch sử cập nhật, nhưng không sao, WU rebuild index khi cần. Nhưng điều này KHÔNG giải quyết vấn đề.
DISM
Công cụ tiếp theo tôi thử là Deployment Image Servicing and Management (DISM) Tool. Tiện ích handy này được thiết kế cho chuyên gia và quản trị hệ thống, và nó built-in vào Windows, nên bạn chỉ cần dùng nó. Hướng dẫn chính thức gợi ý lệnh sau:
C:\windows\system32>DISM.exe /Online /Cleanup-image /Restorehealth
Tôi để DISM chạy một lúc, và nó hoàn thành, tuyên bố đã sửa lỗi. Thực tế nó không.
C:\windows\system32>DISM.exe /Online /Cleanup-image /Restorehealth
Deployment Image Servicing and Management tool
Version: 6.3.9600.17031
Image Version: 6.3.9600.17031
[==========================100.0%==========================]
The restore operation completed successfully. The component
store corruption was repaired.
The operation completed successfully.
C:\windows\system32>
Fix Windows Update Errors wizard
Tôi cũng thử chạy công cụ chẩn đoán WU mới nhất, có sẵn khi bạn chạy qua interactive online wizard. Công cụ rất giống Troubleshooter, và nó thực sự chạy một lần thorough (kỹ lưỡng) hơn, và dường như tìm thấy thậm chí nhiều lỗi hơn. Lưu ý mã lỗi cứ thay đổi liên tục, cộng với tôi thỉnh thoảng cũng gặp 0x80244019 xuất hiện vài lần, nhưng điều này chỉ xảy ra vì dịch vụ WU bị dừng, và nó chỉ cần khởi động.
Tuy nhiên, dù có nhiều điều tốt đẹp được khắc phục bởi tiện ích chẩn đoán, không có điều nào làm khác biệt. WU vẫn bị kẹt, có hay không reboot giữa chừng, và CPU dao động ở mốc 12-13%.
Module PowerShell PSWindowsUpdate
Tôi thử module PSWindowsUpdate chính thức, được cho là lấy cập nhật qua Powershell, và xoay sở bất kỳ vấn đề cố hữu trong chức năng cốt lõi. Có vẻ như công cụ rất cool. Tôi làm theo hướng dẫn của Kapil Arya trong hướng dẫn thực tế của ông về lỗi WU, nhưng điều này thực sự không đưa tôi đến đâu. Cũng đáng lưu ý hướng dẫn tham chiếu đến một tập hợp vấn đề hơi khác.
Set ExecutionPolicy RemoteSigned
Import-Module PSWindowsUpdate
Get-WUInstall
Bản vá độc lập (Standalone patch) - KB3138615
Tôi thử bản vá WU độc lập KB3138615, và nó không có sẵn để tải trực tiếp, nên tôi phải qua Microsoft Update Catalog, điều này hoàn toàn ổn. Bản vá chạy và cài đặt, nhưng tôi vẫn không nhận được cập nhật nào.
Điều khác
Tôi cũng thử thay đổi cài đặt DEP – không có ý nghĩa thực sự, và giống như witchcraft (phép thuật) được lặp lại trong các bài online liên tục, và tất nhiên, nó không làm khác biệt, nhưng tôi muốn chắc chắn tôi extra thorough (kỹ lưỡng).
Điều duy nhất tôi KHÔNG làm là reset thủ công các thành phần WU. Đây là hành động dài và kéo dài, và có potential tốt để làm hỏng mọi thứ. Bên cạnh đó, tất cả các hành động này có thể được script, và chúng nên là một phần của Troubleshooter hoặc diag tools anyway, và tôi đoán chúng đã là như vậy. Vậy là không.
Giải pháp hoạt động: Autopatcher
Này nọ, tôi phải dùng công cụ unofficial để cố gắng khắc phục WU. Điều này khá radical, vì tôi không bình thường endorse (ủng hộ) và/hoặc tin vào tiện ích bên thứ ba cho quản trị hệ thống. Nhưng trong trường hợp này, tôi không có gì để mất, nên tôi quyết định thử. Kinh nghiệm của tôi với Autopatcher trước đó là lukewarm (nhiệt độ vừa), vì tôi thử dùng nó để xoay sở chức năng Windows 7 update chậm, trước khi tôi cuối cùng tìm thấy và test bản sửa chính thức được Microsoft phát hành vào hè 2016. Trước khi cool trở nên cool.
Tôi tải Autopatcher và để nó lấy tất cả Windows Update critical và non-critical, một khối 2.1 GB dữ liệu. Sau đó tôi test rằng tôi thực sự có thể cài một vài cái này, thử bản sửa Adobe Flash Player tháng 1 và vài cái khác. Hoạt động tốt, và các lần chạy sau, chúng thực sự bị loại khỏi danh sách hotfix có sẵn.
Điều khiến tôi ngạc nhiên là tôi có danh sách dài các bản sửa 2014-2015 cũ, mà Windows so-called không cài đặt, cần cài đặt hoặc thậm chí không quan tâm cung cấp. Tôi quyết định cài tất cả. Autopatcher hoàn thành hành động ổn thỏa. Sau reboot, chúng vẫn hiển thị, nên tôi đoán chúng bị superseded (thay thế) bởi các cập nhật khác, nhưng quan trọng hơn, Windows Update lại hoạt động! Bất cứ gì Autopatcher làm và cố gắng cài đặt chắc hẳn đã giải quyết vòng lặp đang ảnh hưởng hệ thống. Tôi đoán một hotfix thiếu cuối cùng được áp dụng, hoặc thư viện corrupt được thay thế, và dịch vụ có thể resume (tiếp tục) công việc bình thường. Nghe có vẻ ngu ngốc, nhưng thực sự cài tất cả thứ cũ đã giúp.
Hiệu ứng hệ thống khác
Kể từ khi tôi viết bài này – và ngay trước khi publish – chính xác cùng vấn đề với cùng triệu chứng xuất hiện trên Asus Vivobook của tôi. Do đó, tôi dùng cùng phương pháp, và khắc phục vấn đề đáng tin cậy với Autopatcher.
Phần hài hước là, vấn đề cứ quay lại – WU đơn giản ngừng tìm cập nhật hệ thống sau một thời gian. May mắn thay, nhiều lần, trên hai hệ thống hoàn toàn khác nhau, phần cứng khác nhau, vendor khác nhau, thậm chí software stack khác nhau, cùng vấn đề. Đây là vấn đề OS thuần túy. Đừng đổ mồ hôi và đừng tự trách mình. Dùng Autopatcher để sửa lỗi (glitch) và tiếp tục hoạt động bình thường. Đáng tin cậy, an toàn, test 10+ lần trong 5-6 tháng qua, rất tốt.
Kết luận
Tôi không tự hào về công việc tôi làm ở đây. Nhưng tôi thấy khá ngốc nghếch rằng không một công cụ chính thức nào thực sự làm điều gì hữu ích hoặc có ý nghĩa, và đó là một cách tiếp cận brute-force với phần mềm thứ ba mà cách đó giúp tôi vượt qua rào cản vòng lặp. Về vấn đề đó, cài lại hệ thống có thể khắc phục, nhưng tôi nghi ngờ. Cuối cùng, restore về image trước chỉ giúp tạm thời, và có điều gì đó khác làm hệ thống điên lên.
Tổng thể, tôi vẫn không nghĩ Autopatcher hoặc WSUS Offline là con đường, nhưng nếu bạn BẮT BUỘC, chúng có thể tốt hơn hệ thống không có cập nhật và/hoặc WU bị hỏng. Vẫn, chúng ta đã học được nhiều ở đây, bao gồm cách đối phó với các lỗi khác nhau, dùng một vài công cụ troubleshooting, một vài trick PowerShell, một vài điều vặt, và sau đó là cách sửa áp-dụng-tất-cả (apply-all fix) bất ngờ qua Autopatcher. Một cú twist bất ngờ trong cốt truyện.
Nếu bạn bao giờ gặp vấn đề tương tự, bắt đầu với điều đơn giản trước, và từ từ tiến về phía desperation (tuyệt vọng) và thay đổi lớn hơn. Công cụ chính thức, và nếu chúng không giúp, cân nhắc Autopatcher. Tôi hài lòng với kết quả, và nó cho tôi thêm tự tin dùng chương trình này, ngay cả khi nó làm điều nó không nên. Tôi nhờ nó cho tôi cập nhật, nhưng nó thực sự sửa Windows Update. Bạn thấy nghịch lý thơ mộng trong toàn bộ chuyện này không? Vấn đề là, với vấn đề Windows 7 và 8.1 chúng ta thấy trong vài năm qua, tôi thực sự hy vọng Microsoft tập trung hơn vào chức năng vital (sống còn) này. Dù sao, hy vọng hướng dẫn này giúp bạn khôi phục sự bình yên. Cuidado.
Chúc vui.