<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/1953.htm</link>
<title><![CDATA[HOWTO: 使用 Windows 10 安装程序 Setup.exe 执行升级验证]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Client]]></category>
<pubDate>Fri, 05 Jul 2019 07:46:41 +0000</pubDate> 
<guid>https://maytide.net/read.php/1953.htm</guid> 
<description>
<![CDATA[ 
	<p><img src="http://goxia.maytide.net/attachment.php?fid=49"></p><p><font color="#fd3f0d" size="4"><strong>HOWTO: 使用 Windows 10 安装程序 Setup.exe 执行升级验证</strong></font></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 当我们要在 Windows 7 或 Windows 8.1 系统环境上升级安装 Windows 10 时，可能会因为现有系统环境的一些兼容性问题，导致升级安装失败，这会耗费很多的时间和精力。所以，建议先使用 Windows 10 的安装程序 - Setup.exe 执行升级验证，以便在未正式升级安装 Windows 10 前进行评估，并对发生的错误进行分析和排错。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Setup.exe 位于 Windows 10 安装源根目录下，我们可以附加一系列的命令参数执行升级验证，为此请执行如下指令：</p><p><strong>setup.exe /auto upgrade /quiet /noreboot /dynamicupdate disable <font style="background-color: rgb(255, 255, 0);">/compat scanonly</font></strong></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其中 upgrade 表示以就地升级的方式来执行 Windows 10 安装；而 scanonly 则表示 Windows 安装程序通过兼容性扫描运行，然后退出并带有退出代码，以指示是否存在兼容性问题。如果返回的退出代码是 0xC1900210，则表示没有发现兼容性问题；如果发现兼容性问题将返回 0XC1900208，或其他代码。</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 那么我们该如何获取退出代码呢？！最为简单的办法就是编写一个批处理脚本，执行升级验证命令行，然后输出退出代码，如下图所示：</p><p><a href="http://goxia.maytide.net/ftpup/2018/33805dce695e_D33F/echo_errorlevel.jpg"><img width="630" height="175" title="echo_errorlevel" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="echo_errorlevel" src="http://goxia.maytide.net/ftpup/2018/33805dce695e_D33F/echo_errorlevel_thumb.jpg" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在本例中，执行升级验证后得到的退出代码是“<strong><font style="background-color: rgb(255, 255, 0);">-1047526896</font></strong>”，其代表“<strong><font style="background-color: rgb(255, 255, 0);">0xC1900210</font></strong>”。如果得到的是其他异常代码则需要进行分析和排错，所以建议使用如下的命令行收集日志，当然我们也可以直接查找相关目录下产生的日志文件进行分析。</p><p><strong>setup.exe /auto upgrade /quiet /noreboot /dynamicupdate disable /compat scanonly <font style="background-color: rgb(255, 255, 0);">/copylogs c:setuplog</font></strong></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 命令执行完成后会在指定的目录收集相关日志，我们便可以做进一步的分析，有关如何分析日志的方法将在下次与大家分享。</p><p><a href="http://goxia.maytide.net/ftpup/2018/33805dce695e_D33F/Setup_Compat_Scanonly.jpg"><img width="630" height="475" title="Setup_Compat_Scanonly" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="Setup_Compat_Scanonly" src="http://goxia.maytide.net/ftpup/2018/33805dce695e_D33F/Setup_Compat_Scanonly_thumb.jpg" border="0"></a></p><p>Windows 10 Setup.exe 命令参数：<a href="https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options">https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options</a></p><p>本文参考了 Michael Niehaus 的文章：“<a href="https://blogs.technet.microsoft.com/mniehaus/2015/08/23/windows-10-pre-upgrade-validation-using-setup-exe/" target="_blank">Windows 10 Pre-Upgrade Validation using SETUP.EXE</a>”</p>
]]>
</description>
</item>
</channel>
</rss>