解决 WinPE 和任务序列问题
下面介绍一些常见的 WinPE 和任务序列问题以及有关如何解决这些问题的信息。
WinPE 从不开始执行任务序列
检查位于 X:\windows\temp\smstslog\smsts.log 的 SMSTS.LOG 文件。如果从未下载过包,则可能是未安装适当的网络驱动程序,使得服务器无法与 Configuration Manager 进行通信。
检查驱动程序目录以确保引导映像中装有正确的网络驱动程序,然后将引导映像更新到分发点。
引导映像中可能需要其他网络或存储驱动程序以使 WinPE 可正常引导。通过 Operating System Deployment(操作系统部署)节点中的 Drivers(驱动程序)添加这些驱动程序。
已将正确的驱动程序添加到引导映像,但未加载这些驱动程序
在安装 Configuration Manager 时创建的原始 boot.wim 文件(WinPE 引导映像)经过复制,并用 Lenovo 特有的驱动程序和其他文件进行了修改。使用 Lenovo Deployment Pack 的任务序列必须使用此引导映像,否则各种工具可能无法正常工作。
通过检查,确保将驱动程序加载到的映像与任务序列使用的为同一映像。
此错误对于维护多个引导映像的管理员比较常见。
服务器将无法使用 PXE 进行引导
PXE 是 DHCP 的一种扩展,它使用广播式通信。广播式通信使用不轻易更改的标准超时值。因此,计算机等待缺省的一段时间以接收 DHCP 或 PXE 响应,然后超时并导致失败情况。
每次重新引导服务器时,服务器必须重新协商与交换机的连接。某些网络交换机在运抵时仅配置了默认设置,可能引起连接延迟。即交换机上的设置可能导致 DHCP 或 PXE 超时,因为这些设置未能及时协商连接。
可受此问题影响的其中一项功能是生成树协议(STP)。STP 是一种在网络中阻止形成环路并提供冗余的协议。使用此算法的联网设备由于收集有关其他网络设备的信息,因此可能遇到某些延迟情况。在此期间,服务器可能引导至 PXE 并在等待从 Windows 部署服务收到响应时超时。在目标服务器的末端节点端口上禁用 STP 或启用 PortFast 可防止发生此类情况。有关进一步信息,请参阅制造商的用户指南。
可受此问题影响的另一项功能是以太通道或端口聚合协议(PAgP)。通过以太通道,设备之间的多个链路可聚合为一个快速链路,在这些链路之间分担负载。以自动方式运行以太通道协议最长可导致 15 秒的连接延迟。要消除该延迟,请切换至手动方式或关闭此功能。
速度和双工协商也有可能促成协商超时。如果将交换机上的自动协商设置为关闭,并且未将服务器配置为该速度和双工设置,则交换机将不与该服务器进行协商。
缺省引导顺序使 PXE 在存在有效驱动器时无法引导
在硬盘驱动器上创建活动分区后,如果已安装有效的操作系统,则该分区自动变为可引导设备。如果 PXE NIC 在引导顺序中处于该硬盘驱动器之后,则该硬盘驱动器尝试在 PXE 之前进行引导并引导至 Windows,如果未安装 Windows,则产生 Invalid System Partition(系统分区无效)错误。
要解决此问题,请确保 PXE 在引导顺序中处于该硬盘驱动器之前。请记住,即使 PXE 在引导顺序中处于第一位,计算机也并不真正引导至 PXE,除非 Configuration Manager 具有任务序列供其运行。
任务序列失败,错误原因是 Failed to Download Policy(未能下载策略),错误代码为 0x80093102 或 0x80004005
此错误代码一般指的是证书验证问题。
CryptDecryptMessage (&DecryptParams, pbEncrypted, nEncryptedSize, 0, &nPlainSize, 0 ), HRESULT=80093102
no cert available for policy decoding(无证书可供策略进行解码)
- 域或站点服务器配置有误,如 DNS 未指向该站点服务器,或该站点服务器未指定有效的 FQDN(由 DNS 列表引用)。
如果站点服务器未指定 FQDN(仅指定 NETBIOS 名称),而 DNS 服务器引用该 FQDN,则查找失败可能导致此错误。
- 用于 PXE 和引导介质的证书。
检查 Site Settings(站点设置)节点下的证书,并查看是否阻止或缺少任何证书。打开这些证书,确保其真正装入证书存储区。否则,请安装这些证书。
如果这些操作不起作用,则通过 Manage Distribution Points(管理分发点)从分发点中删除该包,然后再次添加该包以重新生成该包的散列值。
任务序列失败,错误原因是 Failed to Download Policy(未能下载策略),错误代码为 0x80004005
此错误代码一般指的是证书验证问题。
SMSTS.LOG
failed to download policy(未能下载策略)
检查 Site Settings(站点设置)节点下的证书以查L看是否阻止或缺少任何证书。打开这些证书以确保这些证书装入证书存储区。否则,请安装这些证书。
任务序列因未下载包而失败
在 WinPE 中,缺省选项 Download content locally when needed by running task sequence(需要时通过运行任务序列本地下载内容)不起作用。在 WinPE 中时,任务序列引擎忽略(并无法通过)所有为此选项设置了包的操作。
将需要在 WinPE 中使用的所有包设置为 Access content directly from a distribution point when needed by the running task sequence(需要时通过运行任务序列从分发点直接访问内容)。
清除 PXE 播发后,任务序列无法再次运行
必须将播发设置为 Always rerun(始终重新运行),以使无论任何时候重置 PXE 播发,都将播发应用于计算机,无论它以前是否运行过任务序列都是如此。
升级后任务序列失败或运行有误
从本产品的低版本升级时,并不自动更新使用定制操作的现有任务序列。
要正常运行,请在编辑器中打开每个使用定制操作的任务序列操作。向说明添加一个“.”再删除它以启用 Apply(应用)按钮。单击 Apply(应用)以刷新该定制操作的属性,然后保存在新版本中正常运行所需的任何新自动数据或格式。
未从客户端返回文件和日志
有许多问题可使任务序列无法从客户端返回文件或日志。
- 复制文件之前未执行客户端脚本,这一点在日志文件中通常显而易见。
如果选中了 Enable command support(启用命令支持)的复选框,则重复该任务,并在任务期间按 F8 以进入命令提示符。
页面上然后打开 SMSTS.LOG 文件。该位置各异。在通过 PXE 运行的 WinPE 中,该位置在 X:\Windows\Temp\Smstslog\smsts.log。
- Lenovo Deployment Pack 配置文件中的 XML 格式不正确。根据原始格式更正该 XML 文件。
- 所运行的命令有错误,但退出代码为 0。
将脚本设置为忽略错误并使用程序式错误处理后,在脚本中遇到严重错误时可能会发生这种情况。错误处理未捕获同一错误。
向 Lenovo 支持站点报告此类问题,如获取帮助和技术协助所述。
- 任务序列无法访问作为复制文件或日志的目标驱动器的共享或映射驱动器。确保已连接网络,并且访问共享所需的用户标识和密码正确无误。
返回了日志,但未返回输出文件
有许多问题可使任务序列可返回日志文件但无法返回输出文件。
- 配置 XML 中未指定返回文件参数。
- 配置 XML 中的返回文件参数不正确。
- 实用程序执行生成输出文件的操作时出错。
- 变量为 null 导致要返回的文件的文件名中有错。
更改配置 XML 文件后任务步骤不自动更改
如果更改配置 XML 文件,则以前存在的任务步骤不自动更改,除非编辑这些步骤。
要修复现有任务步骤,请打开任务序列编辑器,然后对序列中的每个定制操作步骤作出少许编辑。例如,可向说明添加一个句点,然后删除它以启用 Apply(应用)按钮。单击 Apply(应用)。任务序列步骤现在与从新 XML 文件自动更新的信息一并保存。
任务序列在 Apply Operating System(应用操作系统)处失败,并显示 Failed to make volume X: bootable(未能使 X: 卷可引导)
MakeVolumeBootable( pszVolume ),
HRESULT=80004005
(e:\nts_sms_fre\sms\client\osdeployment\applyos\installcommon.cpp,759)
Failed to make volume E:\ bootable.
Please ensure that you have set an active partition on the boot
disk before installing the operating system.
Unspecified error (Error: 80004005; Source: Windows)
ConfigureBootVolume(targetVolume),
HRESULT=80004005
(e:\nts_sms_fre\sms\client\osdeployment\applyos\applyos.cpp,326)
Process completed with exit code 2147500037
(MakeVolumeBootable(pszVolume),
HRESULT=80004005
(e:\nts_sms_fre\sms\client\osdeployment\applyos\installcommon.cpp,759)
未能使 E:\ 卷可引导。
请确保在引导磁盘上设置活动分区,
然后再安装操作系统。
未指定的错误(错误:80004005;来源:Windows)
ConfigureBootVolume(targetVolume),
HRESULT=80004005
(e:\nts_sms_fre\sms\client\osdeployment\applyos\applyos.cpp,326)
进程完成,退出代码为 2147500037)
有许多问题可导致此错误。
- 如果在任务序列中使用 Format & Partition(格式化和分区)操作为硬盘驱动器分区,则确保在其中一个分区上选中 Make this the boot partition(使此分区成为引导分区)的复选框。
如果未使驱动器可引导,并且计算机只有这一个驱动器,则任务序列引擎自动使其中一个分区成为引导分区。但是,如果有多个驱动器,则任务序列引擎无法确定哪个驱动器应可引导,因此您看到此错误。
- 如果从 Configuration Manager RTM 升级到 SP1,并且两个硬盘驱动器均为全新,则可能有问题。如果没有为这些驱动器分区,则 Windows PE 中的一个已知错误使 Windows PE 无法确定其引导驱动器,因此您看到此错误。
这种情况如同在配备 RAID 控制器的服务器上,刚刚组成了两个或更多 RAID 磁盘组。新 RAID 磁盘组为全新,因为它们以前从未存在。
对多个全新驱动器产生的问题只有一个变通方法,即手动引导至 Windows PE,然后运行 diskpart 为至少一个驱动器分区。然后,再次运行任务序列。任务序列现在应正常运行。
Windows Vista SP1 中修复了 Windows PE 的这个已知问题,因此从 Vista SP1 派生的 Windows PE 中也修复了此问题。
- 如何判断引导映像是否升级到 Vista SP1
- 引导映像属性包含 OS Version(操作系统版本)的标识符。执行以下过程以查看引导映像中的 WinPE 版本:
- 单击 。
- 右键单击引导映像,然后选择 Properties(属性)。
- 单击 Images(映像)。
- 检查 OS Version(操作系统版本)属性的值是否为 6.0.6001.18000 或更高。
- 如果引导映像未升级到 Vista SP1 怎么办
- 可使用 Windows AIK 手动重新创建引导映像,然后按照 Microsoft System Center – 如何将引导映像添加到 Configuration Manager 中列出的步骤进行操作。如果 Configuration Manager 进程允许,则您可能会发现,使用管理控制台删除旧引导映像包,删除目录中的文件,然后重新运行 SP1 升级安装的过程更简便。
OSD\boot
- 如何判断 WAIK 是否升级到 Vista SP1
- 单击 Regedit 命令。 ;然后运行
- 导航到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ComponentStudio。
- 此项下只应有一项,而它以 Windows AIK 版本号命名。注只能安装 Windows AIK 的一个版本。但是,卸载操作可能未能删除该注册表项。
在此类情况下,版本号最高的注册表项应为正确的版本号。
- 如果 Windows AIK 未升级到 Vista SP1 怎么办
- Configuration Manager 应在升级到 Configuration Manager SP1 期间自动升级 Windows AIK 版本。如果未进行该升级,则尝试手动卸载 Windows AIK,然后重新运行 Configuration Manager SP1 升级。
要下载 Windows AIK,请参阅 Microsoft System Center – 适用于 Windows Vista SP1 和 Windows Server 2008 的自动安装工具包(AIK)页面。
系统环境变量未携至任务序列中的下一操作
当任务序列运行时,在命令 shell 中运行命令。当任务结束时,命令 shell 环境也会结束,这样导致丢失在任务中定义的任何系统变量。
要在任务之间传递变量,请将变量设置为 Task Sequence variables(任务序列变量)、Collection variables(集合变量)或 Machine variables(计算机变量)。