运行 Sysprep /generalize 时,尝试 Sysprep 计算机错误时发生严重错误

本文解决了无法使用 选项在 Windows 7 /generalize 中运行系统准备工具 (Sysprep) 的问题。

适用于:Windows 7 Service Pack 1,Windows Server 2012 R2
原始 KB 编号: 929828

症状

尝试在 Windows 7 中运行 Sysprep 并使用 /generalize 选项时,可能会收到以下错误消息:

尝试对计算机进行 Sysprep 时发生严重错误。

Setuperr.log 文件可能包含如下所示的行:

Error [0x0f0082] SYSPRP LaunchDll: Failure occurred while executing 'C:\Windows\System32\slc.dll, SLReArmWindows', returned error code -1073425657  
Error [0x0f0070] SYSPRP RunExternalDlls: An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = -1073425657  
Error [0x0f00a8] SYSPRP WinMain: Hit failure while processing sysprep generalize providers; hr = 0xc004d307

注意

Setuperr.log文件位于 \Windows\System32\Sysprep\Panther 文件夹中。

原因

如果 Windows 软件许可重排程序在单个 Windows 映像中运行了三次以上,则可能会出现此错误。

解决方案

若要解决此问题,必须重新生成 Windows 映像。

解决方法

若要解决此问题,请使用 <XML 应答文件中的 SkipRearm> 设置 (Unattend.xml) 在生成 Windows 映像时跳过 Rearm 过程。

以下文本是适用于 Windows 7 的 XML 应答文件的示例:

<settings pass="generalize">
    <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <SkipRearm>1</SkipRearm>
    </component>
</settings>

注意

必须确保 <从用于在生产环境中部署计算机的最终无人参与文件中删除 SkipRearm> 设置。 如果未 <从用于在生产环境中部署计算机的无人参与文件中删除 SkipRearm> ,则添加到网络的新客户端的 KMS 当前客户端计数不会增加。

有关 Microsoft-Windows-Security-Licensing-SLC 组件的标记的详细信息 skipRearm ,请参阅 SkipRearm

有关 Microsoft-Windows-Security-SPP 组件标记的详细信息 skipRearm ,请参阅 Microsoft-Windows-Security-SPP

更多信息

Windows 软件许可重排计划将 Windows 系统还原到原始许可状态。 与激活相关的所有许可和注册表数据都将被删除或重置。 此外,将重置任何宽限期计时器。

若要在 Windows 7 中运行 Rearm 进程,请使用以下方法之一:

  • 在用于生成自定义 Windows 映像的计算机上运行 Sysprep /generalize
  • 在提升的命令提示符窗口中运行 Slmgr.vbs 脚本。 例如,运行 cscript c:\windows\system32\slmgr.vbs -rearm

注意

需要管理凭据才能运行 Rearm 过程。 在 Windows 映像中,Rearm 进程最多可以运行三次。

数据收集

如果需要 Microsoft 支持方面的帮助,建议按照使用 TSS 针对与部署相关的问题收集信息中所述的步骤收集信息。