我在 VMWare Workstation 中运行了一台 Windows 7 虚拟机。每次我重新启动时,都会配置和安装 Windows 更新,启动过程失败,最后系统尝试自动修复但失败了。手动“高级”修复选项似乎也无法通过初始阶段。
我尝试删除C:\Windows\winsxs\pending.xml
和C:\Windows\winsxs\reboot.xml
,但更新在重启时仍会安装。这似乎意味着文件已经安装,所以我尝试卸载最近安装的几个更新。具体来说,我卸载了下面显示的列表中的前 4 个非 .NET 更新(如图所示)。我想我可以继续随机地一次卸载这些更新,直到我的计算机成功重启,但这是一个非常缓慢的过程。
在 Windows 更新设置窗口中我没有看到任何取消或隐藏待处理更新的选项;当我右键单击更新(无论是待处理、成功还是失败)时,唯一的选项是查看详细信息或复制详细信息。
我不确定是什么导致 Windows 无法启动并尝试自动修复过程,但它可能与 Windows Embedded Standard 2009 工具包及其相关更新(迄今为止发布的所有 12 月汇总,以及 IE8 组件)有关。也可能无关;我不太确定如何判断,但这几乎是我在机器上安装的唯一东西。我想这也可能是 VMWare Workstation 的问题。
我尝试运行自动修复程序这里,但表示未发现任何问题。
我也尝试了 Itai 和 Moab 的建议这里,无济于事;gpedit
修复并没有改变重启行为,并且如前所述,我没有看到任何“隐藏”这些更新的选项(并且在任何情况下我相信有问题的文件已经安装)。
....有什么想法吗?待处理的更新可以回滚吗?有没有办法找出哪个更新导致启动过程失败,假设它是一个更新?
编辑
这阻止我克隆虚拟机,而这对于我的团队目前来说极其有帮助。
编辑2
我发现我可以通过简单地复制机器的所有文件来“模仿”克隆。这可能不那么强大,也不那么方便,但可以满足我团队的迫切需求。
答案1
首先,您应该sfc /scannow
在 WinPE 中尝试。如果 Windows 更新导致问题,此方法可能不起作用,因此请继续阅读下文以查看 Windows 修复的替代步骤。
找到您的 Windows 7 光盘并启动它。进入 Windows 安装菜单中的 WinPE 控制台,在您的文件夹中搜索未决的.xml 文件C:\Windows\WinSxS
。如果存在,请尝试重命名此文件。不要删除它,否则您的计算机可能无法使用。
然后在命令行中输入sfc /scannow
。如果仍然失败,您可能需要改用以下语法:SFC /SCANNOW /OFFBOOTDIR=C:\ /OFFWINDIR=C:\Windows
此命令可能会运行很长时间,并会生成 CBS.log 文件。如果扫描持续时间超过 12 小时,您可能需要使用 CTRL+C 停止扫描,但这不会损害您的 Windows 安装。
如果启动失败,请重新启动到 WinPE 并将未决.xml 文件重命名为原始文件名。如果完成所有这些操作后重新启动仍不起作用,则可能需要就地升级 Windows。有关更多信息,请参阅下文:
如何修复 sfc /scannow 发现的损坏文件?“Windows 资源保护发现损坏的文件,但无法修复其中一些文件。”