在过去的 18 个小时里,我的 Windows 7 Pro 64 位机器已重新启动,以响应 Windows 更新应用补丁。
现在我发现当我尝试启动 VirtualBox 管理器(而不是管理器管理的实际虚拟机,我没有那么做)时,我收到消息“\.\GLOBALROOT\SystemRoot\System32.dll 不是设计用于在 Windows 上运行,或者它包含错误”
当我在 %systemroot%\System32\crypy32.dll 搜索此文件时,它不存在。
看来修补已经把这个文件抹掉了?
我按照重新安装 VirtualBox 的对话框中的建议进行了操作(包括我最初运行的版本以及后续的几个版本),但都没有任何帮助(实际上,我从后续版本中得到了不同的错误,但我宁愿解决这个问题,也不愿陷入其他 VirtualBox 错误)。
我如何才能最轻松地获取 crypt32.dll 的相关副本?我只有一个恢复分区,没有“原始安装媒体”。
编辑:@Bob 的建议很好。不幸的是,我之前尝试修复这个问题时似乎用尽了所有系统还原点。我提出了另一个问题,询问我有哪些选择:想要摆脱 KB3004394 但用完了我所有的还原点?。
编辑:以下是最近应用于该机器的更新:
答案1
看起来更新 KB3004394 在 Windows 7 中存在错误(在 Windows 8 中正常):
- https://www.virtualbox.org/ticket/13677
- https://forums.virtualbox.org/viewtopic.php?f=6&t=65056
- https://answers.microsoft.com/en-us/windows/forum/windows_7-windows_update/windows-update-kb3004394-issues/ace25277-7f65-4486-bc44-c1b106907a18
您可以通过卸载该更新来暂时解决此问题。
事实上,仅仅卸载更新可能还不够——你可能必须使用系统还原才能返回到更新之前的某个时间点(更新本身应该创建一个还原点,因此您可以使用它)。
答案2
安装此 KB 中的修复程序以解决更新 KB3004394 的问题:
安装 KB3024777 以修复 Windows 7 和 Windows Server 2008 R2 上的 KB3004394 问题 http://support2.microsoft.com/kb/3024777/en-us