Trình cài setup.exe trong image cài Windows 10 có khá nhiều tham số dòng lệnh mà admin quan tâm để tự động hóa và quản lý nâng cấp build Windows 10 silent/unattended trên máy user dùng SCCM, MDT hoặc công cụ triển khai khác. Bài này chỉ cách dùng tham số setup.exe Windows 10 khi kiểm tra tương thích và nâng cấp lên build mới.
Các tùy chọn dòng lệnh Windows 10 Setup.exe
Để nâng cấp build Windows 10, dùng chương trình cài Windows setup.exe. Khi chạy, wizard đồ họa nâng cấp Windows 10 xuất hiện. Tuy nhiên, chương trình này có nhiều tham số dòng lệnh để tự động nâng cấp OS trên máy user. Cú pháp chung và tham số Setup.exe:
/1394Debug:<channel> [BaudRate:<baudrate>]
/AddBootMgrLast
/Auto {Clean | DataOnly | Upgrade}
/BitLocker {AlwaysSuspend | TryKeepActive | ForceKeepActive}
/BusParams:<bus.device.function>
/CompactOS {Enable / Disable}
/Compat {IgnoreWarning / ScanOnly}
/CopyLogs<location>
/Debug:<port> [BaudRate:<baudrate>]
/DiagnosticPrompt {enable | disable}
/DynamicUpdate {enable | disable}
/EMSPort: {COM1 | COM2 | off} [/emsbaudrate:<baudrate>]
/InstallDrivers<location>
/InstallFrom<path>
/InstallLangPacks<location>
/m:<folder_name>
/MigNEO Disable
/MigrateDrivers {all | none}
/NetDebug:hostip=<w.x.y.z>,port=<n>,key=<q.r.s.t>[,nodhcp][,busparams=n.o.p]
/NoReboot
/PKey<product key>
/Priority Normal
/PostOOBE<location> [\setupcomplete.cmd]
/PostRollback<location> [\setuprollback.cmd] [/postrollbackcontext {system / user}]
/Quiet
/ReflectDrivers<location>
/ResizeRecoveryPartition {Enable / Disable}
/ShowOOBE {full | none}
/Telemetry {Enable | Disable}
/TempDrive <drive_letter>
/Unattend:<answer_file>
/Uninstall {enable | disable}
/USBDebug:<hostname>
/WDSDiscover
/WDSServer:<servername>
Bạn có thể xem thông tin chi tiết tất cả tùy chọn setup.exe Windows 10 tại: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options
Tạo image ISO cài Windows 10 cập nhật
Để nâng cấp build Windows 10, phải có ISO cài với phiên bản Windows 10 mới nhất. Hiện tại là Windows 10 2004 (May 2020 Update).
Bạn tạo ISO với build Windows 10 hiện tại dùng Media Creation Tool.
- Tải Media Creation Tool (https://www.microsoft.com/en-us/software-download/windows10);
- Chạy MediaCreationTool2004.exe chọn Create installation media (USB flash drive, DVD, or ISO file) trong wizard;
- Chọn ngôn ngữ, phiên bản và kiến trúc image Windows 10 muốn tạo;
- Chọn ISO file và nhập tên file;
- Đợi Media Creation Tool tải image cài Windows 10 về ổ cục bộ.
Giải nén nội dung ISO lên file server.
Dùng kiểm tra tương thích Windows 10 trước nâng cấp build
Trước nâng cấp OS, kiểm tra xem Windows 10 có thể nâng cấp lên build trong ISO mới không. Chạy lệnh:
start /wait setup.exe /Auto Upgrade /Quiet /NoReboot /DynamicUpdate Disable /Compat ScanOnly
Tham số dùng:
- /Auto Upgrade – chế độ nâng cấp tự động
- /Quiet – ẩn cửa sổ wizard nâng cấp
- /NoReboot – tắt khởi động lại máy
- /DynamicUpdate Disable — không tải cập nhật mới qua Windows Update (tải sau tự động bằng wuauserv hoặc thủ công)
- /Compat ScanOnly – chỉ kiểm tra tương thích (không nâng cấp build).
Quét tương thích với build Windows 10 mới mất thời gian.
Theo dõi quá trình kiểm tra trong file C:\$Windows.~BT\Sources\Panther\setupact.log. Khi quét xong, thấy dòng:
Info MOUPG **************** SetupHost Logging End ****************
Xem kết quả phân tích tương thích trong C:\$Windows.~BT\Sources\Panther\setuperr.log. Tìm dòng cuối dạng:
CSetupHost::Execute(xxx): Result = xxxxxxxx
Đây là mã kết quả kiểm tra.
Cũng lấy mã lỗi kiểm tra tương thích từ command prompt:
echo %errorlevel%
Mã kết quả quét phải chuyển sang hex.
Ví dụ, setup.exe trả về -1047526896. Copy mã thập phân vào calculator chế độ programmer. Lấy giá trị từ hộp Hex, xóa tất cả F đầu và thêm 0x. Trong trường hợp tôi được 0xC1900210.
Các mã lỗi kiểm tra tương thích Windows 10 thường gặp:
- 0xC1900210 – không tìm thấy vấn đề;
- 0xC1900208 – tìm thấy vấn đề tương thích;
- 0xC1900204 và 0xC190010E – nâng cấp tự động không thể (sai edition hoặc kiến trúc Windows);
- 0xC1900200 – máy không đáp ứng yêu cầu phần cứng tối thiểu Windows 10;
- 0xC190020E – không đủ dung lượng ổ đĩa;
- 0xC1420127 – vấn đề khi unmount file WIM image.
Bạn có thông tin chi tiết tại sao không nâng cấp được build Windows 10 dùng tool setupdiag.exe.
Trong trường hợp tôi, setuperr.log có lỗi:
Error MOUPG CSetupHost::Execute(412): Result = 0xC1900208[gle=0x00000003]
Kiểm tra SetupDiagResults.log do SetupDiag tạo. Log cho thấy hai lý do ngăn nâng cấp build Windows 10:
- CompatBlockedApplicationAutoUninstall – tìm thấy app không tương thích, phải gỡ trước nâng cấp.
- FindAbruptDownlevelFailure – thông tin lỗi cuối khi ghi log bị ngắt đột ngột.
Matching Profile found: CompatBlockedApplicationAutoUninstall, FindAbruptDownlevelFailure - BEBA5BC6-6150-413E-8ACE-5E1EC8D34DD5, 55882B1A-DA3E-408A-9076-23B22A0472BD SetupDiag version: 1.6.0.0
Cuối cùng khuyến nghị gỡ McAfee antivirus trước nâng cấp.
Nếu có SCCM, bạn tập trung thu thập giá trị error level từ máy user với package và advertisement đơn giản lệnh: setup.exe /Compat ScanOnly
Tự động nâng cấp in-place Windows 10 từ command prompt
Nếu không tìm thấy vấn đề tương thích ngăn nâng cấp build, chạy nâng cấp trên máy bằng script dòng lệnh đơn giản. Tạo file BAT run_win10_upgrade.bat với code sau trong share mạng chứa ISO Windows 10 giải nén:
start /wait .\ W102004\Windows10x64-2004\setup.exe /auto upgrade /DynamicUpdate disable /showoobe None /Telemetry Disable
Chế độ /Auto:Upgrade giữ tất cả app và dữ liệu user sau nâng cấp. Cũng dùng /auto:data nếu chỉ giữ dữ liệu user.
Tham số /migratedrivers all ép migrate tất cả driver. Nếu không đặt, installer tự quyết định từng driver.
Bạn dùng thêm tùy chọn setup.exe khi nâng cấp Windows 10.
Từ Windows 10 1607, đặt tham số cài trong file Setupconfig.ini. File này đặt trong thư mục setup.exe với nội dung khớp lệnh trên:
[SetupConfig] NoReboot ShowOobe=None Telemetry=Disable DynamicUpdate=Disable
Chạy nâng cấp Windows 10 dùng file tham số:
Setup.exe /ConfigFile setupconfig.ini