想必 用户或多或少都遇到过更新安装失败或系统升级问题,遇到此类问题,大多数用户面对冷冰冰的错误代码都会无所适从。其实,微软针对 it pro 有提供一个专业的 升级问题诊断工具——setupdiag,通过该工具我们可以快速对 更新和升级过程中遇到的问题进行troubleshooting。
setupdiag 是微软提供的免费诊断工具,旨在帮助 it pro 查找和解析 安装日志,以确定升级或更新未能在 pc 上正常安装的根本原因。setupdiag 可以在更新安装失败的计算机上直接执行诊断,也可以将日志从一台 pc 导出到另一台计算机,并以脱机模式运行 setupdiag 进行分析。
使用 setupdiag 工具有 2 个必要的前提条件:
- 必需是使用 操作系统的设备
- 必须安装 .net framework 4.6
如果您不确定当前系统使用了哪个 .net framework 版本,可以在 cmd 中执行 reg query “hklm\software\microsoft\net framework setup\ndp\v4” /s 命令进行查看。
version 1803 马上就要发布,如果您遇到升级问题(乌鸦嘴 ),马上就可以使用它来进行诊断咯!
如何使用setupdiag诊断工具
在 microsoft yd77699云顶国际官网下载 setupdiag 工具之后就可以直接运行(联机模式),如果不带任何参数,它会自动尝试查找并检测 在升级过程中在设备默认文件夹中生成的升级日志文件。
命令执行完扫描后,会在 setupdiag.exe 工具的相同目录下生成一个名为 setupdiagresults.log 的结果文件,其中会包含在升级日志文件中检测到的升级问题。与此同时,还会在同一目录下创建一个所有日志文件的 logs.zip 打包存档。
中包含了有关 windows 在安装期间创建日志的信息。 如果要脱机模式使用 setupdiag,就需要将以下日志文件夹复制到脱机位置:
- -\$windows.~bt\sources\panther
- \$windows.~bt\sources\rollback
- \windows\panther
- \windows\panther\newos
如果您复制了父文件夹和所有子文件夹,setupdiag 将自动搜索所有子目录中的日志文件。
bug check分析
当 遇到危及操作系统安全(kernel mode)的情况时,系统将会主动暂停。这种情况被专称为「错误检查(bug check)」,通常也叫系统崩溃、内核错误、stop 错误或 bsod,其实就是蓝屏。。。(一般硬件驱动或相关软件会导致此错误)
如果你的系统,在蓝屏时就会主动创建崩溃转储文件。如果在 升级过程中发生 bug check,windows 安装程序会自动提取一个小型转储 setupmem.dmp 文件,而 setupdiag 工具也可以调试这些设置相关的 dump 文件。
要调试设置相关的 bug check 必须:
- 指定 /mode:offline 和 /logspath 参数,无法在联机模式下调试内存转储。
- 采集到 setupmem.dmp 内存转储文件。(位于 %systemdrive%$windows.~bt\sources\rollback 或 %windir%\panther\newos\rollback 文件夹,取决于 bug check 发生的时机)~
- 执行 setupdiag 的计算机中安装了
在以下示例中,已经将 setupmem.dmp 文件复制到 d:\dump 目录,并在运行 setupdiag 之前安装了 windows 调试工具:
setupdiag.exe /output:c:\setupdiag\dumpdebug.log /mode:offline /logspath:d:\dump
setupdiag工作原理
其实说白了 setupdiag 就是一个规则匹配工具,它可以自动通过微软定义的 26 个唯一标识符来查找 升级日志中的匹配项。对规则的依赖意味着 setupdiag 只能识别已经在其规则集中定义好的问题,微软已经在 网站上列出了共 26 个唯一标识符。
# 更多技巧,请关注「专题」