这开始于尝试通过 VMWare vCenter 部署虚拟机时出现的问题 - 之前它们运行正常,但在我应用了一些 Windows 更新后,它们就不再正常工作了......我最终将问题缩小到 sysprep,特别是当我告诉它以无人值守的方式加入域时。它 10 次中有 9 次会失败,我无法弄清楚具体是什么导致它失败/成功。如果我删除 Microsoft-Windows-UnattendedJoin 部分,它似乎可以正常工作(不过有点违背了无人值守加入的目的 :-) )。以下是相关的日志和 sysprep.xml 条目。我试过这个热修复来自 MS,我已经确定有没有孤立的 ProfileList 注册表项, 我试过了将 XML 放置在 c:\windows\system32\sysprep\unattend.xml 中,根据 DHCP 日志是获取租约,并且对机器进行 wireshark 检测表明它在崩溃之前正在与域控制器进行通信(对其机器名称进行单个 ldap 查询)...我不知道还要检查什么 :( 有什么想法吗?
C:\Windows\Panther\UnattendGC\setuperr.log
2010-10-20 09:17:49,错误 [windeploy.exe] Setup.exe 失败,返回退出代码 [0x1f]
2010-10-20 09:17:49,错误 [windeploy.exe] 在线安装时发生故障。在线安装目前无法完成。;hr = 0x80004005
C:\Windows\Panther\UnattendGC\setupact.log
2010-08-03 23:25:07,信息 [windeploy.exe] ------------------------------------------------
2010-08-03 23:25:07,信息 [windeploy.exe] WinDeploy.exe 已通过命令行 [] 启动...
2010-08-03 23:25:07,信息 [windeploy.exe] 安装程序尚未完成,添加待处理的重新启动。
2010-08-03 23:25:07,信息 [windeploy.exe] 发现泛化状态 [0x4],setup.exe 完成标志 [False] --> 启动 setup.exe。
2010-08-03 23:25:07,信息 [windeploy.exe] 正在启动 [C:\Windows\system32\oobe\setup.exe]...
2010-08-03 23:26:29,信息 [windeploy.exe] 进程退出,退出代码为 [0x0]
2010-08-03 23:26:29,信息 [windeploy.exe] 找到完成标志 [True],请求重新启动标志 [True] --> 在继续部署之前重新启动计算机...
2010-08-03 23:26:29,信息 [windeploy.exe] 确保 SystemSetupInProgress 已清除。
2010-08-03 23:26:29,信息 [windeploy.exe] 请求/需要立即重启或关机...正在重启/关闭计算机
2010-08-03 23:26:29,信息 [windeploy.exe] 正在将注册表刷新到磁盘...
2010-08-03 23:26:30,信息 [windeploy.exe] 刷新耗时 1110 毫秒。
2010-08-03 23:26:30,信息 [windeploy.exe] WinDeploy.exe 退出代码为 [0x0]
2010-08-03 23:27:11,信息 [windeploy.exe] ------------------------------------------------
2010-08-03 23:27:11,信息 [windeploy.exe] WinDeploy.exe 通过命令行 [] 启动...
2010-08-03 23:27:11,信息 [windeploy.exe] 确保 SystemSetupInProgress 已清除。
2010-08-03 23:27:12,信息 [windeploy.exe] 未找到无人值守文件。
2010-08-03 23:27:13,信息 [windeploy.exe] WinSAT 评估失败,错误 80040154
2010-08-03 23:27:13,信息 [windeploy.exe] 正在启动 [C:\Windows\system32\oobe\oobeldr.exe /system]...
2010-08-03 23:27:13,信息 [oobeldr.exe] OOBELdr.exe 已通过命令行启动 [/system]...
2010-08-03 23:27:13,信息 [oobeldr.exe] OrchestrateUpdateImageState: 正在更新映像状态,从 [IMAGE_STATE_SPECIALIZE_RESEAL_TO_OOBE] --> [IMAGE_STATE_UNDEPLOYABLE]
2010-08-03 23:27:13,信息 [oobeldr.exe] 正在解析命令行参数...
2010-08-03 23:27:13,信息 [oobeldr.exe] 解析以下命令行:[/system]
2010-08-03 23:27:13,信息 [oobeldr.exe] 无人参与传递的状态 [oobeSystem] = 0x0
2010-08-03 23:27:13,信息 [oobeldr.exe] 未找到用于 oobeSystem 传递的无人参与文件;跳过传递。2010-08-03
23:27:13,信息 [oobeldr.exe] 没有为 oobeSystem 无人参与请求重新启动。2010-08-03
23:27:13,信息 [oobeldr.exe] 成功运行 oobeSystem 传递。
2010-08-03 23:27:13,信息 [oobeldr.exe] 正在启动 [C:\Windows\system32\oobe\msoobe.exe]...
2010-08-03 23:27:13,信息 [msoobe.exe] 正在启动服务 sppsvc
2010-08-03 23:27:14,信息 [msoobe.exe] 服务 sppsvc 报告正在运行
2010-08-03 23:27:14,信息 [msoobe.exe] 已成功创建第一个启动注册表项
2010-08-03 23:27:14,信息 [msoobe.exe] 服务器,退出...
2010-08-03 23:27:14,信息 [msoobe.exe] 正在运行强制任务
2010-08-03 23:27:14,信息[msoobe.exe] 直接在 MandatoryTasks 中执行后台工作;eType=1
2010-08-03 23:27:15,信息 [msoobe.exe] 成功安装产品密钥
2010-08-03 23:27:15,信息 [msoobe.exe] 启动服务 netprofm
2010-08-03 23:27:16,信息 [msoobe.exe] 服务 netprofm 报告正在运行
2010-08-03 23:27:16,信息 [msoobe.exe] 成功发出事件信号以启动服务
2010-08-03 23:27:16,信息 [msoobe.exe] 直接在 MandatoryTasks 中执行后台工作; eType=0
2010-08-03 23:27:16,信息 [msoobe.exe] 正在启动服务计划
2010-08-03 23:27:18,信息 [msoobe.exe] 服务计划已在运行
2010-08-03 23:27:18,信息 [msoobe.exe] 已成功验证并提交 UI 语言设置
2010-08-03 23:27:25,信息 [msoobe.exe] 已成功通知 UI 语言更改
2010-08-03 23:27:25,信息 [msoobe.exe] 已成功安装 Windows 恢复环境
2010-08-03 23:27:26,信息 [msoobe.exe] 已成功删除管理员配置文件
2010-08-03 23:27:26,信息 [msoobe.exe] 正在退出强制任务... [0x00000000]
2010-08-03 23:27:26,信息 [msoobe.exe] 清理后台工作
2010-08-03 23:27:26,信息 [oobeldr.exe] OrchestrateUpdateImageState:正在更新图像状态从 [IMAGE_STATE_UNDEPLOYABLE] --> [IMAGE_STATE_COMPLETE]
2010-08-03 23:27:26,信息 [oobeldr.exe] OOBELdr.exe 退出,代码为 [0x0]...
2010-08-03 23:27:26,信息 [windeploy.exe] 进程退出,退出代码为 [0x0]
2010-08-03 23:27:26,信息 [0x090008] PANTHR CBlackboard::Open:C:\Windows\Panther\SetupInfo 成功。
2010-08-03 23:27:26,信息 [0x090009] PANTHR CBlackboard::Close: c:\windows\panther\setupinfo。2010-08-03
23:27:26,信息 [windeploy.exe] WinDeploy.exe 退出代码 [0x0]
2010-10-20 09:15:35,信息 [windeploy.exe] ------------------------------------------------
2010-10-20 09:15:35,信息 [windeploy.exe] WinDeploy.exe 通过命令行 [] 启动... 2010-10-20
09:15:35,信息 [windeploy.exe] 安装尚未完成,添加待处理的重启。
2010-10-20 09:15:35,信息 [windeploy.exe] 发现泛化状态 [0x4],setup.exe 完成标志 [False] --> 启动 setup.exe。
2010-10-20 09:15:35,信息 [windeploy.exe] 启动 [C:\Windows\system32\oobe\setup.exe]...
2010-10-20 09:17:00,信息 [windeploy.exe] ------------------------------------------------
2010-10-20 09:17:00,信息 [windeploy.exe] WinDeploy.exe 使用命令行启动 []...
2010-10-20 09:17:00,信息 [windeploy.exe] 安装程序尚未完成,添加待处理的重新启动。
2010-10-20 09:17:00,信息 [windeploy.exe] 发现通用状态 [0x4],setup.exe 完成标志 [False] --> 启动 setup.exe。2010-10-20
09:17:00,信息 [windeploy.exe] 启动 [C:\Windows\system32\oobe\setup.exe]...
2010-10-20 09:17:49,信息 [windeploy.exe] 进程退出,退出代码为 [0x1f]
2010-10-20 09:17:49,错误 [windeploy.exe] Setup.exe 失败,返回退出代码 [0x1f]
2010-10-20 09:17:49,错误 [windeploy.exe] 在线安装时发生故障。在线安装此时无法完成。; hr = 0x80004005
2010-10-20 09:17:49,信息 [windeploy.exe] 将注册表刷新到磁盘...
2010-10-20 09:17:51,信息 [windeploy.exe] 刷新耗时 1938 毫秒。2010-10-20
09:17:51,信息 [windeploy.exe] WinDeploy.exe 退出,代码为 [0x80004005]
C:\sysprep\Sysprep.xml
<?xml version="1.0" encoding="utf-8"?
>
<unattend xmlns="urn:schemas-microsoft-com:unattend"
>
<settings pass="generalize"
>
<component name="Microsoft-Windows-PnpSysprep" 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"
>
<PersistAllDeviceInstalls
>true </PersistAllDeviceInstalls
>
</component
>
</settings
>
<settings pass="oobeSystem"
>
<component name="Microsoft-Windows-Shell-Setup" 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"
>
<OOBE
>
<SkipUserOOBE
>true </SkipUserOOBE
>
<SkipMachineOOBE
>true </SkipMachineOOBE
>
<ProtectYourPC
>1 </ProtectYourPC
>
<NetworkLocation
>Work </NetworkLocation
> >
<HideWirelessSetupInOOBE
true > > > > > >EncryptedPassword > >false > > > > > > > > ComputerName > >false > >OrgName > >OrgName > >false > >东部标准时间> > > > > > UnencryptedPass > >unattendjoiner > >domain.com > > >domain.com > >true > > > > > > >C:\sysprep\guestcustutil.exe cleanBootExecute > >1 > > > >C:\sysprep\guestcustutil.exe flagComplete > >2 > > > >C:\sysprep\guestcustutil.exe deleteContainingFolder > >3 > > > > > > </HideWirelessSetupInOOBE
<HideEULAPage
</HideEULAPage
</OOBE
<UserAccounts
<AdministratorPassword
<Value
</Value
<PlainText
</PlainText
</AdministratorPassword
</UserAccounts
</component
</settings
<settings pass="specialize"
<component name="Microsoft-Windows-Shell-Setup" 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"
<ComputerName
</ComputerName
<CopyProfile
</CopyProfile
<RegisteredOrganization
</RegisteredOrganization
<RegisteredOwner
</RegisteredOwner
<ShowWindowsLive
</ShowWindowsLive
<TimeZone
</TimeZone
</component
<component name="Microsoft-Windows-UnattendedJoin" 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"
<Identification
<Credentials
<Password
</Password
<Username
</Username
<Domain
</Domain
</Credentials
<JoinDomain
</JoinDomain
<DebugJoin
</DebugJoin
</Identification
</component
<component name="Microsoft-Windows-Deployment" 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"
<RunSynchronous
<RunSynchronousCommand wcm:action="add"
<Path
</Path
<Order
</Order
</RunSynchronousCommand
<RunSynchronousCommand wcm:action="add"
<Path
</Path
<Order
</Order
</RunSynchronousCommand
<RunSynchronousCommand wcm:action="add"
<Path
</Path
<Order
</Order
</RunSynchronousCommand
</RunSynchronous
</component
</settings
</unattend
答案1
仍需要进行更多测试,但到目前为止,我认为我已经找到了解决方案。在我们的 VMWare 集群配置中,我们已打开客户机监控 - 这会在客户机 VM 工具和主机之间启用心跳。如果它们没有响应,它将重新启动客户机。由于 VM 已打开但在 sysprep 期间未运行 vmware 工具服务,因此客户机似乎没有运行,因此它将重新启动它。将其转变为不太激进的监控设置(高->低)后,它似乎让 sysprep 继续正常运行 :-) 这解释了为什么它从未在 sysprep 上发生一致故障,因为从未发生过故障的 sysprep...如果我再次遇到此问题,我会重新提出这个问题..但现在看来问题已经解决。