使用Setup.exe命令行开关升级Windows 10 Build
Windows 10安装镜像中的" setup.exe"安装程序具有大量的命令行参数,管理员可能会对使用SCCM,MDT,或者其他部署工具。本文很好地展示了在兼容性检查和升级到最新Windows 10版本时如何使用Windows 10 setup.exe参数。
Windows 10 Setup.exe命令行选项
要升级Windows 10版本,请使用Windows安装程序" setup.exe"。运行它时,将出现一个图形化的Windows 10更新向导。但是,此程序具有大量命令行参数,可用于在用户计算机上自动进行OS升级。下面列出了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>
我们可以在文档页面上获取有关Windows 10的所有setup.exe命令行选项及其功能的详细信息:https://docs.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/windows-设置命令行选项
如何创建最新的Windows 10安装ISO镜像?
要升级Windows 10版本,我们必须获得具有最新Windows 10版本的安装ISO镜像。今天是Windows 10 2004(2017年5月更新)。
我们可以使用"媒体创建工具"使用当前的Windows 10版本创建ISO镜像。
- 下载"媒体创建工具"(https://www.microsoft.com/zh-cn/software-download/windows10);
- 运行MediaCreationTool2004.exe并在向导中指定要创建安装媒体(USB闪存驱动器,DVD或者ISO文件)。
- 选择要创建的Windows 10镜像的语言,版本和体系结构;
- 检查" ISO文件"并为其输入文件名;
- 等待Media Creation Tool将Windows 10安装镜像下载到本地驱动器。
将ISO镜像的内容提取到文件服务器。
在升级版本之前使用Windows 10兼容性检查
在计算机上升级操作系统之前,我们可以检查Windows 10是否可以升级到新ISO镜像所包含的版本。为此,请运行以下命令:
start /wait setup.exe /Auto Upgrade /Quiet /NoReboot /DynamicUpdate Disable /Compat ScanOnly
我们可以使用的参数:
/ Auto Upgrade
自动升级模式/ Quiet
隐藏升级向导对话框窗口
-/NoReboot禁用计算机重启/ DynamicUpdate Disable
设置不需要通过Windows Update下载最新更新(我们可以稍后使用wuauserv或者手动自动下载)- "/Compat ScanOnly"仅执行兼容性检查(不执行构建升级)。
扫描与新的Windows 10版本的兼容性将需要一些时间。
我们可以在文件C:$Windows。~BT\Sources\Panther\setupact.log中跟踪兼容性检查过程。如果扫描检查结束,我们将其中看到以下行:
Info MOUPG SetupHost Logging End
我们可以在C:$Windows。~BT\Sources\Panther\setuperr.log中查看兼容性分析结果。找到看起来像这样的最后一行:
CSetupHost::Execute(xxx): Result = xxxxxxxx
这是检查结果代码。
我们还可以在命令提示符下获取升级兼容性检查的错误代码:
echo %errorlevel%
扫描结果代码必须转换为十六进制格式。我们可以获取有关为什么无法使用setupdiag.exe工具升级Windows 10版本的详细信息。
例如,setup.exe命令已返回-1047526896. 在程序员模式下,将十进制代码复制并粘贴到计算器中。要获取十六进制错误代码,请从"十六进制"框中复制该值,删除开头的所有" F",然后添加" 0x"。就我而言,我得到的是" 0xC1900210"。
最典型的Windows 10兼容性检查错误代码为:
- 0xC1900210未发现问题;
- 0xC1900208发现兼容性问题;
- 0xC1900204和0xC190010E无法自动升级构建(Windows版本或者体系结构错误);
- 0xC1900200计算机不满足最低Windows 10硬件要求;
- 0xC190020E磁盘空间不足;
- 0xC1420127卸载镜像WIM文件时出现问题。
// Auto:Upgrade 模式会在升级后保留所有应用程序和用户数据。如果只想保留用户数据,也可以使用/ auto:data
模式。
就我而言,setuperr.log中存在以下错误:
Error MOUPG CSetupHost::Execute(412): Result = 0xC1900208[gle=0x00000003]
检查SetupDiag创建的SetupDiagResults.log。日志显示,有两个原因阻止我的计算机升级Windows 10版本:
- CompatBlockedApplicationAutoUninstall发现一个不兼容的应用程序,我必须在升级之前将其卸载。
- FindAbruptDownlevelFailure有关在将条目写入日志时突然中断的上一个错误的信息。
Matching Profile found: CompatBlockedApplicationAutoUninstall, FindAbruptDownlevelFailure - BEBA5BC6-6150-413E-8ACE-5E1EC8D34DD5, 55882B1A-DA3E-408A-9076-23B22A0472BD SetupDiag version: 1.6.0.0
最后,建议我们在升级之前先卸载McAfee防病毒软件:
You must uninstall "McAfee VirusScan Enterprise" before continuing with the installation/update.
如果我们有SCCM,则可以使用以下命令通过简单的软件包和AD从用户计算机集中收集错误级别状态的值:
setup.exe /Compat ScanOnly
如何从命令提示符自动执行Windows 10就地升级?
如果未发现任何阻止Windows 10内部版本升级的兼容性问题,则可以使用简单的命令行脚本在计算机上运行升级。在包含提取的Windows 10 ISO镜像的共享网络共享中,使用以下代码创建BAT文件run_win10_upgrade.bat
:
start /wait .\ W102004\Windows10x64-2004\setup.exe /auto upgrade /DynamicUpdate disable /showoobe None /Telemetry Disable
/ migratedrivers all参数用于强制迁移所有驱动程序。如果未设置该参数,则安装程序将自行对每个驱动程序做出决定。
升级Windows 10时,可以使用其他setup.exe选项。
从Windows 10 1607开始,我们可以在Setupconfig.ini
文件中设置安装参数。该文件必须放在setup.exe文件夹中,并包含与上面的命令匹配的文本,如下所示:
[SetupConfig] NoReboot ShowOobe=None Telemetry=Disable DynamicUpdate=Disable
要使用参数文件运行Windows 10升级,请使用以下命令:
Setup.exe /ConfigFile setupconfig.ini