Đây không phải lần đầu tiên tôi gặp vấn đề sau trên Windows Server 2016 (2012 R2 hoặc 2008 R2): sau khi cài đặt update hoặc một số role/tính năng, server yêu cầu khởi động lại. Sau đó thông báo "Preparing to configure Windows. Do not turn off your computer" xuất hiện và server bị treo hàng giờ. Tuy nhiên, server vẫn truy cập được qua mạng, nhưng một số dịch vụ, bao gồm RDP, không khả dụng.
Mẹo đầu tiên khi vấn đề như vậy xuất hiện là không làm gì cả. Chỉ thử chờ cho đến khi update được cài đặt. Quá trình cập nhật thành phần Windows có thể mất nhiều thời gian, đặc biệt trên thiết bị cũ chậm, hoặc nếu bạn chưa cài đặt Windows update trong một thời gian dài. Nếu cài đặt update mất hơn 2 giờ, điều này không còn bình thường và bạn có thể thử giải quyết vấn đề theo bài viết này.
Nếu không có thời gian chờ, bạn có thể thử nhanh chóng giải quyết vấn đề bằng cách khởi động lại server/máy tính dùng hard reset. Bạn có thể reset server vật lý từ console HP ILO, Dell iDRAC (v.v.), hoặc từ console Hyper-V/vSphere, cho máy ảo. Tuy nhiên, điều này có thể ảnh hưởng tiêu cực đến Windows hoặc ứng dụng của bạn. Tốt hơn là dùng cách "mềm" hơn để reset host bị treo trong giai đoạn cài đặt update khi reboot.
Để khắc phục sự cố, bạn sẽ cần một máy tính Windows khác (hoặc server) nằm trong cùng mạng với host gặp sự cố. Chạy snap-in Services mmc (services.msc) trên nó và kết nối từ xa đến server bị treo (Action -> Connect to another computer -> chỉ định tên hoặc địa chỉ IP của server gặp sự cố).
Trong danh sách dịch vụ của server từ xa, dễ dàng tìm thấy Windows Modules Installer ở trạng thái Stopping. Rõ ràng, dịch vụ này đang ngăn Windows thực hiện reboot đúng cách.
Trên Windows 10, vấn đề này có thể gặp khi văn bản sau xuất hiện khi reboot "Shutting down service: Windows Modules Installer".
Bạn không thể kết thúc hoặc tạm dừng dịch vụ TrustedInstaller, vì các nút điều khiển service bị vô hiệu hóa. Trong thuộc tính dịch vụ, bạn có thể tìm thấy tên file thực thi: C:\Windows\servicing\TrustedInstaller.exe
Nhiệm vụ của chúng ta là buộc tiến trình này dừng lại. Cách dễ nhất là dùng phương pháp được mô tả trong bài viết How to Kill a Windows Service which is stuck at stopping? có nhớ rằng bạn sẽ phải làm tất cả các bước từ xa.
Mở command prompt trên bất kỳ máy tính nào trong cùng mạng, và chạy lệnh sau đối với server lon-man02 để dừng tiến trình TrustedInstaller.exe:
taskkill.exe /s lon-man01 /u corp\maxbak_adm /p Pa$$w0rdd! /im TrustedInstaller.exe
Trong ví dụ này, tôi chỉ định tên tài khoản admin (corp\maxbak_adm) và mật khẩu (Pa$$w0rdd!) để kết nối đến máy tính từ xa.
Bạn cũng có thể kill tiến trình từ xa bằng tiện ích Pskill từ bộ công cụ PSTools:
pskill.exe \\lon-man01 TrustedInstaller.exe
Hoặc PsExec:
psexec \\lon-man01 taskkill /IM TrustedInstaller.exe /F
Sau đó, thông báo Shutting down sẽ xuất hiện trên màn hình server bị treo, và sau vài giây nó nên reboot đúng cách.
Windows có thể bị treo ở giai đoạn preparing for configuring khi cài đặt thành phần hoặc update do vấn đề dịch vụ Windows Modules Installer không chỉ trên Windows Server mà còn trên phiên bản desktop (Windows 10 và Windows 8.1).
Nếu bạn gặp thông báo "Preparing to configure Windows. Do not turn off your computer" mỗi khi bạn restart hoặc tắt máy tính, bạn cần xóa cache Windows Update Service và chạy kiểm tra tính toàn vẹn trên Windows image.
Để xóa tất cả update trong cache Windows Update cục bộ, làm theo các bước sau:
- Dừng dịch vụ wuaserv và bits:
net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsv - Đổi tên thư mục SoftwareDistribution và catroot2:
Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak - Khởi động dịch vụ Windows update:
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc - Sau khi khởi động lại dịch vụ wuauserv sẽ tạo lại thư mục SoftwareDistribution và catroot2 và bắt đầu kiểm tra và tải update.
Bạn cũng có thể dùng script có sẵn ResetWUEng để reset thành phần Windows Update. Xem chi tiết bài viết tại link.
Kiểm tra tính toàn vẹn Windows image và sửa lỗi tìm thấy bằng DISM và SFC:
DISM.exe /Online /Cleanup-Image /Restorehealth
sfc /scannow
Nếu Windows không boot sau khi cài đặt update, bạn có thể gỡ cài đặt các update mới nhất bằng hình ảnh cài đặt hoặc qua Windows Recovery Environment.