Cập nhật Windows thường cài đặt tự động mà không gặp sự cố. Tuy nhiên, đôi khi quá trình nâng cấp bị lỗi do xung đột phần cứng, driver hoặc phần mềm. Việc tìm mã lỗi và khắc phục thủ công tốn nhiều thời gian. Microsoft đã phát hành SetupDiag.exe - công cụ chẩn đoán độc lập để xác định nguyên nhân gốc rễ của việc nâng cấp Windows 10 thất bại.

Cách thức hoạt động của SetupDiag
SetupDiag.exe yêu cầu .NET Framework 4 được cài đặt. Công cụ hoạt động bằng cách phân tích các file log của Windows Setup để tìm nguyên nhân lỗi nâng cấp. Bạn có thể chạy SetupDiag trên máy gặp sự cố hoặc xuất log ra máy khác để chạy ở chế độ ngoại tuyến (offline).
Khi Windows gặp tình huống đe dọa an toàn hệ thống, nó dừng lại - gọi là bug check (hay còn gọi là System crash, Kernel error, Stop error/BSOD). Nguyên nhân thường do thiết bị phần cứng, driver hoặc phần mềm liên quan.
Nếu bug check xảy ra trong quá trình nâng cấp, Windows Setup trích xuất file minidump setupmem.dmp.
Để gỡ lỗi bug check liên quan đến Setup:
- Chỉ định tham số
/Mode:Offlinevà/LogsPathđể thu thập file dump bộ nhớ (setupmem.dmp) từ máy bị lỗi. - Lưu ý: Không thể gỡ lỗi memory dump ở chế độ online.
File Setupmem.dmp nằm ở một trong hai vị trí tùy thời điểm lỗi xảy ra:
%SystemDrive%\$Windows.~bt\Sources\Rollback
%WinDir%\Panther\NewOS\Rollback
Sau đó, cài đặt Windows Debugging Tools trên máy chạy SetupDiag. Nếu chạy không tham số, công cụ sẽ tự tìm file log trong thư mục mặc định.
SetupDiag tạo file results.log trong thư mục chứa công cụ sau khi quét xong. Các vấn đề nâng cấp được phát hiện nhanh chóng trong log. Nó cũng tạo file nén Logs.zip chứa tất cả log đã xử lý.
Bạn cũng có thể chạy SetupDiag ở chế độ offline để phân tích thư mục log copy từ máy khác.
SetupDiag đã tích hợp sẵn trong Windows Setup (từ phiên bản 2004)
Từ Windows 10 phiên bản 2004 trở đi, SetupDiag được tích hợp sẵn trong Windows Setup. Khi nâng cấp, Windows Setup giải nén file nguồn vào %SystemDrive%\$Windows.~bt\Sources, trong đó có setupdiag.exe. Nếu nâng cấp thất bại, SetupDiag tự động chạy để tìm nguyên nhân với các tham số:
/ZipLogs:False
/Format:xml
/Output:%windir%\logs\SetupDiag\SetupDiagResults.xml
/RegPath:HKEY_LOCAL_MACHINE\SYSTEM\Setup\SetupDiag\Results
Kết quả phân tích nằm tại:
%WinDir%\Logs\SetupDiag\SetupDiagResults.xml
Và trong Registry:
HKLM\SYSTEM\Setup\SetupDiag\Results
- Nếu nâng cấp thành công, thư mục Sources (kể cả setupdiag.exe) được di chuyển vào
%SystemDrive%\Windows.Oldđể dọn dẹp. - Nếu thư mục Windows.old bị xóa sau đó, setupdiag.exe cũng bị xóa theo.
Để biết chi tiết cách sử dụng SetupDiag.exe, xem tài liệu Microsoft chính thức.